Google Summer of Code 2012 Roundup

Instantbird 1.2 was released about two months ago and we must again apologize for keeping this blog fairly quiet.  Sorry about that!  But we’re here now, so read on for some (not really so) juicy Instantbird news!

Instantbird 1.2 release went fairly smoothly, much smoother than the last release!  We’ve gotten some great feedback (and had lots of bugs filed) and of course have started working on Instantbird 1.3 already!  Most of the fixes that have so far gone into the 1.3 nightlies so far are minor…but taken altogether, I’m not sure I could go back to 1.2!  Feel free to give them a try and report any issues to us!

Thunderbird 15 was “recently” released, which also contained the core chat backend of Instantbird.  We’ve had a bunch of bugs filed from that release too!  Between feedback from the two programs we’ve made a lot of minor improvements that will definitely make Instantbird (more of) a joy to use.

Google Summer of Code 2012 has been over for a bit (it ended in August), but we never thanked Will for his time with us and the great work he’s done so far.  Currently the account importer code he wrote this summer is undergoing review, but hopefully it will be complete for Instantbird 1.3 to allow extremely easy transitioning to Instantbird!  Thanks for a great summer Will!  We hope you’ve enjoyed working with your mentor, Florian, and the rest of the Instantbird team; we’ve definitely enjoyed working with you, helping you and watching you learn.  Good luck and hopefully we’ll continue to see you around (and have contributions from you!) in the future.  We’d also like to thanks Mozilla for graciously allowing us to be part of Google Summer of Code 2012 through them!

As always, feel free to stop by #instantbird on irc.mozilla.org (and, yes, Instantbird supports IRC: you can’t use the excuse that you don’t have an IRC client!) to give us some feedback or ask questions.

Instantbird 1.2 Released!

We’re very proud to release Instantbird 1.2, which has a huge number of improvements!  If you love Instantbird 1.1, you’ll definitely appreciate the improvements made in this release; and if you don’t use Instantbird yet…well I’d suggest you give it a try! You can read the full list of changes (403 to be precise) in the release notes.

Instantbird 1.2 took way more time to finish (10 months!) than we originally expected, and even though there’s a very long list of improved details, there’s no major new features. So you may wonder… what happened?!?

Well, the reason why it took so long is… Thunderbird! The major change that came with Instantbird 1.2 is that the chat back-end code is now shared with Thunderbird, that will feature instant messaging support in its version 15, to be released in a few weeks.

This forced us to give priority to some long standing side projects that were interesting for Instantbird, but not immediately required: as Thunderbird can’t use libpurple which has an incompatible license, we had to finish sooner, rather than later, some major architectural changes to ensure that our chat back-end doesn’t depend on libpurple at all. That’s right, Instantbird 1.2 is no longer based on libpurple (but still uses it to support many protocols of course).

Our back-end working without libpurple wasn’t enough for Thunderbird: the only protocol plug-in shipped in Instantbird 1.0 and 1.1 that didn’t use libpurple was Twitter; more were obviously needed. Fortunately, we were already cooking a JavaScript implementation of XMPP (started during Google Summer of Code 2011) and IRC (it’s been Patrick’s side project for years!). Our initial goal when we started working on these 2 protocol reimplementations in JavaScript was to gain full control of the way these important protocols are handled by Instantbird, and to improve their extensibility. For Thunderbird, finishing them became a priority, and it’s where we spent most of our time!

As I’m talking a lot about Thunderbird, you may be wondering if this involvement of the Instantbird team in the Thunderbird project could mean we are discontinuing the development of Instantbird as a stand-alone application. Not at all! We believe both applications complement each other very well, and have different use cases. While Thunderbird, with integrated email and IM, may be better for users who work all day long with their email client and IM the same contacts; we believe lots of home users tend to use a webmail instead of a local email client and would prefer to keep their IM application separate.

We’re very excited that Instantbird is developing closer ties with Mozilla, who we think shares a similar mission of allowing users, YOU, to control their own privacy on the Internet! A few of our developers are now “peers” of Mozilla’s new chat module, and we are pursuing more opportunities to bring Instantbird closer to Mozilla in the future.

We hope you’ll enjoy using Instantbird 1.2 as much as we are and we greatly look forward to the next version of Instantbird! As always, if you see any bugs please file a bug, catch us on IRC or email us!

Tab completion in Instantbird 1.2

We’ve made some major improvements to the tab completion of nicknames in IRC
channels (and other chatrooms). The goal, as always, is to make it “just work”
(so you can think about more important things!).

Simply press TAB to complete the first couple of letters you have typed:

To undo the completion, just press Backspace as usual.

If there is no unique nick that fits the bill, Instantbird tries to guess which nick you mean from the context. For example, if you have recently been pinged by someone, that nick is preferred. Otherwise it just completes as much as possible, and shows you a list of alternative completions:

You can then always press TAB again to cycle through these candidate nicks until you get the right one:

(Shift+TAB will cycle through the list in the opposite direction.)

Notice how Instantbird automatically added a colon after the nick, as we were addressing someone at the start of a message. And if you add another nick, you get a comma-separated list:

Of course, sometimes that may not be what you intended. So if you delete the trailing colon by pressing Backspace, the punctuation adjusts accordingly:

Don’t forget you can also reply to any message by double-clicking it! This will add the sender’s nick to the beginning of the message.