Status of the "Compose in a tab" experiment

Jonathan Protzenko jonathan.protzenko at
Tue Apr 5 18:39:37 UTC 2011

Compose in a tab is a Mozilla Messaging experiment that bundles an HTML 
editor called CKEditor, and builds a totally new composition UI, that 
incidentally also happens to live in a tab.

Previously, on Mozilla Messaging

A while ago, I blogged about a "Compose in a tab" experiment [1]. Since 
then, I've focused on the development of Thunderbird Conversations [2]. 
However, I've recently resumed development on "Compose in a tab". It has 
now reached a state which I would qualify as "barely usable". I've 
submitted a new version to AMO [3], and I will be uploading dev builds 
at [4] until a stable version is released again. Right now, [3] and [4] 
only have one version. I've submitted this new version to AMO so that 
the page listing the addon doesn't disappear. Dev builds will be 
released on [4] only.

Current state of affairs

"Barely usable" means that some people might be willing to use this 
addon in its current state (full disclosure: I am not, but I hope to soon).
- Composing a new message, editing a draft, replying to all, to list, 
forwarding inline and as attachments, all work.
- Adding attachments works.
- Sending mixed emails (plaintext+html) works, and html will be used if 
and only if there's extra formatting that will be lost when sending in 
plaintext only (this is standard Thunderbird behavior).
- Contacts for Thunderbird is not required anymore.
- You won't be prompted for confirmation if you close a tab with unsaved 
contents. Because of a design choice I made, if you were editing a 
draft, this will leave two copies of the draft in the Drafts folder. 
*This is a bug* that is fixed by applying the patch from [6], or waiting 
for it to land.
- Blockquotes are not broken when hitting <Enter> inside a blockquote. 
Yes, this is infuriating. This is a bug in CKEditor, see [5]. You might 
manage to break them by holding shift.
- Other bugs are known: see [7] (for instance, session restore is 
basically useless right now).
- It's compatible with 3.1 right now, although I'm afraid bug 645552 
probably won't make it to a point-release for 3.1. So I'll probably be 
enforcing compatibility with 3.3 soon. I'm sorry about this, but 
"Compose in a tab" is so rough that I can't imagine someone interested 
in using this won't be ok with using 3.3 as well (which, as a side note, 
is wonderfully stable).

Plans for the future

I have a limited amount of manpower, and most of it is currently devoted 
to Thunderbird Conversations, as well as backend work on Thunderbird. It 
is very likely that I won't be able to invest a significant amount of 
energy into this experiment, as I'm already using most of my time for 
Conversations. What this means is I will move this forward to the point 
where the most painful (and difficult) bugs are fixed. This includes 
everything that is listed on [7]. After that, I'll probably wait for 
someone to pick up this experiment and move it forward.

Please allow me to remind here that this experiment is 100% Javascript 
and HTML. There's no XUL in it. There's some jQuery, as well as some 
XPCOM stuff that should be abstracted away by the thunderbird-stdlib 
project that "compose in a tab" now builds upon. I firmly believe that 
if we use standard technologies, any talented developer can join and 
give a hand without having the burden of learning XUL and Thunderbird 
specifics. If anyone feels like contributing, and helping Thunderbird 
move forward, this would be a very efficient way to achieve this: 
there's a lot of easy stuff waiting to be picked up there. I'm always 
willing to help and provide guidance, so anyone interested should 
probably come over to the #maildev channel and start discussing things. 
As usual, anyone can track this project on GitHub [8].

Thanks for your attention :-)

jonathan (:protz)

PS: feedback redirected to the mozilla-labs google group

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the tb-planning mailing list