Swift and Isode

Having been working on this behind the scenes for a while, we’ve got some good news. After years of quietly supporting Swift, Isode are now taking Swift formally into their product set. This means more developers working on Swift and the opportunity for more rapid development and advancement of the projects. In practical terms, we think the only obvious change externally is likely to be an increase in activity in the commit logs and improvements to the software, both of which have been becoming increasingly obvious in recent months as Isode’s been increasing support.

Some details about which you may care:

We hope you’ll join us in our excitement for Swift’s future.

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!

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.

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.

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.

First of all, the goal of the week was to find and fix as many bugs as possible. This is what our ‘hackathon bug count dials’ were displaying at the end of the week:

Hackathon Week Bug Counter

In only one week, we found 19 bugs, and fixed 64! Not a bad result for our first hackathon, don’t you think? As you can see from the trend, we put a big dent in the list of open bugs:

Hackathon Week Bug Trend

And if fixing all these bugs wasn’t enough, we found the time to do some other things on the side as well during the week:

Thanks again to all the people who have helped us during this excellent week!

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!

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. In fact, a screenshot of our live hackathon week bug counter sums this up quite well:

Hackathon Week Bug Counter

That’s right: in merely a couple of days, we managed to fix 50 (more than half!) of the open bugs, and found 17 new bugs. And what’s more: we still have the whole weekend ahead of us, so you still have a chance to join us in fixing, testing, and improving Swift!

A big thank you to all the people who have been helping us out so far!

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.

This summer, you’ll see the following new faces hanging around the Swift room:

Since Kevin and I could only mentor Cătălin and Mateusz, and we really wanted to have Yoann join us as well, we decided to bring in some extra help this year. Tobias, who not only has participated in GSoC 4 times as a student, but also is a top Swift contributor, and authored practically all of the Swift Jingle code during GSoC last year, will be mentoring Yoann in the screen sharing project.

As you can see: great times ahead!

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 swift@rooms.swift.im, 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).

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.

For those interested in the nitty gritty protocol details: file transfers are negotiated through the Jingle File Transfer protocol (XEP-0234), using SOCKS5 (XEP-0260) as the main transport, and In-Band Bytestreams (XEP-0261) as fallback. To improve connectivity, we use both the NAT Port Mapping Protocol and the UPnP Internet Gateway Device protocols to allow connections through most firewalls, and SOCKS5 relaying proxies in case all else fails.

The new feature has been tested for interoperability against (slightly modified) development versions of both Pidgin and Gajim, which, together with the Pidgin-based Adium, cover a large XMPP user base. After both clients update their protocols to track the newly published Draft specification versions, all 3 should be able to exchange files seamlessly.

What still remains to be done is lots of testing (both internal testing, user testing, reliability testing, and interop testing), bugfixing, and some refactoring here and there to clean up some of the code (which already is in very good shape). Our end goal is to reach a rock solid implementation, with a near guarantee that file exchange will always work (which experience teaches us is far from trivial).

To conclude, we’ld like to thank Tobias for contributing this great new feature to Swift, for providing valuable protocol feedback to the XSF, and for laying the foundation to other exciting Jingle-based features (including voice/video conferencing).