GMail Threading Details
GMail is Google's new web-based mail system. It includes several exciting features that break new ground in email usability. This page describes one of these -- its innovative message thread display model. It is my hope that it might help inspire other developers of mail user agent apps to include some of these ideas.
GMail does not operate on messages -- the default UI for message display is oriented around 'conversations'. Here's a screen-shot displaying a conversation in an advanced state; it's a 7-level deep thread from the 'Linux-Thinkpad' mailing list: screenshot
Note the following:
- the only messages displayed ('cards' in GMail terminology) in this view are the latest post, its immediate parent, and the very first message in the 'conversation'. All the other messages in the thread are kept hidden; the model is called 'collapsable history'.
- quoted text has been hidden.
- the 'Expand all' button on right.
- the sender data is colour-coded, so that recurring senders are easy to pick out. (this is clearer in the next shot).
no ads (the GMail ad furore is much ado over very little IMO).
Some key points regarding 'conversations' that are worth noting:
- Note that a 'conversation' != a 'thread'. In traditional threading MUAs, like mutt, KMail, and Evolution, the thread is a tree structure. In GMail, the 'conversation' is a path through the tree, without the side branches. An issue raised by this is that a message may appear in several conversations' history as a result.
Most MUAs operate based on individual messages. However, in GMail, the 'conversation' is the unit. Individual messages cannot be archived or refiled into other folders -- these operations work on conversations. (Note, however, that messages can be deleted individually.)
Note that when a conversation is 'archived', it'll still show up again in its entirety in the Inbox if a follow-up message arrives -- as the 'history' of that message. (this is one of the core usability suggestions I made back in 2000 to the Evolution team.)
Another display of the 'collapsed-history' view is as follows: screenshot
- the 'conversation history' messages are all visible in this one.
- the 'snippets' (excerpts of the message) are visible.
- the colour-coded sender data is a lot clearer here; you can see the repeated correspondents easily.
By clicking on the name of a correspondent, a message from the 'conversation history' can be expanded in-place: screenshot
- Note the visible quoted text here; it seems GMail is less good at dealing with internet-style inline quoting as opposed to Outlook-ish top-quoting. But then, if someone's using net-style quoting, they probably know how to to edit it down to something readable anyway ;).
- the mailing list footer, added to each message on the list, is considered "quoted text", too.
- quoted text uses its own highlighting colour, so it's easily differentiated from new text.
- when the user returns to the Inbox 'overview', then back to the conversation, the choices made as to which messages are 'expanded' and which are 'collapsed' are not remembered.
By clicking on the 'show quoted text' link, the quoting is expanded inline: screenshot
By clicking 'Expand all', the entire conversation is expanded inline. screenshot (warning: large)
- the individual messages can be collapsed again by clicking on the sender name at the top of the message. (a little non-intuitive IMO, but works fine once you know about it!)
- Note the little glitch: one of the correspondents' names is visible in the bottom-right corner of the page. This is a 'progress popup' which hasn't been removed; a slight bug in support for Firefox.
Reply is performed inline, as well. Clicking in the text-box below the 'Reply' and 'Forward' buttons causes a set of text boxes to open inline: screenshot
- the cursor focus is immediately placed in the 'message body' text-box, so the user can just start typing. Very nice.
quoting is sensible. It's pretty much Outlook-style top-quoting, but let's face it, that battle's been lost
- HTML is not supported; it's a text/plain reply. However, if you ask me, that's a good thing!
- the reply composer can be 'popped out' into its own window, using the button to right of the 'Check spelling' link.
- spell-checking, adding CCs, changing recipients and headers, and adding attachments all works as it should.
The 'Print conversation' button creates a simple, one-column, grey-scaled representation of the conversation: screenshot
the HTML of this page is some pretty hairy DHTML: screenshot. Saving a page from GMail will not work; it has to be viewed 'live'.
Comments
(please add your comments on this page here, and be sure to leave your name!)
I'm a bit confused by your comment here:
> An issue raised by this is that a message may appear in several conversations' history as a result.
Can you give an example, please?
Also, you should know that it *IS* possible to delete ("trash") individual messages. While it's a bit unintuitive, you need to get to that message in conversation view, click on MORE OPTIONS, then click on the TRASH THIS MESSAGE link.
Overall, though, very useful and readable review!
Regards,
Adam
adam at the domain bladam.com
(how does one do decent line spacing in a wiki anyway {sigh})
JustinMason: hi Adam -- the 'message may appear in several conversations' history' comment refers to this situation.
Suppose you have a thread like this:
message A message B1 is a reply to A message B2 is a reply to A
If you read "conversation B1", you'll see message A in the history. If you read "conversation B2", message A is also in the history there, too. That's what I mean...
Also, yes, you can definitely trash a message. updated the text. thx!