Lately I’ve been asking a lot of different people, “Why do you use tabs?”, in reference to tabbed web browsers.  I wanted to do some quick and dirty research on the design and usage behind tabs; some of this is obvious yet it helps to have it written out.

So here’s a bit of what I’ve found people claim to use tabs for.  I’ve arranged the information into what I felt were 4 distinct types of usage.  I’d love to hear about other usage that doesn’t fit into these categories or other categories people have observed.

Defer Action

Tabs for Defering

Often people want to defer an action until a later time.  In a web browser they will open a link in tab that they’d like to read a little bit later.  This was reported to occur on news or information sites where a person is reading a single page but wants to branch off to other links after reading.  After completing the tab in their current focus the person would begin processing the other tabs lined up for later.

Lightweight Bookmark

Similar to deferring an action, people mentioned that tabs were a way of keeping certain pages around for an indefinite period of time.  These pages weren’t necessarily going to be processed right away but they didn’t want to be lost.  When asked if they bookmarked these page people responded that these pages were transitive reference type pages (i.e. they needed them to continuously use them for a certain project) and so tabbing seemed to be a way to bookmark things in a lightweight fashion.  This especially made sense when tabs are saved within a session; people reported opening lots of tabs (hundreds) and then closing Firefox down completely only to reopen them all later.

Collect Related Information

Many people cited using tabs specifically to collect information on the same subject.  Often this kind of collection was research for a composition like a blog post.  Some people claimed to do this in a very formal fashion of opening up a fresh window for a blog post and then creating new tabs in that window for research related to the blog post.  While others referenced doing an important activity in one window and having a set of windows with tabs in them for researching ideas around that important activity.  This type of collection is similar to the lightweight bookmark except that most of the tabs were intended for a very finite period of time such as using the page to link to.

Switch Context and Keep Current State

Many people also talked about how they would “Adventure off” into other tabs to follow something that was either more important or more interesting but they really wanted to keep their exact place they were.  This  is very similar to the defer action, you could say this is the after state of the defer action.  The only difference here is that the person is intentionally keeping the first tab around in it’s exact state where the defer might lead to closing tabs as they are finished.  A common example was a quick interruption that called for searching for something unrelated to what they were doing.  People would open a new tab, complete their search and then close that tab to go back to what they were doing.

Some Related Links for you to open up in Tabs

What does this mean for Thunderbird?

This information isn’t for figuring out how tabs work in firefox and then squeezing that idea into thunderbird.  It is merely here to create a common language reference for talking about tabs and their usage.  Hopefully people could see new ideas on how tabs can be used from understanding how they are used in other contexts.  There currently exists an implementation of tabs in Thunderbird but it will not be the same as it is now by the 3.0 release.


War Plan Red

Dear friendly neighbors to the north.  Only Defence Scheme No.1 can save you now for I will soon be en route.

A Great Invention

The Canadian Broadcasting Corporation ranks Poutine as #10 in The 50 Greatest Canadian Inventions, impressive.  And I intend to eat a lot of poutine while I’m up in Montreal this weekend.  In fact I hope to stop at Au Pied de Cochon for their famous varieties.

Canada Sweatshirt by BB Jeans London

hopefully I’ll see this sweatshirt that I can’t seem to find anywhere


Signatures in Email

Last week I was blitzed by being cc’d on a lot of email signature related bugs. 🙂  To remain calm and keep delusions of control active I started on a wiki page for Message Signatures in Thunderbird.  Right now the page contains lots of links to relevant areas and ascii art mockups for choosing a default signature for accounts; it’s meant to collect thoughts, research, and define direction.

Managing Signatures

I think a general improvement plan will involve simplifying the signature selection and creation process.  Here are a number of points that I think can improve the current aspects of signature management.

  • Each account is created a default signature (from the person’s name and organization)
  • Every signature can be edited with a built-in signature editor (created from the compose window)
  • Signatures can be imported from files, but are saved in the Thunderbird profile or preferences (see bug 324495)
  • A separate dialog is used for managing all signatures, with import, add, edit, remove actions as well as a link to see the signature extensions available from AMO.

Concept Mockup of Signature Chooser in Account Settings

Using Signatures

In the relevant extensions section of the wiki page I tried to list most of the extensions that are dealing with how to use signatures in the compose window.  There are a number of ways of solving this problem and lots of issues surrounding posting style that I am hesitant to battle with.

Several bugs (see bug 219197, bug 73567, and bug 37644) have suggestions that attack the problem from different angles.  New comments and suggestions are welcome!

ASCII Art Side Note

I think I’ve started to use Johan’s ASCII Art Mockup post as a reference for my own ascii art; it’s good to see some style written down somewhere.


A bit of a Communication Problem

I’ve been doing some testing recently with Thunderbird and its offline support; trying to get a handle on what the state of the onion is.  One problem that has bothered me is the silent state of online to offline, not to mention the dialogs that happen after that.


How do you convey that Thunderbird is offline or online? I’m not too sure of the implementation yet but I think we can get some excellent ideas when examining IM clients and how they handle online vs. offline; for email it’s just a little less extreme.


Should have some indication that is available, but not too prominent because this is the state where everything is good.  When you’re online, emails will be sent right away and new messages will arrive, we don’t need a large piece of real estate to inform you that the situation is normal.

Simple and obvious green signal that you’re online


Requires a clear indication that is prominent and obvious.  Auto-reconnection should be the default and  timeouts created that indicate when the next reconnect will take place; allow people to interrupt and reconnect immediately.

You’re grey and offline, do you want to try going online now? I’ll try in a little bit anyway…

Because for email we can also expect that some people will want to be offline intentionally we need to allow for people to remove the indication and include ways for people to tell Thunderbird to stop trying to auto-reconnect.

Getting Back Online

When you’ve finally reconnected it’s a moment for celebration… Yay! Get back to work!!  This kind of notification allows people to understand that you’ve reconnected and things will be back to normal.

Getting back online from an offline state can also incur some syncing and likely heavy network traffic so for those reasons alone it’s good to let people know that Thunderbird has realized the new online state and is going to start doing it’s business again. Hold on to your butts…

Woo Hoo! We’re back online!

Some Caveats

We examined an IM client with a single account.  There are some extra things about Thunderbird and email that need to be considered, here’s just one:  You could have multiple email accounts and only a few are not connecting.  What does it look like to have the account you’re focused on online and another account offline?  What does the opposite look like?


Auto-Complete on Subjects

To make an initial start on our new search aspirations we need to begin testing and trying out some of our improved searching ideas.

Quick Search

Our first step in this direction is to add an auto-complete on subjects in the Quick Search entry.  It’s important to get a lot of feedback on our search improvements so integrating our improvements with the current search is paramount. New behaviors need to be pushed out during our alpha releases to gain visibility and testing.  This improvement doesn’t alter the current search behavior at all, everything is planned to act in parallel.

What will change?

The quick search will try to help you find message subjects by auto-completing on the subject name. The subjects it offers for auto-complete are searched from the available subjects in the folder Thunderbird displays in the current view.

For Example:

  • Type in the name “address” into the quick search entry
  • The auto-complete will give a list that match the word “address” somewhere in the subject
  • Selecting an item in the list will complete the whole subject name and search the message view for that name

Lo-fi mockup of Quick Search Auto-Complete on Subject

The auto-complete is only planned to work for subjects at the moment.  Hopefully we’ll be able to start expanding this soon to include email addresses and names too.  Once we have some experience with the auto-complete widget we can start expanding it’s scope a little.

Here’s the current design for the layout of the rich-item widget for matching message subjects.

There are a couple of other tweaks to the {meta} area that need to be improved.  The light colors are a little hard to see and it might be better to brighten up the sender names.  Also it could be good to add the date the message was sent. Perhaps like this:


ex: Bryan to you,david,gary 3 hours ago

What will stay the same?

The quick search should continue to search only in the current folder / view.  This may change sometime in the future, but only when we have a better solution for that problem.

Also it will still work for searches that aren’t subjects, like senders.  When you select a different search type, like “to or cc”, then it won’t continue to auto-complete on subjects; only when you select “subject” or “subject or sender” types.

When is this happening?

Everything is up in the air for discussion right now as we work through an incremental design that makes sense.  The implementation pieces are going to come together soon when the new toolkit auto-complete widget from firefox is pulled into Thunderbird (see bug 370306 and bug 309081) and we figure out the best strategy for quickly searching a set of subjects from the current view.


Searching for a new find

It’s time to start looking into a new search method for Thunderbird. One of the major changes planned for Thunderbird is a new and improve search, but what does that mean?

What do we have?

First lets look at what we have for a search system.  At a very simple level most search systems break down into two pieces, a search interface for filtering and a results interface for listing.  Thunderbird does this in a couple places.

Quick Search

The quick search entry is always at the top right of the Thunderbird window and allows people to search over the current view.  The results of a quick search fill into the current view, replacing whatever listing was previously shown.

The Quick Search defaults to searching only the Subject or Sender and will only search mail that Thunderbird has downloaded already.  Messages that are not listed in the current view (like in another folder) will not be searched unless that folder is selected, otherwise a person needs to use the Advanced Search.

Advanced Search

Hidden under the Edit Menu and Find Sub-Menu is an advanced search dialog that can make use of the remote mail or news protocol to perform a full search instead of just a local search.   The Search Messages dialog provides it’s own search interface as well as it’s own results view directly below the search.  While the Search Messages dialog provides some more advanced search methods over the quick search it’s hard to find and difficult to use effectively.

The Search Messages dialog allows for complex search queries to be built with multiple search terms composed of a number of different field type selectors.  The queries require a lot of input from the user because of the tight structure used to create them.  The same search and results interface code is used for creating mail filters.

Edit -> Find -> Search Messages…

Advanced Search Dialog

What do we want?

I was lucky enough to chat with Andrew Gilmartin yesterday and he framed a future goal very well.  “We’re not looking to make search an added feature box on the side of Thunderbird“, we’re looking to make search the definitive method for viewing mail.

What does “Search as the definitive viewing method for your mail” mean?  That’s a good question and I’m not sure exactly what a good answer is yet. A search would help you find the message you’re looking for, and perhaps a search view never lets you lose that message in the first place.  There’s a lot to explore.

Here are two important pieces of a search system and view that need to be examined and somehow exposed in the interface.

Search and Filter

An impediment of the current search system is requiring people to choose a search type (Subject or Sender) before they even enter any text.  To help people hunt for the correct item you want to allow for starting their search very broad and then allow them to narrow down that broad search with filters like subject or sender.

The current search system has some speed issues that likely prevented a broad to filter system of searching to be implemented.  The mail client provides a decent filter bar when searching mail that allows people to see what the current filters are (folder, account) and change them.

Browse and Filter

The SEEK extension is an excellent example of how offering a system of browsing mail by grouped attributes from the start can help people find the item or group of items they were looking for.  Instead of starting with a search term you give the person a list of attributes they might use to filter the list of messages.

An inspiring system for a similar searching, browsing, and filtering methods is things, you should try it if you haven’t already.

Getting What we Want

Moving towards a new search based paradigm will take some adventurous steps and it’s important not to disturb current usage while making those steps.  Here are a number of changes to look at making.

Merging Search Interfaces

Each of the two current search interfaces provide some needed features and capabilities, however having two separate interfaces for searching is confusing and difficult to understand.  We need to combine the ability to do a quick search with the ability to perform a full search into a single interface with an improved results view.

With a single search interface Thunderbird will be searching the local and remote mail (like IMAP) at the same time.  However local results will be listing quickly and remote results will likely take a little more time.  Both sets of results, local and remote, can be merged into the same search results view by showing local results instantly and filling in remote results as they arrive.

Offline Cached and Indexed Mail

In order to have a fast search system even while offline Thunderbird needs to do a much better job of caching and indexing mail as it encounters it.  With new messages instantly cached and indexed they can be made available to search queries, filters, and views immediately.

This is an excellent time to start thinking about the data mining mail in a way that helps searching messages later.  It’s also time to think about making the defaults tuned towards offline usage while still allowing people to control online / offline caching.

Auto Complete

With mail data indexed locally and quickly available Thunderbird should be able to provide a slick and fun auto-complete on search terms it knows about.   Auto complete when searching for items you’re already aware exists helps with miss-spelling errors and more complete matching.  The awesomebar shows how with just a little broken memory of a title or url you can easily find the page you saw once before.

Fetching Results

Our current drive is to investigate some indexing on messages (at least subjects), pull the new auto-complete into Thunderbird, and get a search bar using that fancy auto-complete on mail subjects and hopefully the addition of a couple more fun things.  Leave some comments or jump on the newsgroup to participate.

Search Yesterday and Attachments

A wire frame of a possible mail search auto-complete


Lightning Calendar Month View Hacks

With an hour or so of downtime during the Calendar Face 2 Face meeting this week I started a little CSS hacking of the Lightning Calendar extension.  My goal was to change improve the visual effect of the month view into more of a heat map than a listing of all your events for the month.  I believe the month view should only be answering the question, “What days am I busy, what days am I free?”, while avoiding answering every other possible question.

Old Calendar Month View

Here’s a screenshot of a day in the current month view.  There are dark drop shadows for each event listed, as well a (visually alarming) alarm bell for every event that has an alarm.  The borders are thick 2px lines with a dark color that overwhelms the board.

Effectively there is a lot of visual noise happening with all the different background and dark border shading that makes the view always appear somewhat cluttered.

Current Month Day View

Current Full Month View

Drawing the Eye

When you start shading the the areas of the calendar in a darker shade than they were before you can begin to see the visual effect created and where they eyes are drawn to.  Places and things that aren’t as important as others.

Plus the extra visual information that is provided in some of the shading isn’t always necessary in the month view.  For example, off month days are now indicated by a lighter shade of font color in the date text instead of a dark background color that makes them look important instead of additional.

Calendar Month Hack

In this screenshot of a single day in the new hacked month view you can see that the borders of days changed to a very light 1px color and the date numbering has been lighted up as well.  I put in a slight background shade for the top border as well to give it some separation (not completely necessary).  The colors and stacking of events in a day provides the necessary separation that the dark border colors were giving before.

In general everything has been flattened so the visual effect is about the colors of the calendar events drawing your eyes to the areas they exist in the most, while the empty parts of the calendar look much more open.

Designer code can be had at bug 430382 and you can see a full month view patch screenshot from there as well.

Next Steps

Start changing the timed events such that they don’t look so visually loud on the board.  Time events, ones that range for a certain time during the day, should appear to be less than an all day event on the visual landscape.

Further Improvements

The text for calendar events is obviously much too verbose.  You can see in the above screenshot that 08:30 AM could easily be changed into 8:30 and still provide the same information while taking less space.

Christian has much more work done for Improved Events and Tasks as well as others areas, all of which need to be merged.


Calendar Face to Face

I’ve been out in Hamburg, Germany for the past couple days at this years Calendar Face to Face meeting which has been going very well.

Thunderbird and Calendar teams

I did make my overnight trip and spent my first two days up in Copenhagen doing some touring around and checking out the nightlife.

Copenhagen Canal
Busy Canal in Copenhagen

While currently very expensive for me and it seems likely even more expensive for their residents. Copenhagen is definitely a place I could come back to visit again.

Christiana Entrance
Christiana Entrance


Mac Address Book… try Thunderbird Nightly

The latest Thunderbird Trunk Builds are built to integrate into the Mac Address Book and we need some testing, so stop watching bug 203927 for builds.

1. Grab an Official Mac (Universal binary) from the nightly build

2. Enable the Address Book via the config editor (sorry you have to do this)

Open Preferences / Options and go to the tab Advanced -> General
Click: [Config Editor…]

Create the following: (from bug 397811)

"ldap_2.servers.osx.description" -> "System Address Book"
"ldap_2.servers.osx.dirType"     -> 3
"ldap_2.servers.osx.uri"         -> "moz-abosxdirectory:///"

3. Restart Thunderbird

4. Try out using your System Address Book integrated into Thunderbird

5. File some bugs or hop on the dev.apps.thunderbird news group to ask about issues

Some Know Issues


These pref entries have to be created as they don’t already exist, see comments below

bug 397811 has landed in the nightly Thunderbird releases, look for this menu.


Travel, Work and Other Updates


I’ll be heading out to Hamburg April 18-23rd with David and others for the Calendar project face-to-face meeting.  It will be great to meet Christian in person now that we’ve been talking on the phone discussing possible Calendar and Thunderbird changes.  I’m excited to make a quick overnight trip up to Copenhagen as I’ve never travelled there before.


It’s great to see that Mark has started work with us. There’s lots to be done, especially on the address book, work that Joshua has developed in the Great Addressbook Rewrite.  I’ve started compiling some research of other addressbook / contacts systems so we can have some ideas of what current implementaitons do.


As I got back home really late after Friday, well into Saturday morning, I didn’t end up doing much on Saturday.  So in my recovery time I poked around with my bugzilla link grabber extension and added a little AJAX to it.  And thus I feel buzzword compliant!

Note the lovely screenshot of the bugzilla info inlined at the bottom.  It might be nicer to create those elements as hovers to the bug links so they don’t take up space in the email but appear on mouse over of a bug link.

I just picked out a few things from the bug like bug number, status, number of comments, the title and the last comment text.  Other information might be a bit better, but it’s all available.

I did this by using the XMLHTTPRequest to the bugzilla bugs XML version (just add “&ctype=xml” to the url) and then running the result through XPath.  There’s a bit of a problem with the XML version as it gives you all the attachments as well as all the comments so things can be a bit slow when there are a lot of large attachments in a bug.

Anyway, not bad for a quick couple hour hungover hack.

Designer Code!!! eeek!!!

The code for all this is up on github in the ajax branch, check it out.

Who knew email didn’t have to be static!


Extending Bugzilla Links in Thunderbird

I took a couple hours… ok most of the day yesterday to fix a little issue that’s been bothering me for a while.

Bugzilla links inside email messages.  I get countless messages where people reference bug 426175 but then don’t link to the bug.  The other option is for the person to include the link in the email which is ugly and pushes the flow around because there is a large link inside the text.

Despite emails not being HTML mail, for whatever reasons, I still want bugs to be linked in a reasonable manner when I’m looking at my mail.  I couldn’t find an existing solution, though there likely is one hiding somewhere.  So I started a new extension to solve my problem.

The Bugzilla Link Grabber Thing

I’m not good with names, another reason I probably shouldn’t have kids.  (Offspring of Bryan Clark Jr.)

Here is a typical message that contains a mix of bugzilla urls and shorthand bug mentions.  You can see the urls are long and a bit ugly, while the short hand link mentions (even though this example mentions the same bug) are not linked to the bug itself.

Before you view any mail the extension takes the long bugzilla urls and converts them into the shorthand form.  It also linkifies any shorthand bugs into working urls.

Right now the extension only understands mozilla bugzilla and gnome bugzilla because that’s all I have accounts for.  But others could be added and I was hoping to have a preferences dialog that allows you to add alternate bugzillas (see TODO).  But otherwise it works great.

For xpi downloads, source, TODO, and more details take a look at the Bugzilla Link Grabber wiki page.

Fixing things

If you’re interested in this working for your copy of bugzilla or see some bugs in the code, don’t ask, please dive right in and fix things. Don’t forget to grab the STEEL extension or this one won’t work.  Also it only works on thunderbird nightly builds right now; but maybe that’s something you can fix.

I put the extension source up at github, sorry if that’s not your RCS of choice.  Anybody who creates patches to fix one of the TODO items is welcome to one of my remaining invites to github.  I don’t really have anything else to give…


Lessons from Architecture

Jean Nouvel has received this years Pritzker Prize for his work in architecture.  An architect I admire for many reasons, one of which he is often criticized for and yet I believe is an amazing strength; he is not easily characterized.  There is no obvious signature to his work that he brings to each project he undertakes, they are all completely within context but not in a way that makes them disappear; they stand out and bring enjoyment through their contrast and yet belong through their harmony.

From the NPR interview with Jean Nouvel there were a couple of things that touched on his philosophy of design; lessons I read into.

Survey the site (research is paramount):

  • What was there?
  • What is there?
  • How was it was used?
  • How will it be used?

The exterior of the Guthrie Theater in Minneapolis, Minnesota, which was designed by Jean Nouvel - Amanda Ortland/Guthrie Theater

The New York Times also has a small article on Nouvel winning the Pritzker but the NYTimes Magazine will be publishing an in depth article for this Sunday called The Contextualizer.

“Typically, architects begin the design process with a sketch pad or scale models, but Nouvel starts with an idea he can express in words.”

“He tries things, and not everything works. There’s a mixture of things that are extraordinary, things that are experiments, things that don’t come off aesthetically. But Jean is willing to jump in and take on things and try. That’s a great quality.”Frank Gehry


Lightning Nightly Builds

Since I started using the Thunderbird nightly builds I haven’t been using the Lightning plugin because the add-on version didn’t keep up with the latest build versions of Thunderbird.  Luckily this morning I woke up from this reality when I found the Lightning Nightly Updater which fixes that problem.

After installing I changed it’s options to also install the gdata provider for Google Calendar, then I ran the Check for Updates menu item from the Help menu and calendaring is back.

Update: Just to note that the nightly updater should grab the proper version even if you’re running a thunderbird branch instead of trunk.


To Reply or Not to Reply

To Reply or Not to Reply (thumbnail) Last night I read the paper To Reply Or Not to Reply: Predicting action on an email message, and took some notes on interesting information as I went through it. 

The paper covers a survey done to examine what are the characteristics of an email message that would indicate a users action on the message. If examining a broad context of users the survey data is a little weak, for example the participants in the survey (121 people) are all university faculty, staff, or students; 76% of whom were male.  So the data is not completely representative of all email users, however it does give us some fantastic insight on a range of users who use email for work.

Read it for yourself, but here are some highlights.

4 Distinct Purposes of Email

These were identified from lots of previous literature they reviewed about email in an organizational context.

  1. Task Delegation / Project Management / Reminders
    action requests, status updates, and meeting and deadline reminders
    often left in the inbox until acted on

  2. Information Exchange, Storage, and Retrieval
    information requests, and information responses
    responses often saved for later retrieval, either archived or left in the Inbox

  3. Scheduling and Planning
    meeting requests, and responses to meeting requests
    email has mostly replaced phone calls and memos to become the scheduling supporter
    often quickly responded to

  4. Informal Communication
    instantaneous delivery, and rapid response to email communication similar to instant and social text messages
    likely to receive a quick response

6 Email Content Types

Broken down from the 4 purposes of email in an organizational context.

  1. action requests
  2. status updates
  3. reminders
  4. information requests and responses
  5. scheduling requests and responses
  6. social content

Method: 2 Part Survey

Statistical Data Collection

Asked the number of messages sent, received, sitting in Inbox, and other habits


Asked for detailed ratings of 5 new non-spam messages in their email Inbox

Also indications as to the nature of the content, message importance, sender characteristics, and action taken on the message (replied, plan to reply later, do not plan to reply), or what they did with the message (delete, file, or leave in Inbox)

Hypothesis: Sender and Content

Users evaluate message importance based on characteristics of the message sender and content.

Results: Sender Characteristics

Sender and content are important in generating the users perception of the importance of a message.  However it is the senders characteristics (co-worker, friend, boss, etc.) that mostly determine the probability of a response to any message.

The majority of individuals (75%) had less than 1000 messages in their Inbox, however Inbox size combined with the high number of folders reported seemed to suggest people are filing messages into folders.

Interesting Stats

Out of the total messages surveyed (581)

Percent of Message Types

(graph courtesy of paper)

  • 36% of messages contained important content (attachment, link, or phone number)
  • 34% of messages contained a request for action
  • 14% of messages contained scheduling content

Message Reply Statistics

(image courtesy of paper)

  • 64% did not require a reply (30% delete these messages)
  • 23% required an immediate reply
  • 13% required a reply they postponed (of these 79% were left in the Inbox)

Rate of Return Stats

  • Messages sent to a list of individuals were 18% less likely to receive a reply
  • Messages with only 1 recipient were 20% more likely to receive a response
  • Having a work relationship with the sender lowered the probability of response by 9%
  • Frequency of communication did not play a direct role in the probability of response


Blue STEEL Zoolander

Out of the Thunderbird status meeting this week I learned that there’s already a test extension available which gives Thunderbird Extension Developers some of the new STEEL interfaces.

What is STEEL?

STEEL stands for, Scriptable Thunderbird Easy Extension Library, and that means a simple javascript library to access your data (email, addressbook, etc.) inside Thunderbird.  Like it’s Firefox counterpart FUEL, STEEL will create an easy extension development API for Thunderbird.

What can you do with STEEL? 

Right now STEEL is in it’s infancy with a 0.1 release as you can see in the implementation plan.  However there already exists lots of things you can do with the existing STEEL code.

Here are some examples:

You’ll need to grab the latest STEEL extension from bug 408370, luckily there are STEEL Extension Install Instructions which you can follow.

Where is STEEL going?

What happens with STEEL is up to extension developers.  If you’ve already developed an extension for Thunderbird please give STEEL a try and let the developers know what you think.  If you’ve been thinking of developing an extension for Thunderbird try STEEL out to see if it does what you need.

The coming API will depend a lot on the kind of feedback that can be gathered right now. Join the conversation on the #maildev IRC channel or send a message to the newsgroup.

Personally I’d still like to see a couple things happen.

Simplify extension development by relying heavily on a local cache.  As a person who wants to try out a lot of different ideas inside Thunderbird via extensions I’d like to avoid network latency issues and would rather have all the information cached and indexed locally such that all calls could be fast and synchronous.  The only signal I would want to worry about is when the cache has updated so I can refresh my calls.

Allow for objects to be retrieved separately and by-directionally queried.  For example I’d like to be able to ask for a list of attachments and then for each attachment find out what message it was sent in, who sent it, and even other attachments they sent.

  • for each ( attachment in Application.attachments )
    • from = attachment.message.from
      • for each ( attachment in from.attachments )

Improved Search APIs.  I got to talk with the excellent David Huynh of SEEK fame and asked if he could take a look at the STEEL APIs for improvements; I’m excited to see what he has to say.  Improving search is one of the major goals for Thunderbird 3 and all the great new ideas come out of extensions so development needs to be ready for that.

Malleable STEEL

A simple exercise I have been doing is to take an existing extension, even ones for outlook, and offer a Thunderbird extension developers perspective of the STEEL API .  Right now I have a breakdown of the Xobni Extension which I thought was very interesting extension that I’d like to see in Thunderbird in the future.  The breakdown examines different pieces of the extension with simple function calls that could enable it.


Tagging Mail with Events or Tasks

Email idea #43819

I would like to be able to tag messages or threads of messages with calendar events or tasks.

My tagging scheme breaks down into these types: (with examples)

  • Project: thunderbird, evince
  • Discussion: desktop-devel, firefox-journal-devel, moz-bugs
  • Temporal: meeting with david, thunderbird alpha1 deadline, and tabbed interface wiki page task

Project Tags

These are used to tag messages related to a project or group such that when I want to find that message again later I can look into that project category and find the message.  I most often manually apply these tags to messages received because they are important, but not part of my regular discussion framework.

 Discussion Tags

I use filters to create these tags which automatically sort and categorized messages from mailing lists and groups.  There is often a lot of discussion related to these groups and I can’t make progress in my day if all that discussion goes directly into my Inbox.  Therefore I usually have these items filtered out of my Inbox and tagged so I can read them at a point where I’d like to catch up with the discussion.

Temporal Tags

This one I do not have yet.  Very often a thread of mail messages are all related to a meeting I’m going to have, a task I’m going to finish, or a deadline that’s coming up.  I’d like to have that event or task shown as a tag in my mail view such that before the date arrives or the task is finished I can continually access all the messages related to it.  Once the date has passed or the task has been finished the tag can be archived out of my main view, mostly available to search queries.

This would probably also help me to defer messages for later.  If I want to schedule a time later in the day to reply to a bunch of similar messages that I don’t have time for now I could tag them all with “3pm – Sit down and Reply to Messages Event” such that the event would ring at 3pm and show all the messages I had tagged for responding to.

Does something like this already exist out there?

Are there other tag types people use often?


Getting Inboxes Done

Spent some downtime Sunday reading Getting Things Done (GTD) after previously talking about it I picked up a copy a couple weeks ago and have been running through it in my spare time.  I probably talk about the book too much already and am boring everyone with my fascination over the classic email overload problem.

Another great source of similar information is Merlin Mann’s thoughts at Inbox Zero. If you haven’t seen his Inbox Zero talk, take about 40 minutes right now to watch it.

Here a link for the Video for Merlin’s “Inbox Zero” talk
Getting my Work DoneHere’s my plan over the next couple weeks:

I already started some work on Thunderbird and the tabbing interface by interviewing people about what they use tabs for in their browser and what tabs mean to them.  Should be posting some of that information shortly.



After an achy day in a coffee shop chair yesterday I spent some time last night looking up co-working again.  Nothing new has happened on Co-Working Boston page since I was last there.  However the CSMonitor recently ran an article covering Betahouse, a local co-working facility, previous covered in this article.

Lazy Cow (…) by law_keven. License:

After I first posted my name on the Co-working Boston page I got a message from someone near Long Island looking to open up their own co-working facility.  The issue in setting a new place up seemed to be finding the price to set.  She wondered if I had a price in mind and since I’d been thinking about this already I sent her my formula for deciding what to spend.

I’m a bit of a details dork and this was formula to calculate my average commute costs when I used to drive to work everyday.

Distance: ~ 30 miles from Cambridge to Westford

Cost: ~ $0.505 per mile according to the Federal reimbursement numbers (which likely don’t take into account recent gas prices)

60 miles round trip / day * $0.505 = $30.30 / day

Working Time: 1777 average hours per year worked according to wikipedia which is 222 working (8 hour) days / year.  Really you want number of days driven, not number of days 8 hours were worked but the total usually comes out to be less than the real value and therefore we end up with a conservative estimate.

$30.30 / day * 222 avg working days per year = $6727 / year ( or $561 / month )

Even if I through in the monthly T pass of $59 / month I now get and the fact that I still own the car ( payment + insurance + tickets and taxes) there is a considerable amount of money left which could go towards sharing a nice office space.  However since I’m pretty cheap I’d probably opt for the $200 / month deal and be a part timer, after all the coffee shops do have their charm as well.

Title coming from the excellent cow-orker slang term.

Hello there planet mozilla


Last Day at Red Hat

Today was my last day at Red Hat.

red hat

I’ve had a really great time working here, it’s an amazing place full of really smart people; and I will miss them all.

It was hard to say goodbye, but I’m excited about where I’m going.


product, brand… strong like bull

I am often inspired by Timbuk2. I’m a proud owner of one of their laptop bags and oddly hope that one day it will break just so I can design a new one of my own. Of course I’ve had this thing for almost 4 years now and it’s not wearing through at any points yet.

Their web site seems fun, friendly and light; which I have always assumed reflects their corporate personality. Take for example their Product Guarantee, which covers all defects but…

If your Timbuk2 product is otherwise damaged in the course of normal (or abnormal) wear and tear, you may not qualify for our warranty replacement, but we’re sure you’ve got a great story to go along with the marks.

Even their gift certificates are fun and realize the strength of their brand.

Recently, in another moment of hip and fun attitude, they released the Macbook Air Sleeve.



sleeve link via the ever cool, metacool