Tag Archives: application menu

Starting Work on Mozilla Thunderbird

With the Winter holidays drawing to a close, I’m really looking forward to starting the next chapter of my life – namely, my new job at Mozilla Messaging working on the Thunderbird e-mail client.

In just a little under a week, I’ll be knee-deep in a code-base larger than any I’ve ever worked on before.  And I’ll be working with some of the best software developers in the world.

I’m pretty stoked.

So, what exactly will I be doing for Thunderbird?  What project will I be starting my work with?  I’m so glad you asked…

Thunderbird + Unity = Badass

Ok, that’s not technically the code-name for the project, but I think it more or less conveys my feelings about the whole thing.

So here’s the story in a nutshell:

Ubuntu Linux is one of several operating systems that Thunderbird runs on (the other big ones being Mac OSX and the various flavours of Microsoft Windows).  I use Ubuntu as my primary operating system – I’m comfortable with it, and I like it.

In the coming months, there will be a tectonic shift of sorts in Ubuntu.  The graphical user interface that most Ubuntu users are used to (the GNOME Shell) will no longer be the default.  Instead, Canonical, the makers of Ubuntu, have created their own user interface to run on top of GNOME.  That interface is called Unity, and will be made default in the Natty Narwhal release (due to come out on or around April 28th of this year).

Just to make sure we’re clear on this:  Ubuntu is not dropping GNOME.  The GNOME Shell is the icing on the whole GNOME Stack.  Canonical has just decided to put their own icing on the cake.

So, anyhow, my job is to make Thunderbird work nicely with Unity in time for the April 28th release.

And by “work nicely”, I mean the following:

The Global Menu Bar

If you’ve never used Mac OSX, it’s likely that you don’t know what a global menu bar is.  Here’s the idea:  in Windows and Ubuntu, each window tends to have its own menu bar (File, Edit, etc…).

In Mac OSX, and the upcoming Unity shell, instead of having these individual menu bars, we have a single, overarching menu bar. This menu bar changes itself every time you switch application focus.

Here’s some guy demonstrating the global menu in Ubuntu Linux:

Currently, Thunderbird doesn’t “play nice” with Unity’s global menu bar, and just displays the menu within the Thunderbird window as it always has.

My job is to get Thunderbird to use the global menu bar properly.  Click here to read more about Ubuntu Unity’s global menu bar.

The Messaging Menu

Ubuntu Unity also sports a shiny new messaging menu.  The messaging menu aggregates all sorts of message-related information – and that includes e-mail messages, chat messages, social networking messages, etc.  It tosses all of these into a nice, clean, simple notification interface, like this:

Ubuntu Unity Messaging Menu

It’s up to messaging application developers to leverage this feature in Unity, and that’s where I come in.  I’ll be getting Thunderbird to work nicely with this messaging menu.  Click here to read more about Ubuntu Unity’s messaging menu.

The Task List

Ubuntu Unity also sports a new application launcher.  The launcher is a panel that stretches down the left-hand side of the screen, and allows users to quickly find and execute their applications.  It also lets users know which applications are already open.  In a way, it is very similar to the Mac OSX dock.

Here is a Canonical designer demonstrating the new launcher:

Unity Launcher Introduction from Canonical Design on Vimeo.

Right-clicking on an item in the launcher brings up a context-menu for the selected application.  For Thunderbird, we’ll probably want the context menu to allow users to do some common operations, such as fetching mail, and composing a new message.  We’ll probably also want to display the number of unread messages.  So that’s what I’m going to be looking into there.

I’m looking forward to tackling these problems!  I’ll keep you posted on my progress.