Saje

Saje is an open source, modular application platform, written in Qt c++. At the time of writing it includes a fully functional but minimal Jabber client. I've started the project for several reasons. Mostly, I just want to continue developing open source software without being restricted to a particular operating system.

I have learned a lot from my Miranda development, and this project is intended to leverage that knowledge. Its design goals are fundamentally different from Miranda however. For one thing, I think the definition of a 'large' program continues to change for the better, and so I'm willing to take a hit for the benefits offered by the Qt libraries (which include among other things proper unicode support, built in translation, skinning and scripting). I've been using Qt a lot for work lately and I'm very impressed with the quality, stability, and clarity of the libraries and API. A second and probably more important difference is that I'm hoping to expand the project beyond instant messaging.

The core program is just a plugin loader - all functionality is implemented in plugin modules. I found with Miranda that this helps increase the longevity of software, which can tend to become 'spagetti-like' internally over time. Programs written in a monolithic fashion are much harder to maintain and expand. Modules with well defined interfaces make the sofware much cleaner and prevent developers from 'cheating'. But unlike the way Miranda is structured, I intent to keep all functionality in plugins wherever possible, rather than building commonly used functionality into the core executable.

I have only just started the project, and am hoping I can find time and other developers out there interested in working on it. Please take some time to check it out.