Cleaner UI

In Instantbird 0.2 a lot of visual bloat has been removed from all windows. Some margins have been reduced, borders that weren’t useful for clarity have been removed, and alignments have been improved. All of this contributes to a better use of the available space on the screen, and to a better perceived impression of simplicity in the user interface.

To illustrate this, let’s compare the conversation window before and after:

Conversation windows in Instantbird 0.2 and 0.1.3

The buddy list has also been improved:

Buddy list windows in Instantbird 0.2 and 0.1.3

The status can now be changed directly from the top of the buddy list instead of having to interact with a poor popup dialog. (Note that for the users who hate clicking, the status can also be changed quickly using commands from conversation windows: /away /dnd /back /offline.)

The account manager has also been simplified a lot, and is now usable in a much smaller window:

Account manager windows in Instantbird 0.2 and 0.1.3

Message Styles

As exchanging messages is the most important feature of an instant messaging client, we put a great deal of thought into the way the messages are displayed. As we have already explained, we decided to implement the Adium message style system. This system offers a great flexibility to message style authors to display the conversation content the way they want.

In order to give users a good out-of-the-box experience, we have packaged a variety of messages styles by default in Instantbird.

Bubbles

In Instantbird 0.1.*, the display of conversations was very simple (some may say boring!), and very similar to what Pidgin does. In Instantbird 0.2, the default message style, called “Bubbles,” is a lot more colorful.

Messages are displayed in colored bubbles. In a private conversation with one other user, there’s a background color for your messages, and a color for the messages you receive. In multi-user chat rooms, there’s a different color for each participant, so you easily can tell which messages are sent by the same participant:

chat room with people talking in colorful chat bubbles

In this theme, the display of messages is clear and well spaced out. This theme was designed to be usable for most users.

A few special features have been added to this theme to improve the readability of conversations and reduce the waste of space: consecutive messages from the same person are grouped automatically, consecutive system messages are automatically grouped and collapsed, and the timestamps are no longer displayed for each message, but as a tooltip when a message is hovered.

Conversation using the Bubbles theme, with grouped messages and collapsed system messages

Because we know one theme cannot fit the needs of everybody, we provide a few other themes by default.

Dark

The “Dark” theme is designed to please people who like having a dark (almost black) background color in their windows.

Conversation using the Dark message theme

Paper Sheets

The “Paper Sheets” theme is a less fancy alternative to the default Bubble theme.

Conversation using the Paper Sheets message theme

Most of the features of Bubbles are also there, but it takes less space on the screen (no bubbles), and the colors are lighter.

The margins used in this theme automatically adapt based on the total size of the conversation area, in order to save space if you decide to use a very small conversation window.

Simple

As we know some people may feel nostalgic, hate fancy stuff, or simply want to have a very compact message theme, we have included a message theme called “Simple.” With this theme, all the space is used for the conversation messages.

Conversation using the Simple theme

Finally, a little reminder about extensibility: even though the themes included by default have been designed to fit the needs of most users, they may not fit perfectly your personal taste, and that’s why there are hundreds of message themes already available for you to enjoy trying out. Creating a new one yourself is also very easy.

Stability

We care a lot about the stability of Instantbird. Again, the Mozilla platform has some great tools to help us here.

Crash Reporting

In the unfortunate event of a crash, a window apologizing for the interruption in your work flow will pop up, and suggest you send some anonymous information about this issue to our servers. We can then analyze it and fix it for a later version, to make Instantbird more stable for you.

Instantbird Crash Reporter dialog

This crash reporting system has already helped us a lot to improve the overall stability of Instantbird.

Crash detection and protection

In previous releases, the worst stability problem that occurred was a crash during start up (while automatically connecting accounts). This was very annoying since it was not possible to use the graphical user interface to change the configuration of the accounts likely to be related to the crash.

In Instantbird 0.2, we have addressed this issue by detecting if the last connection attempt finished correctly, that is, without the application being quit unexpectedly.

Start up crashes are very rare and you will most likely never run into one, but if it does occur to you: don’t worry! At the next start up, you will see the account manager pop up with a message explaining the situation and inviting you to either retry connecting or edit the configuration of your accounts:

Account manager with automatic connection disabled and an error message explaining the problem

If the crash occurred after you added an account or changed the configuration of an account, this account will be the only one that won’t connect at the next startup, and the message in the account manager will look like this:

Account manager where an account was disabled because of a crash during the last connection attempt.

Updates

When we identify the cause of common crashes, or when a serious issue is discovered (for example, an IM network no longer works), we try to quickly release a new minor version including a fix for the issue.

Instantbird will periodically check for updates and notify you automatically if a newer version is available. If you accept the update, it will then be downloaded automatically and applied during the next start up.

Dialog prompting the user to accept a security and stability update

If you expect a new version, you can also force Instantbird to check now for an updates, using the “Check for updates” menu item:

Check for updates menu item

Nightly builds

People who want to very closely follow the development of Instantbird can decide to receive the latest development version daily through this update system. We call these versions the “nightly builds.” These builds are produced automatically every day so that new issues can be detected early on, before they creep up into release builds.

About dialog of a Nightly build of Instantbird

Feel free to use them, but watch out! They may not be stable, and if you decide to use them, you are expected to do so to help us test the bleeding edge features, not just be a cool kid who’s got the new toy first. So if there are bugs, please report them (Filing a bug: what a bug report should contain) instead of complaining.

Preferences dialog

The preferences dialog is a new feature in Instantbird 0.2 which will feel familiar to Firefox users. The overall appearance is the same, making you feel at home.

General tab of the preference dialog

Some of the options are also the same…

Themes tab of the preference dialog

… while some are very specific to Instantbird:

Advanced tab of the preference dialog

Conversation Tools

Some tools you already have in Firefox can help you manage your conversations in Instantbird:

Find

Trying to find where a topic or keyword was mentioned in a long conversation is a common action. Instantbird uses the same findbar as Firefox to provide a search facility inside conversations. Just press Ctrl + F (Command + F on Mac OS X) and the findbar will appear:

Findbar in conversation window

However, when looking for something in a conversation, the most recent match is probably the most interesting. That’s why for Instantbird we adapted the findbar to search from bottom to top by default.

Zoom

Having trouble reading the text in conversations or fitting all the content on a small screen? Then the zoom feature is for you.

The keyboard shortcuts are the same as in Firefox: Ctrl + + to increase the size, Ctrl + - to decrease, and Ctrl + 0 to reset to the default size (Command instead of Ctrl on Mac OS X).

same conversation zoomed at various scales

The changes in zoom settings are applied to all conversations at once and saved so that you do not need to adapt the zoom more than once.

Tabs

During the 0.2 cycle, we spent a lot of time reworking the conversation window. The conversation window will now feel more familiar to Firefox users. That’s because lots of parts have been borrowed and adapted. In this post, and the next few posts, we will present features that are already present in Firefox, but have been adapted for Instantbird.

Let’s begin with tabs: conversations appear in tabs that work exactly the same way as in Firefox 3.6.

Tab sizing

Tabs are sized to take full advantage of the available space: when there are only a few tabs, their width allows seeing most of the title of the conversations, and a close button is visible on each tab, making it easy to close a tab with a single click.

Top of conversation window with 2 tabs and some free space

If there are more tabs or if the window is smaller, the tabs shrink, and the close button remains visible only on the selected tab to save space.

Top of conversation window with 4 tabs, only one close button is displayed

If the space is really too limited to fit all the conversation tabs, the tab bar becomes scrollable and a button appears to give the user a way to display a list of all tabs at once.

Top of conversation window with overflowing tabs, and the all tabs menu opened

All this makes very small conversation windows usable.

Very small conversation window with 2 tabs

Drag and drop

Tabs can be easily reordered, just drag a tab and drop it where you wish it to be.

dragging a tab, tab drop arrow visible in the same window

Dropping a tab elsewhere detaches the tab to create a new window. The new window appears where the tab was dropped.

new window with only one tab

Tabs can also be dragged between windows:

dragging a tab, drop arrow visible in another window

OS integration

On Mac OS X, the active conversation window is easy to distinguish from the others, thanks to different colors of the tabs.

An active and an inactive conversation window on Mac OS X

Our goals: toward Instantbird 0.2 and beyond

As you may already know, Instantbird 0.2 will be released soon. The development of this version has been going on for more than a year already! While we have been busy adding new features or polishing existing ones, we may have missed a few opportunities to communicate about what we were doing, what we had already done, where we are going, and why. And when we did write something about our new features, the announcements lacked screenshots, and probably didn’t convey much of our enthusiasm.

The last few days before the 0.2 release are an opportunity for us make up for our lack of communication.

The way toward Instantbird 1.0

Let’s begin with a clarification about the way we are slowly but surely going to our future 1.0 release. Our initial roadmap contained the somewhat misleading claim that our goal for 1.0 was to reach “feature parity” with Pidgin. This led some people to believe that we were basically copying the Pidgin graphical user interface and reimplementing it in XUL. Although this could have held some truth for the earlier goal of Instantbird - which was to provide the extensibility that is loved in Firefox and features similar to those found in Pidgin - this is no longer the case.

When we implement a new feature in Instantbird, we carefully consider how it is likely to be used. We think about the use cases. We look at how the same problem has been handled by other existing IM clients, so that we can benefit from what others have done before us. Sometimes we take inspiration and implement something in a similar way to another client (for instance the message theme system that we have borrowed from Adium), but sometimes things don’t look satisfying and we have to look for a better solution. We especially try to avoid exposing the user to new popup dialogs that interrupt the user but don’t seem absolutely necessary.

Once something is implemented, we do our best to take advantage of the early feedback we get from our nightly testers.

So why are we doing this? Copying the interface of an existing application as quickly as possible would be easier, and would lead to a fast result. But it would be worthless. We don’t need another Pidgin, Adium, … (insert the name of your favorite multi-protocol IM application here). These applications already exist and are mostly great, there’s no point in cloning them. What we do care about is our users: our current users of course, but also future users. We believe instant messaging should be less frustrating. We want to build an all-in-one instant messaging application that is as easy as possible to use, yet powerful. We value simplicity and ease of use in the default configuration, and at the same time we want to allow advanced customizations. Developers with an idea should be able to easily customize their IM client, like they can already do with their web browser.

We value privacy, and respect your data. Instant messages often have confidential or intimate content. We believe that our users should have the power to decide how this information is used, and where it is stored. This is the reason why even though more and more users decide to use web applications like Gmail, Facebook or Meebo for their IM needs, we believe that it is still relevant in 2010 to build an IM application that runs directly on the computer you own.

We don’t know yet how Instantbird 1.0 will be, it will need to be discussed. With You. At this point we are discussing which improvements will compose the 0.3 release. If you want to take part in this discussion or have questions related to our long term goals, don’t hesitate to get in touch with us.

What’s next?

We are confident that if you have tried a release from the Instantbird 0.1.* series, you will see Instantbird 0.2 as major improvement. And if you haven’t used Instantbird before, then the 0.2 release is a great time to start! In the next few days, we will detail a few of the features that already make Instantbird 0.2 a very usable instant messaging application, despite its low version number.