Category: Jabber

Swift 2.0 Released

Just in time for a 2012 release: Swift 2.0 is out! This new stable release has many enhancements and bugfixes, so head over to the Release Notes page to find out what’s new.

Happy New Year!

Posted in Jabber with tags Jabber, XMPP, Swift

Swift 2.0 Release Candidate Released

That’s right, we’re almost there: we just put up the release candidate of Swift 2.0. If no critical bugs are reported, this will become the final release. As always, we encourage everyone to get the new build and try it out, and tell us about any bugs they should come across.

Posted in Jabber with tags Jabber, XMPP, Swift

Swift 2.0-beta2 Released

We have just released the second (and final) Swift 2.0 beta. Apart from several bugfixes, highlights include the possibility to set custom connection options, getting detailed information about certificates upon connection errors, and improved room invitations. We encourage everyone to get the new build and try it out, and tell us about any bugs they should come across.

Posted in Jabber with tags Jabber, XMPP, Swift

Swift Hackathon Roundup

Last sunday, we finished our week-long Swift Hackathon, and it was a great success, leading to Swift 2.0-beta1! Here’s a list of the things we achieved during that week.

Continue reading →

Posted in Jabber with tags Jabber, XMPP, Swift, Hackathon

Swift 2.0-beta1 Released

After another year of development, we’re happy to announce that we released our first Swift 2.0 beta! We encourage everyone who is interested in helping us with testing to try out this new release, as it has many bugfixes and enhancements (see the release notes for more details).

Thanks to the hackathon week (of which details will be posted shortly), we believe this first beta to be pretty stable. Nevertheless, should you find some bugs, please come and tell us about it!

Posted in Jabber with tags Jabber, XMPP, Swift

Swift Hackathon Update

We’re just halfway through our Swift Hackathon, so we thought we'ld update you about the progress we’ve made so far.

Continue reading →

Posted in Jabber with tags Jabber, XMPP, Swift, Hackathon

Google Summer of Code 2012

It’s that time of year again: Google announced which students they are going to sponsor for contributing to open source projects. This year, we have the pleasure of welcoming 3 students at Swift, who will be working on some very exciting projects.

Continue reading →

Posted in Jabber with tags Jabber, XMPP, Swift, Google Summer Of Code, Whiteboarding, Conversation History, Screen Sharing

Swift Hackathon

All the cool kids are doing it, and so are we: starting Monday April 23rd, we’re holding a week long Swift hackathon! We will be focusing for a whole week on bugfixes, and at the end of that week release the first beta of Swift 2.0, the next major Swift release. Everyone is invited to join us online in our chatroom at, and start hacking with us. And if you can’t or don’t want to fix bugs, we also need plenty of people to help us with testing Swift extensively that week.

(Thanks to Tobias for suggesting this).

Posted in Jabber with tags Jabber, XMPP, Swift, Hackathon

Experimental File Transfer support hits Swift

It’s been a busy summer for Tobias Markmann, one of the XMPP Standards Foundation’s 2011 Google Summer of Code students. He has been working on implementing File Transfer support for Swift, using the fresh Jingle XMPP protocols. I’m happy to announce that we integrated Tobias’s work as an experimental feature into the main Swift branch, where it will be further developed and brushed off before being enabled in our nightly builds and releases.

Continue reading →

Posted in Jabber with tags Jabber, XMPP, Jingle, Google Summer Of Code, Swift, File Transfer

Summer of Swift Code 2011

Yesterday, Google announced the 1116 students that were accepted for this year’s edition of the Google Summer of Code, 5 of which will be working with the XMPP Standards Foundation. We’re very happy to welcome both Tobias Markmann and Vlad Voicu, who will be working full-time on Swift this summer, implementing file transfer support and conversation history respectively.

We have to mention that these weren’t the only proposals we received. Most of the proposals we received this year were of good quality: we suspect that the teaser tasks we put up for potential students made it possible for both the students and us to get an idea up front of what should be expected. However, based on experience from previous years, we decided we should only accept 2 students, to ensure that we could give our full attention to making all projects successful (including fast integration into a Swift release). We’re convinced that both Vlad and Tobias will live up to their expectations, and implement some of the most requested Swift features today!

Posted in Jabber with tags Jabber, XMPP, Google Summer Of Code, Swift, File Transfer, Conversation History

Swift 1.0 Released

Finally! After 2 years of development, we’re happy to finally announce the first full release of the Swift IM client! In this first release, we have focused on building a user-friendly messaging client, with all the basic features you would typically need for having real-time conversations. In future versions (which are already in the works as we speak), we will be extending Swift with more features.

We would like to thank Isode for sponsoring time for Kevin to work on Swift, Flosoft for providing our download infrastructure, Dave Cridland for the logo, all the translators who helped us make Swift available in different languages, all the code contributors, all of whom should be listed on our About page, and all our beta testers for giving us feedback and bugreports throughout the whole development period!

Posted in Jabber with tags Jabber, XMPP, Swift

Swift Translators Wanted

Now that the final Swift beta has been released, it’s time to start translating Swift in as many languages as possible! Thanks to a handful of early translators, we’ve been able to iron out (hopefully) the last translation issues from beta9, and we have Dutch, Polish, French, German, Norwegian, Czech, Slovak, Spanish, and Catalan translations in the works. So, now, we’re calling out to you: if your language is not in the list, and you feel you could do a good job translating the Swift user interface (containing about 250 strings), please drop by the Swift room, and let us know!

Posted in Jabber with tags Jabber, XMPP, Swift, I18n

XMPP Scripting with Sluift

Did you ever want to find out what XMPP clients people in your contact list are using? Do you want to migrate your contact list from one server to another, but don’t want to provide your password to some on-line service to do that? Do you have some XMPP-related task you quickly want to write a script for, but don’t want to deal with complex asynchronous APIs? Well, Sluift may be just the thing you are looking for!

Sluift is a Lua-based script layer on top of the Swiften XMPP library. It provides a simple API to do common XMPP tasks, either interactively (through an XMPP console), or by running a script in batch mode. In this post, we’ll go through some examples of what you can already do with Sluift today.

Continue reading →

Posted in Programming, Jabber with tags Jabber, XMPP, Swift, Swiften, Lua, Sluift

More squishy data

After Tobias Markmann told me that he was running into resource limitations with a Swiften-based tool for testing server load, I decided to do a small experiment myself. I created a small benchmarking tool, and ran it through the memory allocation profiler from Apple’s Instruments. It turned out that the combination of TLS and ZLib compression (aka “squishy data”) was causing a much higher memory usage than I would have expected.

Continue reading →

Posted in Jabber with tags Jabber, LibXML, OpenSSL, Compression, ZLib, TLS, Profiling, Instruments, Apple, Swiften, XMPP, Expat

“Swiften Developer’s Guide” available

People have recently been showing interest in using Swiften, Swift’s C++ XMPP library, for building their own XMPP applications. We therefore created the Swiften Developer’s Guide with a tutorial-style guide to Swiften (including examples), and made it available together with the Swiften API Documentation. If you’re interested in creating an XMPP client or component, be sure to give these documents (and some of the examples from the Swift code repository) a look!

Posted in Jabber with tags C++, Jabber, XMPP, Swift, Swiften

Swift 1.0-beta8 released

We just released the next Swift beta, beta8. The major focus of this release was fix some crashes, problems, and papercuts from the previous beta(s). For a full list of changes, see the Swift 1.0beta8 release page. The list of outstanding cases is getting shorter and shorter, so this will hopefully be one of the last few betas before 1.0. This also means now is the perfect time to give Swift a shot, and give us your feedback!

Posted in Jabber with tags Jabber, XMPP, Swift

Swift 1.0-beta6 released

It’s been a while since we released the previous Swift beta. As a result, the sixth beta is quite packed with bugfixes, speedups, and general improvements. The list of changes is too long to describe here, so head on over to for details and downloads of the last Swift beta, and let us know what you think in the MUC room –

Posted in Jabber with tags Jabber, XMPP, Swift

Swift 1.0beta2 released

It’s only been 2 weeks since we released the first public beta of Swift, and we already got a lot of feedback. Thanks to all of you who joined the MUC and sent us their comments and bugreports!

We decided that, before moving on to implementing the remaining missing features, we would first fix a bunch of small-yet-annoying ‘papercut’ bugs, and quickly release a new beta. This way, we hope to make the Swift experience a bit smoother for our valiant testers while we are busy implementing some of the larger changes. So, if you’re running Swift on a frequent basis, or would like to jump into our beta feedback cycle, head on over to the Swift 1.0beta2 page, and download the latest beta (we even have Ubuntu packages now!)

We are aiming to put out new betas on a regular basis, so stay tuned for more Swift goodness!

Posted in Jabber with tags Jabber, XMPP, Swift

(Still) Hard at Work

Several people have been asking us about the status of Swift lately. Rest assured, we’ve been hard at work in the past months, despite all the job changes, house movings, and marriages slowing us down sometimes. And we have proof: below is a Gource visualization of the Swift Git repository from the past months (and we definitely wouldn’t fake that).  Swift is getting very near to the beta stage, so stay tuned for more updates!

Continue reading →

Posted in Jabber with tags Jabber, XMPP, Git, Swift, Gource

Beautiful (XMPP) Testing

O’Reilly recently released the book Beautiful Testing, a collection of essays about testing and QA in general. As I mentioned earlier, I wrote an article in that book on (unit) testing XMPP protocols, using Swift as a motivating example. Since the book’s scope may (oddly enough) not always be as interesting for developers in general, I released my article under a Creative Commons Attribution license (thanks to the good folks from O’Reilly for encouraging us to do this), which you can find here (or directly from my Git repository). The original excerpt from the book (including the index, list of biographies, and all the fancy artwork) is also available for download under the same license.

I of course encourage you to buy either the PDF or dead tree version of the book, as all the proceeds of the book go to charity.

Posted in Jabber, Writing with tags Books, Unit Testing, Jabber, XMPP, Swift, O'Reilly, Nothing But Nets

“XMPP: The Definitive Guide” Code Examples

Although the primary focus of XMPP: The Definitive Guide is explaning the XMPP protocol and all its extensions through text and illustrations, we also included a few Python code examples to help people get started with implementing their own ideas. In fact, we devoted a whole chapter to building an XMPP application, starting out with a simple bot implementation, but gradually extending the application into a full server component. For people who want to try this out for themselves, we’re releasing the source code of all code examples, including a simple echo bot, and different variants of the CheshiR microblogging platform XMPP interface.

Continue reading →

Posted in Jabber, Programming, Writing with tags Books, Jabber, Python, XMPP, XMPP-TDG, SleekXMPP

Migrating from Openfire to Prosody

Because Openfire has been hogging too much of my limited server resources lately, and because I don’t need a beast of an XMPP server for only 2 users, I decided to replace it by the lightweight Prosody. The migration went flawless, with the help of two tools: Sleek Migrate, and a Prosody XEP-0227 Importer.

Continue reading →

Posted in Jabber, Software with tags Jabber, Openfire, XMPP, Software, Prosody

“Beautiful Testing” XMPP Chapter

Adam Goucher and Tim Riley (Director of QA at Mozilla) announced a few months ago that they are putting together a Beautiful Testing book for O’Reilly. I took the opportunity to write a chapter about testing in the context of XMPP (more specifically, about testing protocol implementations in Swift), and just submitted the final draft for technical review. The book is expected to be released this August.

Continue reading →

Posted in Writing, Jabber with tags Books, O'Reilly, Swift, XMPP, Jabber, C++, Unit Testing, Nothing But Nets


The slides of the “XMPP 101” talk that Peter and I gave at FOSDEM are available below. This presentation gives a fast-paced introduction to XMPP, and is mostly based on “XMPP: The Definitive Guide”. If all goes well, we will be giving a more extended version of this talk as a tutorial at OSCON.

Continue reading →

Posted in Jabber with tags Jabber, FOSDEM, XMPP, Tutorials, Talks

Swift Messaging

I’m excited to announce a new player in the Jabber/XMPP game: Swift. Shortly after finishing the XMPP book, I started working on Swift, a pragmatic, cross-platform, user-friendly IM client. Together with Kevin Smith, we are building this project from the ground up, driving its development using agile methodologies. Underneath the IM client, we are working on an extensible and robust XMPP library, written in C++.

Until we launch the project and its website, you can subscribe to the Swift blog and group to stay up to date with the latest news and developments around the project. Thanks to Dave Cridland for lending us his graphical capabilities and drawing us a pretty logo.

Posted in Jabber with tags Jabber, XMPP, IM, Swift

We have an animal

O’Reilly just sent us the cover for our upcoming XMPP Book, and it seems we got the world’s smallest ungulate: the lesser mouse-deer. I haven’t seen one in real life before, am not sure I ever want to, but still: great! Have a look below to see what the cover of the book will look like when it hits the stores in 2 months.

Continue reading →

Posted in Jabber, Writing with tags Books, Jabber, XMPP, O'Reilly, XMPP-TDG

Final revision of the XMPP book submitted

After a few weeks of heavy labour and long nights, Peter, Kevin, and I just submitted the final revision of “XMPP: The Definitive Guide” to the folks at O’Reilly. All the feedback from our (thorough) reviewers has been processed, we added quite a few extra bits and clarifications (58 pages to be exact), polished the whole thing up, and went through the resulting manuscript with a fine toothed comb. We hope the people who will read this book will be as satisfied with the end result as we are. If all goes according to plan, the book should roll out of the presses in about 2 months. In the mean time, you can expect an update to the on-line rough cut version of the book in the next couple of days.

Posted in Jabber, Writing with tags Books, Jabber, XMPP, O'Reilly, XMPP-TDG

Rough cuts of XMPP book now available

While Kevin, Peter, and I are working very hard to finish the first draft of our upcoming book ‘XMPP: The Definitive Guide’, O’Reilly has recently released early versions of most of the chapters of the book as Rough Cuts. People interested in learning about XMPP today can now get a preliminary version of the book, and get updates as the book progresses.

Posted in Jabber, Writing with tags Books, Jabber, XMPP, O'Reilly, XMPP-TDG

Trying out Git

A while ago, the Psi development team switched from Darcs to Subversion for version control, because the Darcs pros (distributed, extremely simple and elegant) did not compensate for the cons any longer (slowness, non-scalability, ‘infinite’ merges, lack of community and tools, …). Our development was pretty central anyway at that time, so we decided that Subversion was good enough. However, we started to miss local commits more than we thought we would, and some of us are working on their own forks, which makes Subversion a suboptimal choice. We are therefore currently trying out Git as a replacement, which should bring us all the good stuff from Darcs, combined with the speed and portability of Subversion. Note that during the experiment, we will not be updating our Subversion branch any more (which will soon cause breakage, since Subversion automatically updates changes to the external Iris repository).

Continue reading →

Posted in Jabber with tags Psi, Jabber, XMPP, Subversion, Darcs, Git, Version Control Systems

We're writing an XMPP book

I’m excited to announce that Peter, Kevin, and I recently got the green light from O'Reilly to start writing a book about Jabber/XMPP. The book will be targeted at a diverse public: on one hand, people who want to get acquainted with XMPP and will get an introduction and a general overview of XMPP, its workings, and its possibilities. On the other hand,  software engineers who want to integrate XMPP into their products will get a guide to implementing different use cases of XMPP through a series of different developer stories. The book is expected to be available in 2009, so start making some room on your bookshelf!

Posted in Jabber, Writing with tags Books, Jabber, XMPP, O'Reilly, XMPP-TDG

Going Agile with Google Summer of Code

Although Psi has had a fair number of succesful Google Summer of Code projects so far, we have experienced some failures as well: the summer before last, 3 out of 6 projects didn’t make the final deadline. A project’s failure was typically due to not having anything really usable at the end of the summer, regardless of the good work that was done during the past months. To reduce the risk of such surprises, I decided to take an Agile Development approach for this year’s ‘Roster improvement’ project.

Continue reading →

Posted in Jabber with tags Programming, Unit Testing, Psi, Jabber, XMPP, Agile Software Development, Test-Driven Development, Model-View-Controller

PsiCon 2008 @ San Francisco Bay Area, CA

This year, we held the first ever International Psi Conference in the San Francisco Bay Area. The event  was spread out over 2 days, with different venues to keep things interesting. The conference was a big success, with attendees from different countries (including the Netherlands, Belgium, and the U.S.), and the presence of several big companies.

Continue reading →

Posted in Jabber with tags Psi, San Jose, Travel, California, Barracuda, Palo Alto, Campbell, PsiCon

Mimicking Jaiku with Psi

The day before yesterday, Peter Saint-Andre sent out a couple of Jaiku invites to all Jabber Google Summer of Code students and their mentors, including me. Never having looked at microblogging before, I toyed around with it a bit, and it quickly reminded me that I still had something on my Psi wish-list for a while now: a flat, live log of all Jabber events in your network. Since I had a long weekend, I quickly coded up a prototype, and hooked it into Psi.

Continue reading →

Posted in Jabber with tags Psi, Jabber, XMPP, Google Summer Of Code, Jaiku, Microblogging, Extended Presence

Improving Psi's roster

For a while now, Psi users have been requesting several changes and additions to the roster (or ‘contact list’). These requests include grouping contacts into meta-contacts, nested roster groups, and displaying user avatars in the roster. We have been postponing all these changes to the roster as much as possible, because none of us wanted to touch the roster code, for reasons I’ll explain below. This year, Psi is fortunate enough to have Adam Czachorowski (aka Gislan), a student from the Google Summer of Code, to work on roster improvements.

Continue reading →

Posted in Jabber with tags Unit Testing, Psi, Jabber, XMPP, Google Summer Of Code, Roster

Introducing Greem

After a short hiatus, I finally resumed work on my new Jabber/XMPP client project, which I christened ‘Greem’. The main goal of the project is to create a mobile Jabber/XMPP client for the Qtopia platform. The nice thing about Qtopia is that its target audience keeps on expanding: besides running on the GreenPhone (of which Trolltech was kind enough to provide me with one), Qtopia has recently been ported to the Neo 1973 (OpenMoko), and even Windows CE and Windows Mobile. In this post, I briefly describe what the expectations and the goals are for Greem, and how Psi fits into the picture.

Continue reading →

Posted in Jabber, Software with tags GreenPhone, Iris, TrollTech, Qtopia, Jabber, Greem, Psi, XMPP

Testing Psi

While the last bugs are being squeezed out of Psi 0.11’s release candidates, work on 0.12 has already begun. One thing I’m excited about as a developer is the fact that we’re making the Psi codebase ‘testable’, which has some nice consequences.

Continue reading →

Posted in Jabber with tags Programming, Unit Testing, Psi, Jabber, XMPP

Qtopia Greenphone Grant

A month or 2 ago, I applied for the Qtopia Greenphone Innovation Grant Program, an initiative from TrollTech to promote the development of applications for their Linux-based Qtopia Greenphone. I probably won’t surprise anyone by saying that I sent in a proposal about writing a good, cross-platform, mobile Jabber/XMPP client. Anyway, I was very excited to receive a mail from TrollTech yesterday, stating that my proposal was accepted by their review panel! As an applicant, I will be receiving a shiny new Greenphone, together with a Qtopia SDK to develop against. Deadline for submitting my application: October 31st. Let the coding begin.

Posted in Jabber, Software, Programming with tags Greem, Jabber, Qtopia, TrollTech, GreenPhone, XMPP

Customizable XEP-0076 implementation

It is time for us to be honest: the reason Psi has not had a release in the past year and a half is because we have secretly been working on one of the most controversial and least implemented features in the Jabber world: XEP-0076 (Malicious Stanzas). We have allocated two full-time developers for achieving this: Machekku has done the groundbreaking work, implementing the main processing loop, statistic gathering, and user interfaces for this type of stanzas, whereas I have been concentrating mostly on backend issues. Although our work is still in a highly experimental stage, we decided to release the full source code in order to get useful feedback from the community. Besides a Psi implementation, we also provide an Openfire server-side implementation for malicious stanza tagging as an extension of the content filter, targeted at fixing non-XEP-0076-compliant behavior of entities.

Continue reading →

Posted in Jabber with tags Psi, Jabber, Openfire, XMPP

Revamped account dialogs

We recently made Psi’s dialogs related to account creation, registration, and modification a bit easier to use. The account registration process is now a wizard-like dialog, where a user first needs to select a server (from a centralized on-line list), and then needs to provide the information requested by the server (according to XEP-0077: In-Band Registration). We have also introduced new default settings that should avoid the need to tweak any account settings when adding an existing account. This means that you should be able to log into any XMPP server (including Google Talk) just by entering your JID and password. Some more details and screenshots below.

Continue reading →

Posted in Jabber with tags Psi, Jabber, XMPP


Kev and I will be attending FOSDEM on February 24th and 25th, and we’ll be joining other XMPP developers at the XMPP Interop Event and DevCon the day after. So, if you want to meet up, or have some outstanding protocol issues with Psi, now is a good time to tell us :)

Posted in Jabber with tags Psi, Jabber, FOSDEM, XMPP

Receiving Google Talk files with libjingle

As Google released a new version of libjingle last friday, I decided to experiment with their file transfer implementation in Psi this weekend. I added some code that allows someone to accept files sent by Google Talk, and tested it with a few Google Talk contacts, with a perfect success rate (so far). For the brave who wish to experiment with this, see the instructions below. Note that this code is unofficial, untested, only uses a very rudimentary UI (there is no integration with the existing file transfers), still suffers from at least two bugs (on Mac OS X: one that segfaults when receiving images, and one where CPU skyrockets to 100% after a while, which we had with older libjingles as well), and has no support from the Psi developers whatsoever. Comments should therefore go directly to me.

Continue reading →

Posted in Jabber with tags Psi, Jabber, XMPP, Google, Jingle, Libjingle, Google Talk

Psi Subversion repository

As many of you know, Psi has been using Darcs for version controlling since the development of 0.10. However, although Darcs works on most platforms, some people have been experiencing problems with getting Darcs to work for them. Because of this, and some other inconveniences (not being able to checkout subdirectories of the development tree, long checkout times, the lack of a scalable web-interface, …), we have decided to create a Subversion mirror our development repository (using Tailor).

Continue reading →

Posted in Jabber with tags Psi, Jabber, XMPP, Subversion, Darcs

vCard-based Extended Presence Plugin

After gathering dust for a few months in some deep and dark corner of my hard disk, my vCard-based Extended Presence plugin for Openfire is now publicly available here.

Continue reading →

Posted in Jabber with tags Psi, Jabber, Openfire, XMPP, Google Talk

Stream Compression for Psi

While waiting for Qt to stabilize, we’re keeping on adding new features to Psi. Support for JEP-138 (Stream Compression) has just hit the mainline development branch, allowing traffic to be compressed using zlib. Stream compression is supported by the latest versions of Wildfire and ejabberd.

Posted in Jabber with tags Psi, Jabber, XMPP

XMPP1 now in Psi mainline

We reported earlier about our work on finally bringing Psi up to speed with the XMPP standard. Because of necessary changes in QCA2, this could only be tested through the nightly Mac OS X and Windows builds we provide. Today, we merged a patched version of QCA2 into the Psi mainline development branch, making it possible for everyone to compile Psi with XMPP1 support (enabled by default).

Continue reading →

Posted in Jabber with tags Psi, Jabber, XMPP

Stellar3: The next generation Psi iconset

Jason Kim, who previously designed the Psi logos and the Stellar iconset, has drawn a new Stellar icon. Combining his shiny icon with the overlays from the Crystal iconset resulted in the new Stellar3 iconset, which you can see in action below. The new iconset, which is still subject to small changes, has been added to the Psi mainline development branch.

Continue reading →

Posted in Jabber with tags Psi, Jabber, XMPP

XMPP 1.0

This weekend, mblsha and I had a coding sprint to make Psi XMPP-compatible, hoping to be in time for the XMPP interop event. Although we didn’t make it physically to the event, we still managed to get Psi compliant.

Continue reading →

Posted in Jabber with tags Psi, Jabber, XMPP, SASL, QCA


I have to confess, i’m kind of a fan of very simple Jabber clients that do not overwhelm you with menuitems, toolbars, and options. This is why i like clients such as Google Talk and iChat so much. I always hoped Psi could one day be such a simple client, but the fact is that we have a very broad userbase, of which many are power-users that do not want to give up any option or feature whatsoever. I never really understood why people needed to send plain messages (instead of chats) in IM, why there is such a thing as ‘Extended Away’ and ‘Free for chat’ in a chat system where you have status messages, why someone would want to hide contacts that are ‘Away’, and the list goes on. However, we’ve had many discussions about this before, and the conclusion is always that someone on this planet wants this, so we never touched these (IMO) silly features. Until now …

Continue reading →

Posted in Jabber with tags Psi, Jabber, XMPP

Running aMUCk

The Psi feature frenzy continues! With my PhD draft text delivered last week, I finally had some more time over the weekend to implement some neat stuff. And not just any stuff: after many years of being blamed for not keeping up with the times, we finally have support for JEP-0045 (Multi User Chat) in our mainline development branch. Sure, maybe some small aestetic modifications can still be done here and there, but all of the functionality should be there. This means you don’t have any excuse whatsoever to be anti-social anymore, so start joining all the fun chatrooms such as

Continue reading →

Posted in Jabber with tags Psi, Jabber, XMPP

Remote Controlling Psi

As some of you probably know, the upcoming 0.11 version of Psi will have remote controlling capabilities. For those of you for which this is new information, or for people that have a hard time imagining what this feature exactly does, I created a screencast (requires QuickTime) showcasing the current list of available commands (and more).

Continue reading →

Posted in Jabber with tags Psi, Jabber, XMPP

Libjingle for Mac OS X

As Kev announced earlier today, we took the dust of our Libjingle branch of Psi, and merged it into the mainline development branch (mainly to ease code management). It is not unusual to discover things when you go through stuff you haven’t seen in a while, and this time was no different: we found out, much to our surprise, that we actually had a working support for Libjingle on Mac OS X all this time! Support for OS X was written several months ago, by defining a new sound card type in mediastreamer (a third-party framework included in libjingle), making use of the cross-platform PortAudio API to do interaction with the audio hardware. We never tested it, so we assumed it didn’t work. Fortunately, a quick test proved that wrong ! So now we are down to one unsupported platform: Windows. Because PortAudio is cross-platform, it should in theory work on other platforms as well, including Windows. However, we have not had the time to test this theory, so it might require some more work. But I’m sure Kev will keep us posted on that !

Posted in Jabber with tags Psi, Jabber, XMPP, Libjingle, PortAudio, Mac OS X

Nicks and Pics

Since the beta2 release of Psi a few days ago, some new stuff has hit our development branch. First of all, Psi now has support for avatars. These can be set and displayed using the (current version of the) PEP-based JEP-84 (User Avatar), and there is read-only support of the historical JEP-153 (vCard-based Avatars), supported by such clients as Google Talk, iChat, and the Py* transports. Secondly, the remote controlling interface of Psi has been extended with forwarding of unread messages (thanks to Norman Rasmussen). And finally, events coming from unlisted contacts (such as subscriptions or messages) now include the nickname of the contact through JEP-172 (User Nickname). A consequence of this is that mass-adds from gateways will go a lot smoother. And now we’re really stopping this feature frenzy, we promise !

Posted in Jabber with tags Psi, Jabber, XMPP

Standards and Features

There has been a slight shift in the roadmap of Psi. While the only goal of 0.11 was to port it to Qt4 (do i hear a booooring somewhere?), we decided to make 0.11 also fully XMPP-compliant. We therefore merged the current ‘next generation’ branch (which amongst others supports privacy lists) with the mainline development branch. A consequence of this is that other features were pulled into mainline as well (yay!), so it’s not unacceptable to start looking forward to the next release.

Continue reading →

Posted in Jabber with tags Psi, Jabber, XMPP

Chat States

A few weeks ago, Tom Germeau from MozChat brought to my attention that recent clients such as Google Talk, Gajim, Pandion (and of course MozChat) are all using JEP-0085 (Chat State Notifications) for doing ‘Contact is typing …’ notifications. There have been many discussions in the past on whether or not to prefer this JEP over the old JEP-0022 (Message Events), which most of the other clients out there implement. This is why Psi didn’t implement chat sates yet. However, we recently decided to put this (cleaner, standards track) JEP into our mainline development version after all.

Continue reading →

Posted in Jabber with tags Psi, Jabber, XMPP

Personal Eventing Protocol

Magnus Henoch announced a few days ago that he was working on an ejabberd implementation for JEP-163 (Personal Eventing Protocol), the protocol formerly known as SPPS. I found a bit of spare time today to finish the real (as opposed to pseudo-) PEP implementation in Psi, while Magnus fixed some things on the server side. The implementation isn’t available publically yet (since no server supports it anyway), but interested server developers are of course always welcome to ask for a snapshot.

Continue reading →

Posted in Jabber with tags Psi, Jabber, XMPP

Simplified Personal Publish-Subscribe

We’re currently working on putting JEP-0163: Simplified Personal Publish-Subscribe into Psi. A result of this work, together with an implementation of User Tune as our use case, can be seen in action here.

Continue reading →

Posted in Jabber with tags Psi, Jabber, XMPP

TuneController released

TuneController is a modular plugin-based Qt interface for talking to media players such as iTunes, XMMS, and WinAmp. The provided functionality is currently limited to notifying of player state and song changes, but other features (such as remote controlling, queueing, …) will be added in the future.

Continue reading →

Posted in Jabber, Software with tags Psi, Jabber, XMPP

Entity Capabilities

Support for JEP-115 (Entity Capabilities) has just hit the Psi mainline development branch. This doesn’t mean much to the user, except that it can display the client version of contacts without the burst of client-version queries each time you connect. However, there is still the overhead of the extra tag in every presence packet sent and received, but stream compression (either through TLS or using JEP-138) should take care of this in the future. JEP-115 also describes a server optimization to reduce traffic, but as far as we know, no server implements this. We hope that if more clients start supporting entity capabilities, the servers will follow as well.

Continue reading →

Posted in Jabber with tags Psi, Jabber, XMPP

Cutie(s) galore with the power of four

Good news to start the year: the new Psi Qt4 branch has been made public as a new year gift. Yes, another branch of Psi to keep track of, and I have a feeling that this won’t be the last one either ;). For those interested, I wrote something together about the new soon-to-be-mainline-development branch.

Continue reading →

Posted in Jabber with tags Psi, Jabber, XMPP

Privacy, don't we all want it ?

I finally got around to doing some more privacy list work for Psi. After porting what i had to our soon-to-be-released Qt4 branch, i even managed to add some more functionality. Basically, what I have so far can be seen here (minus the ‘Add’ button in the rules list).

Continue reading →

Posted in Jabber with tags Psi, Jabber, XMPP