Archive for the 'Jabber' category
Two bits of news for Psi, both hot off the SoC2006 press.
Firstly, I’ve implemented (most of) the new options system we’ve been talking about for so long and pushed it to mainline. It’s all dynamic, which means there’s no more editing common.h to add a new option, then editing the profiles code to set a default and copy/pasting some code to save and load the option; it’s all dynamic. To add a new option now, all we need to do is set it in the code with PsiOptions::instance()->setOption( "options.appearance.emoticons.use", true);, for example. Of course, options are very little use without defaults and this is now handled much more conveniently. When the Psi exectutable is built, an options-default.xml file is saved within the binary with the application defaults (this means that if you’re building your own Psi, you can change the defaults trivially). On top of this, your system administrator may install a system-wide defaults file to override this - and to make this even better, it can be a partial config, so if the only thing your admin wants to change is to make the roster pink in the default profiles, they can. Additionally, unrecognised options are now handled gracefully, no more of the problems of losing configs when reverting to previous Psi versions. The last bit of candy so far is that it’s all saved the moment the data structure is changed in memory: no more losing options during an unclean termination.
It’ll take us some time to move all the old options across to the new system but it’s something to look forward too.
The second, and probably more interesting, piece of news is that I found (Jason in the Psi muc told me about) Snarl, which aims to be a Growl-alike system for Windows. Since I want plenty of plugins to test the interface while I’m working on it, I implemented a Snarl plugin for windows for prettier notifications (since the plugin interface is completely unfinished, this only works for the single plugin method I’ve implemented, incoming messages, but its pretty enough).

The Google Summer of Code is turning out to be a fantastic opportunity to work on some things I wouldn’t have had time to work on otherwise and I’m very grateful to both Google for putting up the money, and the JSF council for choosing my proposal.
Categories: Coding, Jabber, Psi
1 Comment »
Psi and Summer of Code (2006)
1:19 pmThe second Summer of Code is upon us and it’s a good year for Jabber projects and for Psi in particular (this year’s projects are listed here: JSF SoC 2006 Projects). Of these 10 projects, 4 are aimed at directly at Psi, with a 5th hanging in the balance for the client to be used.
My own project is among those chosen (for which I’m obviously delighted). This project is to add plugin and (Python) scripting support to Psi, something which should be a great benefit to Psi users and also to people wishing to implement new protocol features, who will be able to build upon the Psi codebase to quickly prototype them in Python.
Anyone interested in tracking my progress should keep an eye on my previously mentioned project page on the JSF wiki (unless Peter Saint-Andre comes up with some other tracking system).
Just to prove I haven’t been idle, here’s a quick preview of the early plugins work (no, it’s not faked, these are real (although non-functional) plugins being found).

Oh, and my PhD/thesis? Things are finally looking up again after a stressful period of fear, uncertainty and doubt. I’m constantly amazed by the emotional effects being near the end of a PhD seems to have and I’m extremely grateful to have Cath around to help me stay sane.
Categories: Coding, Jabber, Psi, Research
3 Comments »
You got my bells jingling.
9:46 pmFor those of you who remember way back into the mists of time, last December we released an experimental Psi branch with voice calling thanks to the libjingle library from Google. Well, while no less experimental, I’ve now ported the libjingle support from the psi-jingle branch to Qt4 and have now merged it into mainline, taking the opportunity to also port to the newest version of libjingle.
This means that if you’re the adventurous type, you can now build Psi with voice calling support, and that this will be compatible with Google Talk clients and any other projects which utilise the libjingle code. We’ll be providing (experimental, no support, no warranties and with a very real danger that they’ll eat your pet hippo and kangaroo) builds for Windows and Mac OSX just as soon as we can get support for those platforms working (expect an announcement about OSX from Remko very soon indeed). The code is, as I am repeating far too often, still considered alpha-quality, however, once everything stabalises a bit more we’ll be able to start including support ‘officially’ and hopefully pretty soon, official Psi builds for future versions will be voice-capable.
I hear the sound of bells in the distance, could they be…….jingling?
Categories: Jabber, Psi
7 Comments »
Psi-0.11-beta1 released
11:30 pmOver the last couple of months (since long before 0.10 was released) we’ve been working on the Qt4 port of Psi, working towards the 0.11 release. It’s pretty usable on a day-to-day basis now and so I’m releasing a first beta release (note that this is not the test1 release candidate).
Those interested in the cutting edge and helping is towards 0.11 with testing, please grab the appropriate file from http://psi-im.org/files/beta/ and start reporting bugs to the mailing list(and ideally fixing them too :)). Build instructions are available at http://psi-im.org/wiki/Build_Instructions_Qt4
Please consider this a preview release, several things aren’t finished yet (most notably advanced tab actions like drag and drop, and gpg functions) and there are glitches with some of what we’ve done so far (and more glitches in Qt4 itself which is still rather young).
A list of known issues can be found in the wiki at http://psi-im.org/wiki/Qt4_Issues
We’re currently working hard in parallel to try and get both 0.11 and the subsequent 0.12 completed and ready for you as soon as possible, so please feel free to muck in in any way you can.
/K
Categories: Jabber, Psi
4 Comments »
More Qt pies
4:46 pmMore branch news:
Further to Remko’s post where he announced the opening of our Qt4 development branch, we’ve now merged the Qt4 port into our mainline branch. While there are still some unresolved issues, as listed at http://psi-im.org/wiki/Qt4_Issues, several of us are now using this just fine for our day to day IM.
Our progress towards 0.11 can be seen at our bug tracker progress page at http://psi-im.org/flyspray/?do=roadmap which is Hal and Tony’s new toy.
Lastly we’ve released yet another development branch of Psi in a darcs repo at http://dev.psi-im.org/darcs/psi-ng. The purpose of this branch is to allow us to develop features due in a future version which won’t be in the next release. Since our next planned release is 0.11, which is purely a Qt4 port, all new features we work on before the release of 0.11 will be going into the psi-ng repo. We’ll then be able to easily bring these features back into mainline after 0.11 has been released. The first new feature in the psi-ng branch is ad-hoc commands and remote-control, great features that Jabber has over other networks, and particularly timely as more Jabber servers are having ad-hoc admin interfaces added.
Categories: Jabber, Psi
5 Comments »
Release of Psi-0.10
8:17 pmThe Psi team is proud to announce the release of Psi-0.10.
First off, here are the download links
Mac binary
Source tarball
Windows binary (with installer)
Windows binary (zipped)
New in 0.10
- Psi will now sign out before Windows or Mac OS X machines go to ’sleep’
- The default text input line in the chat dialogs starts at one line tall, and grows as necessary.
- The Roster can now be automatically resized to fit all contacts.
- The Roster now has a menu bar available on Windows and Linux
- Chat windows can be collected together using tabs
- On Windows and Mac OS X, selected text may be automatically copied to the clipboard.
- Mac OS X builds now enjoy Growl(.info) support
- Photos are now available in the VCard dialog
- New default colour scheme
- Roster and chat dialog opacity is now configurable on Windows and Mac OS X
- The colour scheme is now slightly more configurable
- Assorted minor feature additions and bug fixes
- Number of unread messages is now visible in the dock on Mac OS X
- GPG passphrases are now cached during the entire Psi session
- ‘Authorization received’ messages can now be ignored
- Roster and chat windows can be made transparent
Thanks to all those who have contributed either code or support for this release and here’s looking forward to more Psi in the new year.
Categories: Jabber, Psi
4 Comments »
Bells of Jingle
1:05 amAs a further update on my previous post about Jingle support, we’ve been progressing at a fairly rapid pace and as described in our Jingle branch wiki page we now have Jingle audio calls working both from Psi to Psi, and from Psi to and from Google Talk. Hopefully this means we’ve got the interface with libjingle working ok, and any other client that comes along using libjingle will interoperate just fine. We can but hope. Now that the linux code supplied with libjingle works, we’re looking at other platforms; first of all Mac OSX.
Please not that this is not a guarantee that the jingle branch is stable yet, it’s certainly not, but it’s getting better ![]()
Categories: Jabber, Psi
4 Comments »
Subsequent to my last post about the branches of Psi we’ve been working on, I’m now delighted to announce that we’ve also been working on a third branch in the recent weeks.
The Jingle protocol (session and voice) is the culmination of months of discussion between the Google Talk team and interested parties in the JSF, which finally became standards-track yesterday. Jingle is basically the voice protocol supported by the Google Talk client.
The Google Talk team today announced the first release of a C++ library which manages the Jingle protocol. This means that other clients should be able to take this code and integrate Jingle support without coding the p2p and other details themselves.
In the last month or so, Sean Egan (one of the nice guys on the GT team (yes, they rock)) has been helping Remko and myself integrate the libjingle code in Psi ready for libjingle’s release today, meaning……voice calling for Psi. This is where a lot of Remko and my time has gone which might otherwise have been spent on visible Psi development.
Since the libjingle library has been publically released now, we are able to give a first glimpse of our Psi branch using the library.
Also included (and a necessary pre-requisite to Jingle support), this is the first time you’ve seen Psi supporting Entity Capabilites (there’s a patch that’s been circulating that we’ve noticed some unofficial builders have been including but it’s broken (hey, sometimes there’s a reason patches don’t make it into mainline
)). As such, if you just want to test caps, grab the repository and don’t enable jingle support when you compile. Unlike all the warnings further down the post about the stability of our interface with libjingle, the Caps support should be fine now and will be merged into mainline as soon as our rather hectic roadplan allows.
There are disclaimers:
- This is heavily unstable software
- This is not feature-complete
- This voice support, which doesn’t yet work reliably, is linux-only at the moment.
The state of the code at last glance was:
- Psi < -> Psi calling will not work. It will look like it does, but no stream will be established.
- Psi < -> Google Talk calling will work, but will terminate a short time afterwards (20 or 30 seconds)
- Psi < -> call calling should work ok. (call is the example command-line client in
psi/third_party/libjingle/talk/examples/call. Justcdthere, runqmakeand thenmake)
So please feel free to have a play with what’s up there, and if you want to submit bug fixes, I’d be more than delighted, but don’t expect things to work properly yet.
The darcs repo is available at:
http://dev.psi-im.org/darcs/psi-jingle/
use ./configure --help to work out what you need, my line looks like this:
./configure --with-glib-inc=/usr/include/glib-2.0 --with-glibconfig-inc=/usr/lib/glib-2.0/include/ --with-ortp-lib=/usr/local/lib/ --with-ortp-inc=/usr/local/include/ortp/ --with-ilbc-inc=/usr/local/include/ilbc/ --with-ilbc-lib=/usr/local/lib --with-speex-inc=/usr/local/include/speex/ --with-speex-lib=/user/local/lib --enable-jingle
Please note that this development is parallel to the release series until it’s stable, when we’ll merge it back in.
/K
Categories: Jabber, Psi
13 Comments »
Google Talk
1:54 pmAs I suspect every other Jabber/XMPP using person on the planet has done, I feel I’d better make a post about Google Talk. Release this morning, it’s an xmpp service running on talk.google.com using gmail addresses for accounts.
What things do we need to know about it?
The Google Talk client itself supports voice chat, I’ve not tested this. Google say they’ll be releasing open specs soon, so we’ll enjoy seeing those I think.
Apart from this, both the client and server are fairly basic at the moment, possibly as you’d expect a few hours into beta. The server doesn’t support s2s, disco, offline message storage. However, as it’s xmpp, all the jabber client->client extensions work fine as long as you’re using clients that support them. So using Psi, as I obviously am, typing notifications work fine, even though the GT client doesn’t support this (yet?).
Psi is one of the listed clients, which is neat. Unfortunately the instructions google give for setting Psi up for google talk appear to not be perfect, and they link to our old documentation, as the new stuff is still a couple of hours away from release. IceRAM’s writing a Google Talk/Psi howto at the moment, and hopefully by the evening we’ll have the new documentation like, a test release of our new version (so that’s Psi-0.10-test1) and lots of happy bunnies.
If anyone would like to write my thesis for me while I’m involved in all this, please feel free.
On the personal side, I’m finally back at training (TaeKwon-Do) again after two months forced rest (I broke my foot) and I’m feeling the effects of my lack of training, both in my general fitness and my technique. I don’t think I’m going to be entering any half marathons again soon, nor making great progress towards my next grade for many months. To rub salt in the wound, the foot still hurts.
/K
Categories: Jabber, Psi, TaeKwon-Do
5 Comments »
No Summer of Code for Psi
12:06 pm
The application from my brother to work on Psi was rejected. I’m upset for Psi, but glad for Jabber for the 10 projects that were accepted.
I’ve just been told that my previous version of this article sounded very bitter, which it probably did so I’m cutting it.
I’m very sorry to anyone who previously read the old version and took offense, it wasn’t my intention. I also understand that my posts to jdev sounded very bitter so I’m also sorry for that. I am sad, obviously, because I care about the progress of Psi more than perhaps I should. The JSF council are far more impartial than I am and probably made better decisions on the SoC applicants than I would have.
Categories: Jabber, Psi
No Comments »
