LAG (LAG Ain't GAIM)
Please visit our SourceForge project summary page
Currently we're working on designing the core module and all associated
interfaces, data structures, and external APIs. We've decided to base the core
on glib on account of it's portability and extensive set of utilities. The core
will communicate with external, possibly platform dependent, modules:
- User Interface - Everything the user interacts with. These will most
likely be platform dependent (Win32, Cocoa) but also a few independent (GTK,
Curses). Hopefully the Win32 and Cocoa modules will be more aesthetic than GTK
under Windows and OSX. We've also tossed around the idea of having a Python
UI module that will load a Python program and provide bindings. Also a network
transparent UI module so you can connect to LAG remotely if you like that sort
of thing.
- Protocol - These will handle the specifics of each chat protocol. These will
all be platform independent and probably just wrappers for LGPLed libraries like
libyahoo2.
- Network - These will handle any differences between network APIs on
different platforms. Network modules can also call other network modules, so you
can load a proxy module or ssh tunneling module or something even more
creative.
Future module interfaces may include:
- Encryption - Handles secure conversations over insecure networks.
- Scripting - Interfaces for Python, Perl, Scheme, etc.
- Audio/Video IO - Voice and webcam stuff.