1. Connection Engine - TCP/IP, UDP / direct/Socks4/5 proxy / HTTP, IRC access

2. Contact list - list contact names, types (ICQ, AIM, etc), online availability, groups.

3. Standard Multiline Input - font typeface, size, color selection (can be disabled by plugin),
Send, cancel buttons. Ctrl-Enter for send. Character count.

4. Easy translation - all strings in resources (see ATnotes for editor style);

5. Looks -
   - normal   - ICQ like contact list with "menu" buttons on top and status indication on bottom.
   - Vfloater - only online contacts, no menu, status only in systray, menu optionally by
                | contact1    |
                | contact2    |
                | contact3    |
   - Hfloater - same as Vfloater but horizontal placement
                | contact1    | contact2     | contact3   |

6. Separate os-dependent and os-independent layers. Probably use VXCL for windowing (it seems to
   be portable between Win/XWin??)

7. Multichat clients:
   IMsg clients:
      Opera                    2mb
      ICQ2000b                   5mb
      Odigo                    5mb
      AIM                        3mb
      Yahoo! Messenger   2mb
      MSN Messenger              1mb

8. IRC - each IRC contact has server name, port, channel name plus user specific settings
       such as preferred nicks etc.

9. Coz mirabilis cannot store fruitful of info for misc clients, there should be a contact list
   server. Passwords are not stored on server.

10. Contact {
       name           what is displayed in CL
       type           contact type (ICQ, AIM, Y!M, MSN, IRC, ...)
       detail         pointer to type-specific record
       id             internal record id useful for DB syncronization

SourceForge Logo