The QTJim Project
by Manolis Perakakis
Network & Telecommunication Division
Dept. of Electronics & Computer Engineering
Technical University Of Crete
[ Up ]
[ QTJim Home | QTE requirements | Download | Manual ]
[Nov 24 2002] : QtJim is currently discontinued in favor of sister project Cutejim
[May 2 2002] : The first public beta release (version 0.3.9) is ready for download!
About QTJim Project :
QTJim (pronounced as Cute Jim) stands for QT Jabber Instant Messenger and it is (will be) a cute client for the powerful open source jabber IM protocol. Jabber is not just another IM system like icq, aim, etc. It is a platform based on open standards (XML) which integrates support for every other IM system through a so-called transport mechanism, which allows to easily extend Jabber's functionality in amazing ways.
QTJim uses QT, an open source GUI toolkit by TrollTech, used by KDE Desktop Environment one of the 2 most popular Linux desktop environments. QT has been ported to Windows platform and recently to embedded devices like Compaq's iPaq and Sharp's Zaurus. The embedded version of QT is called QTE and is used by another Trolltech (again open source) product called Qtopia (former QPE), which acts as a desktop environment for embedded devices. The choice to build QTJim around QT gives me the choice to have a single source repository for 3 different platforms (Qtopia, Linux, Windows). Currently the main target platform is Qtopia, and the X11 (Linux) version. The X11 version, may be evolved to using KDE some time in the future, so it is better integrated to KDE environment.
QTJim is still in early stages of development (version 0.3.9). Currently it implements an important part of the jabber protocol, the one needed to satisfy the core functionality of every jabber client (supporting 100 percent of the protocol requires a lot of effort and time). I hope i will soon reach version 0.4 which will be a milestone version that will include almost all jabber functionality. This is the version for which i will release the code (as GPL), so more people who are interested in it, may help with it or be helped by.
QT and QPE/QTE Environment :
The program has been developed and tested on a i386 linux box (RH 7.2).
- The X11 version uses qt-2.3.1
- The Embedded version uses qpe-1.4.0 and qt-embedded-2.3.2 (built from source). From version 0.3.7, Qtopia SDK 1.5 can now be used (which includes prebuilt versions of qpe-1.5.0 and qt-embedded-2.3.2). Note that earlier versions of QTJim used custom configured build versions that enabled QWorkSpace and QSplitter features in qt-embedded. Since newer versions of QTJim don't require these features anymore the qte requirements page used to describe how to meet these requirements by recompiling qt-embedded is now obsolete.
Other Requirements :
expat lib :
I use expat XML parser for now, so you need a recent version of it (expat-1.95.1-7.i386.rpm). I will probably use Trolltech's XML classes if possible, so no requirement for external libs applies which is important specially for QPE version. Of course a static build would save the problem but even then using QT classes might be preferable over using expat.
[Thu May 2 2002] : The first public beta release (version 0.3.9) is ready for download!
Please note, that this is a BETA release and contains some known bugs. The main reason i release it, is because i get many requests from people wanting to get QtJim, no matter what. So, here is your chance, just download it from the Download section! Feel free to report feature requests, bug reports or just your comments!!!
[Sun Apr 21 2002] : QtJim is alive!
After a long period of inactivity (since Feb 3), I decided to devote some time to make the 1st public release of QtJim. I have already test it on Zaurus itself and works fine (well most of the time), but there are still some more stuff I want to add/tune and some bugs to fix.
[Mon April 1 2002] : My Zaurus just arrived! Here it is :
[Tue March 5 2002] : QtJim is a Trolltech's beta contest winner for communications category! Waiting for my Zaurus now!!
[Sun Feb 3 2002] : Version 0.3.7 is out
This is the Qtopia contest beta release (unfortunately it is a development release not a stable one).
It is the first Qtopia compatible release, because now, QTJim doesn't require support for QWorkSpace(MDI) and QSplitter anymore! The X11 (KDE) version is the only version from now on to support MDI. So, no need to recompile QTE to enable these features anymore!
A lot of effort tookplace to support this change (now QTJim needs to manage roster and chats widgets using QWidgetStack).
Also added new account Registration support.
[Thu Jan 31 2002] : Version 0.3.4 is out
Many changes, bug fixes and additional features support since 0.2 :
- Buddies in roster now have a 2-level tree representation, to support more that one logs of a buddy to jabber.
- Added support to Add/Remove/Subscribe/Unsubscribe to/from (potential)buddies to/from roster (contact list). This was the most important
achievement since it requires a lot of both gui and non-gui code to support it.
[Mon Jan 14 2002] : Vesrion 0.2 is out !
Implementation of QTJim from scratch to 0.2 took me no more than a week, a very short time considering that i started from scratch, i don't use a jabber library, most of the code (~120Kbytes) is gui irrelevant and that this is my first QT application. This is explained by my super-duper excitement about building a jabber IM client and specially a qpe version (see Qtopia contest). Now that the contest has been delayed, i hope i will find some more time for the project.
As of version 0.2, only the very basic jabber functionality is supported :
Stuff you can't do yet :
- You can login to a jabber server.
- You can get your buddies presence status (on-line, away, etc).
- You can chat with a buddy.
- Create a new account (although simpler than login)
- Add/Remove/Subscribe/Unsubscribe to/from (potential)buddies to/from roster (contact list)
- Group chat
- More stuff ...
Manolis Perakakis <>
Last modified: Thu May 2 16:03:06 UTC 2002