Client Implementations: o Desktop app o Cross-platform, using Qt GUI o Fully free and open source o Will support (MP)OTR o Makes a GUI for virtually every feature o Scripting support through Perl o May have inline Markdown rendering and composition o Could define "IRCdown", Markdown derivative that transates bold into control characters, supports mirc colors, etc o Android app o Fully free and open source (made for f-droid and google play) o Will support (MP)OTR o Notifications and inline pictures o iOS app o Chromium app/extension o Open-source and free as Chrom(e|ium) allows o Chat in popped-out window, in browser, or from extension button popup o Detects if a currently open URL matches the set URL of a channel, and will prompt to join the channel o Web app o Uses socket.io for support of very many browsers o Provides embeddable widgets and chat frames for websites o Dynamic and responsive for size o Customize colors and tab position Notes: Registration of a channel also registers all subchannels (#channel.*) Subchannels and their parent channel all share access levels A user will not get op when joining a subchannel without access in the parent channel Joining a subchannel when the parent channel doesn't exist will forward the user to the would-be parent C mode chanconfigs may be set multiple times (e.g. multiple trivia packs, multiple mail receivers) unless boolean or otherwise The IRCd itself sets modes anonymously, using the nickname "IRC" Logging bot works like the GNU `more` command, when reading logs, asks every 15 lines "Continue? y/n" Adding access is mask-based, you can give access to someone that isn't even registered to services. Referring to a nick, if the nick is identified, automatically makes reference to "$R:their_account" If they are BTC verified, and not identified, it references "$B:1TheirBitcoinAddress" Referring to *nick (asterisk, then nickname) translates to "$R:their_account", if the nick is owned by their_account. Channel name is errounous if it contains: $ ! > < = , If/when we have an SMS service, we may be able to become an SMS reseller, since IRC is an easy protocol to develop for. SMS users show up as |sms|xxxxxxxxxxx, and |sms|* is qlined only for use by the SMS service. For consumers, eventually services may not cost anything. For consumers, having a conversation over SMS will require the receiver to accept the messages (one-time prompt, yes or no) Output for services commands support pipes, " | grep "pattern"", only grep is supported for now Bots should set SWHOIS to pastebins/hawkees/sites for help Might allow subsets of unicode (those that work on many fonts, etc) in nicknames