IRC in Javascript - a contributor’s work

A short time after Instantbird 0.2 was released the js-proto branch was merged into the main development tree. This was the branch where the backend of Instantbird was prepared to support protocol plugins written entirely in Javascript. Not long after that, Patrick Cloke, an active contributor of the project, started working on an implementation of the IRC protocol plugin in Javascript.

Now he has written a long and detailed posting on his blog about the hows and whys, as well as the current status of his work. It’s spiced with lots of references to both Instantbird and specifications of the protocol. So if you’re interested in the technical aspects of Instantbird and how to extend Instantbird with a protocol plugin written in JS then you definitely should go and read it at his blog.

Status update

It’s been three weeks now since the last status update and here’s a short summary of things that have been done in the meantime.

Some contributors are getting more closely involved with the project lately. Subsequently some tasks, such as posting status updates, will occasionally be performed by people besides Florian, in fact this entry was written by Benedikt P.

Done:

  • Making the buddy list ready for the future: the buddy list backend mentioned in the last update has been finished, debugged and finally landed two weeks ago.

  • The Mozilla framework has supported CSS transitions for a while now and we decided to ditch our old animation code in favour of this state-of-the-art technology. Changing the display- and hide-animations on the buddy list is part of bug 504. Along with the change to the buddy list backend it greatly increased the speed when switching on the display of offline buddies. There should no longer be any noticeable delay, even when there are many buddies on the list.

  • If you ever tried to *emphasize* words in a plain text chat, be happy: we are displaying plain text formatting now, such as *bold*, /italics/, underline and |code| (bug 543).

  • We made conversation tabs look more native on Mac, taking advantage of a suggestion from Markus Stange:

    The old flat look:

    Cropped screenshot of the old look of the unified toolbar on Mac

    Now with a nice gradient in the title bar:

    Cropped screenshot of the new look of the unified toolbar on Mac

    If you have any other ideas how to make Instantbird more awesome, feel free to contact us or to file an enhancement request on our bugtracker.

  • Stuff for devs, stuff that matters: we’re using Services.jsm now and were able to reduce the number of lines used to get XPCOM services by 2/3.

  • Brainstorming: some brainstorming about completion of nicknames (among other things) happened on our IRC channel, summarized results and ideas can be found in the wiki.