Instantbird 0.2 feature preview: protocols as extensions

One of the features we wanted in Instantbird 0.2 was the ability to install libpurple protocol plugins like any other addon. I’m happy to report that this is now possible with current nightly builds.

To demonstrate this feature, I compiled the Facebook Chat libpurple protocol plugin. The result is an installable xpi file of about 200kB, that people can try with nightly builds of Instantbird.

This file contains a binary module compiled for Windows, Linux and Mac OS X (universal), produced by copying the code from here into the Instantbird source tree. This is the quickest way I found to build it, we will need to figure out a better (without having to download and build the whole Instantbird source code) way later. This is the exact patch I used to build it.

The xpi file also contains a set of icons and a locale file. I will explain in another post how we replaced the usage of gettext in libpurple by a way to get localized strings from regular .properties files.

Feel free to try this facebook chat addons. I don’t know how stable it is, but I’ve used it for a few days already and haven’t encountered any serious issue. If this turns out to be crashy for you, don’t hesitate to send us crash reports, I uploaded the symbols to our symbol servers, so the reports should provide useful information.

I have other nearly-ready Instantbird 0.2 features to introduce in more details later, including: localization, emoticon themes, message styles (like Adium), …

Next time: how localization works with Instantbird and how we replaced gettext.

Instantbird 0.1.3.1 released

We have just released a small update to Instantbird 0.1.3. This will fix the connection issue with ICQ that appeared a little more than two weeks ago (sorry it took so long!) and improve the stability. You can download this new 0.1.3.1 release from this page or just click on the ‘Check for updates’ menu to download only a small update file.

We are going to post a status update about the progress of the development of the 0.2 version soon.

Instantbird 0.1.3 released!

After a few months without any release, we are glad to announce the release of Instantbird 0.1.3! This should be the last minor release before Instantbird 0.2 on which the work has already started (we are currently working on localization stuff).

What’s new?

This version contains several new features, but is also a stability/bugfix release.

  • New features:
    • Proxy support: you can now use HTTP and Socks proxies.
    • Typing notifications: you can know when the person you are talking to is typing.
    • Automatic reconnection: when a non fatal connection error occurs (e.g. network failure), the account is automatically reconnected after a few seconds.
    • Idleness: servers are notified when you are idle so that your status is changed.
    • Better handling of chat rooms: the topic of the room and the list of participants are displayed, IRC commands work.
    • Findbar: it is now easy to search in a conversation, with a findbar similar to the Firefox one. A notable difference is that it searches backwards by default, so that the most recent matching messages are found first.
    • Universal build: the Mac binary now also works on PPC Macs.
  • Updated: Instantbird 0.1.3 is based on libpurple 2.5.2 and Mozilla 1.9.1b2.
  • Improved stability: we used the crash reports that we got from the 0.1.2 release and nightly builds to fix bugs that resulted in crashes.

You can download Instantbird 0.1.3 for Windows, Mac or Linux from this page. Of course you can also download the source code.

We look forward to get your feedback on this release. You can comment on this post or join us on IRC in #instantbird.

Nightly builds available

Nightly builds

We produce nightly builds of Instantbird every day with buildbot. These builds can be downloaded from our server at http://ftp.instantbird.com/instantbird/nightly/latest-trunk/. Please note that these builds are available for testing purpose only, and are totally untested before we put them online. Use them at your own risks. If you want to help us with testing, there is no need to download and install a new build from the server everyday, the application will automatically propose updates.

To ensure that users won’t confuse nightly unstable builds with releases, we use a different set of icons for the nightlies. The nightly icon is:

Nightly logo

What’s new?

It has already been a few months since the last release, so I guess it’s a good time for a quick status update.

Just after the 0.1.2 release, we switched from subversion to mercurial for the versioning of our source code. Our mercurial repository is publicly available at http://hg.instantbird.org/. At the same time, for the Mozilla code we use, we switched from the CVS trunk (1.9.0.x) to mozilla-central and we are now using a build system which is very similar to the comm-central one. In fact, it’s a copy of it with very small modifications. Thanks to the people who helped us for the transition and to the people who worked on the comm-central build system.

There are also some new features: There’s a findbar in the conversation window (Ctrl/Cmd + F to open it), commands (/me, /topic, etc…) work in conversations, the list of chat room participants is displayed (for example, in IRC channels), typing notifications work, idleness (becoming idle based on the inactivity time) works, status changes are displayed in conversations, it’s possible to force a check for update, …

We also spent time on code cleanup (debug logging for example) and stability improvements (taking into account the data from the crash reporting system).

What’s next?

We plan to do another minor release soon, and after that, for the 0.2 release, the focus will be on extensibility.

On a side note, this project has been public for one year, Instantbird 0.1 was released on October 18th, 2007. Even if we hoped to do more, it’s been a great year for the project!

Instantbird 0.1.2 crashing with some MSN accounts

We have just released Instantbird 0.1.2.1 to fix a crash that a lot of people experienced when trying to connect their MSN account on Windows. Unfortunately, this issue wasn’t detected during our testing prior to the release and we are really sorry about it.

If you have Instantbird 0.1.2 on Windows (and if it doesn’t crash at startup because of an automatic connection to your MSN account), you will receive an automated update notification within 24 to 48 hours.

You can get the full version of Instantbird 0.1.2.1 from the download page.

We would like to thank our users who sent crash reports and useful feedback, and congrats to the people who worked on the crash reporting and automated update tools. Being able to notice, locate and fix quickly such bugs with a small (21kB) update is just amazing!

Instantbird 0.1.2 released!

After a few months without any release, we are glad to announce the release of Instantbird 0.1.2!

What’s new?

This version is more a stability/bugfix release than a feature release.

  • Updated: Instantbird 0.1.2 is now based on libpurple 2.4.3 and Mozilla 1.9.0.1.
  • Improved stability: we fixed the outstanding bugs that resulted in crashes. We also turned on breakpad to get more data on crashes.
  • Detailed tooltips: the tooltips of the buddy list now contain detailed information.
  • Under the hood: On this release we spent a lot of time on the build system. Instantbird can now be built like any other Mozilla application. It doesn’t require to build dependencies separately any more. This results in smaller downloads (we package only the files that are really needed) and for developers it will now be easy to play with our code.

You can download Instantbird 0.1.2 for Windows, Linux or Mac from this page. Of course you can also download the source code.

We look forward to get your feedback on this release. You can comment on this post or join us on IRC in #instantbird.

Instantbird 0.1.1 released!

We are glad to announce the release of Instantbird 0.1.1.

This release is mostly a bug fix release. We’ve been impressed by the success of the 0.1 release and thought it would be nice to deliver a more stable version for the users we already have before making big changes for version 0.2.

The things we focused on for this release are:

  • Improved stability: we fixed the outstanding bugs that resulted in crashes.
  • Proper handling of non-ASCII characters. Instantbird now uses UTF-8 for all strings.
  • Usability improvements. We fixed bugs that didn’t require much of our time and will significantly improve the user experience. For examples: aliases in the buddy list, linkification in the chat window, … We also removed some common annoyances in the UI.
  • IRC Chats. In order to build a community, we thought it was critical to provide some way for users and testers to talk in a public place and not only send us private messages. There is now in the “File” menu a “Join Chat” item which will allow users and future contributors to join us in irc.mozilla.org#instantbird

We look forward to get your feedback on this release. You can comment in this blog or join us on IRC.

We would like to thank the early testers and users of the 0.1 release who provided some great feedback and helped us make Instantbird better!