First Milestone of the Awesometab has landed!

Awesometab is the project name for a tab developed by Nihanth Subramanya during the Google Summer of Code 2013 (via Mozilla) which allows to quickly start the conversation you want to start. The suggestions will be based on several parameters like frequency and recency of previous conversations and will show the most likely results when you open the new conversation-tab. It will also include already ongoing conversations (Switch to conversation) and suggestions for multi user chats such as IRC channels and XMPP chatrooms on the servers that you’re connected to.

What’s this milestone that has landed already?

After problems with the sheer size of the patch during last years GSoC project, we decided to split this year’s projects into smaller parts that can land as soon as they are ready.

So far a filterable contact list in a tab has landed that can easily be opened using the common shortcut of Ctrl+T for New Tab (from both the contact list or a conversation window) or by clicking the likewise familiar New Tab-button in the tab bar.

New conversation tab

New conversation tab, list filtered for contacts starting with letter f

It features a search bar at top of the tab content which allows to refine the results. It currently matches the entered name against each part of the contact’s names but will do more later (see next section).

Contacts are displayed similar to results in Firefox’ awesomebar while retaining the familiar look of the conversation header with the contact icon and status indicator at the left and the contact name and status message to the right of it. Additionally the tags of the contact are displayed, indicated by the same icons as Firefox uses for tags on the Awesomebar.

Starting a conversation is as easy as single clicking on the result or selecting an item with the keyboard and pressing Enter – a middle click opens the new conversation in background instead while keeping the new conversation tab visible, just in case that you need to start more than one conversation!

And what’s next?

The next step (already under development!) will be further improving this list by integrating already ongoing conversations (Switch to tab/conversation). We’d also like to include a way to filter the list by tags and to highlight the text that matches the filter like the Awesomebar does.

Later on a ranking algorithm will be introduced and tweaked to show the most important results first instead of the alphabetically sorted list that you currently get when opening the tab.

These changes are most likely going to be integrated as soon as they are ready and reviewed, so make sure you have a nightly build and update frequently!

I’m really happy to see how well this project is going, I’m already enjoying how easy it became to start a conversation using the filterable contact list.  I’m looking forward to actually see the conversations I most likely want to start right away!

Thanks, Nihanth, it’s really great work that you’re doing here!

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. Continue reading