<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
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.<br>
<br>
Previously, on Mozilla Messaging<br>
--------------------------------<br>
<br>
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.<br>
<br>
<br>
Current state of affairs<br>
------------------------<br>
<br>
"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).<br>
- Composing a new message, editing a draft, replying to all, to
list, forwarding inline and as attachments, all work.<br>
- Adding attachments works.<br>
- 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).<br>
- Contacts for Thunderbird is not required anymore.<br>
- 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. <b>This is a bug</b> that is fixed by applying the
patch from [6], or waiting for it to land.<br>
- 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.<br>
- Other bugs are known: see [7] (for instance, session restore is
basically useless right now).<br>
- 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).<br>
<br>
<br>
Plans for the future<br>
--------------------<br>
<br>
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.<br>
<br>
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].<br>
<br>
Thanks for your attention :-)<br>
<br>
jonathan (:protz)<br>
<br>
PS: feedback redirected to the mozilla-labs google group<br>
<br>
[1] <a class="moz-txt-link-freetext" href="http://mozillalabs.com/messaging/2010/09/03/2756-bugs-found/">http://mozillalabs.com/messaging/2010/09/03/2756-bugs-found/</a><br>
[2]
<a class="moz-txt-link-freetext" href="http://mozillalabs.com/messaging/2010/12/07/announcing-thunderbird-conversations/">http://mozillalabs.com/messaging/2010/12/07/announcing-thunderbird-conversations/</a><br>
[3]
<a class="moz-txt-link-freetext" href="https://addons.mozilla.org/en-US/thunderbird/addon/compose-for-thunderbird/">https://addons.mozilla.org/en-US/thunderbird/addon/compose-for-thunderbird/</a><br>
[4] <a class="moz-txt-link-freetext" href="http://jonathan.xulforum.org/files/compose-in-a-tab-nightlies/">http://jonathan.xulforum.org/files/compose-in-a-tab-nightlies/</a><br>
[5] <a class="moz-txt-link-freetext" href="http://dev.ckeditor.com/ticket/7354#comment:4">http://dev.ckeditor.com/ticket/7354#comment:4</a><br>
[6] <a class="moz-txt-link-freetext" href="https://bugzilla.mozilla.org/show_bug.cgi?id=645552">https://bugzilla.mozilla.org/show_bug.cgi?id=645552</a><br>
[7] <a class="moz-txt-link-freetext" href="https://github.com/protz/Compose/issues">https://github.com/protz/Compose/issues</a><br>
[8] <a class="moz-txt-link-freetext" href="http://github.com/protz/Compose">http://github.com/protz/Compose</a><br>
</body>
</html>