| 19 | | * Scalable option would to provide an XMPP client (e.g. to [http://www.process-one.net/en/ejabberd/ ejabberd] server) |
| 20 | | * http://stackoverflow.com/questions/1081634/which-is-the-most-mature-python-xmpp-library-for-a-gchat-client |
| 21 | | * http://twistedmatrix.com/trac/wiki/TwistedWords |
| 22 | | * http://wokkel.ik.nu |
| 23 | | * https://github.com/Jajcus/pyxmpp2 |
| 24 | | * http://xmpppy.sourceforge.net (unmaintained) |
| | 36 | * Scalable option would to provide an XMPP client (e.g. to a Jabber server) |
| | 37 | |
| | 38 | === Server === |
| | 39 | * [http://www.process-one.net/en/ejabberd/ ejabberd] |
| | 40 | * [http://www.igniterealtime.org/projects/openfire/ OpenFire] |
| | 41 | |
| | 42 | === Client === |
| | 43 | * http://candy-chat.github.io/candy/ |
| | 44 | * Needs updating to work with current jQuery/UI |
| | 45 | * Add Authentication: Users are who they say they are & are only allowed into the correct rooms. |
| | 46 | * Add Notifications hook. |
| | 47 | * Add Offline Users. |
| | 48 | * Pull-in profile pictures. |
| | 49 | * Add "User is typing" |
| | 50 | * Add Recent Messages at Top |
| | 51 | * http://stackoverflow.com/questions/1081634/which-is-the-most-mature-python-xmpp-library-for-a-gchat-client |
| | 52 | * http://twistedmatrix.com/trac/wiki/TwistedWords |
| | 53 | * http://wokkel.ik.nu |
| | 54 | * https://github.com/Jajcus/pyxmpp2 |
| | 55 | * http://xmpppy.sourceforge.net (unmaintained) |
| | 56 | |
| | 57 | === VoIP === |
| | 58 | Assuming single-user: |
| | 59 | * http://mumble.sourceforge.net |
| | 60 | * Flash client included in http://frug.github.io/AJAX-Chat/ |