I would like to write an IRC client that allows for the hosting of online meetings via IRC. This is commonly done by small organizations such as user groups and special interest groups.
When held in meatspace these meetings proceed using a system (or a subset of the system) known as "Roberts Rules
of Order" (http://www.robertsrules.com/). This is the scheme where one person serves as a chairperson and recognizes others to speak, takes votes, and generally controls the flow of the meeting in an organized manner. A similar system is used in the US Congress and many other govenrnment entities where many people are gathered for discussion.
IRC provides several options that would work with a Roberts Rules client, such as channel topics, operators (+o) and voice status (+v). Unruly users can be ejected from the meeting using kick+ban functions. Votes can be conducted in public in the main channel, or in private using IRC private messaging. Meeting minutes can be kept with a simple channel log, which can be annotated by the secretary.
The Roberts Rules client could be run by everyone to provide the richest interface, or just by the chairman. The client would be useful because the Roberts Rules can be complicated or hard to remember under some conditions and the client could remind the chairman how to proceed.
Users not using the client would see the activity taking place in the channel, where actions would be used to describe what was taking place (e.g., 'Chairman recognizes User2 for 5 minutes' 'Chairman sets User2 mode +v'). Users not using the client would be able to ask to be recognized via a simple text interface via private message or DCC, very much like common Eggdrop bot scripts or file servers.
The application would allow people unskilled in the use of IRC to conduct meetings using the familar Roberts Rules of Order with a simple, friendly interface. This would allow them to quickly take care of business without much of the off topic chat or breakins that often occur in IRC channels. The client could be used in channels where no users had op status simply by ignoring users who spoke out of turn (and posting a message to the channel reminding them that they are out of turn).