Status of the "Compose in a tab" experiment

Jim squibblyflabbetydoo at gmail.com
Tue Apr 5 19:52:15 UTC 2011


On Tue, Apr 5, 2011 at 1:39 PM, Jonathan Protzenko
<jonathan.protzenko at gmail.com> wrote:
> 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.

I'll just comment on this since I've seen similar points brought up in
the past. Though I'm probably not the typical web-oriented programmer
(I write physics simulations these days), I've done a fair bit of web
stuff in the past, and had become pretty proficient in HTML/JS. Coming
into Thunderbird, I had essentially no experience writing XUL and was
only vaguely aware that it existed. However, I found using XUL to be
much less painful for the various UX enhancements I've worked on,
since many of the things that I'd have to rely on tricks in HTML just
"work" in XUL. If nothing else, <spacer> and the flex attribute have
been godsends for me.

That said, I don't think XUL is good for everything, either. I'm
perfectly happy to use HTML for the account/folder summaries (I was
initially going to say that I would hate to use XUL here, but then I
thought about it and realized I could probably do it pretty easily).
However, I worry that the pendulum may swing too far to one side (the
HTML side in this case, but too far to the XUL side is also bad),
since I think it will make lots of things harder. The changes to the
attachment pane[1] would have been considerably harder for me to
implement in HTML (though still doable, I'm sure). Additionally, I
don't see Firefox abandoning XUL anytime soon, so we'd likely miss out
on a lot of XUL niceties added for Firefox's sake.

You also mentioned Thunderbird specifics being a problem, but that's
been equally problematic for me no matter whether I'm using XUL or
HTML. There are lots of areas where the code is just weird and suffers
from a shortage of documentation (e.g. most stuff related to the
3pane). Some of this code probably needs to be rewritten, while other
areas just need more documentation. The thunderbird-stdlib project
will probably help with this, though I think we should also look at
improving the underlying code and not just wrapping the ugliness away.

Besides, if Bugzilla comments are anything to go by, I think our test
suite is a much bigger barrier to entry than XUL. :)

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=282068

- Jim



More information about the tb-planning mailing list