desktop e-mail UI using gaia e-mail libs (was: TB and AMO...)

Andrew Sutherland asutherland at asutherland.org
Sun Oct 27 01:22:19 UTC 2013


As a quick follow-up, it seems like there might have been some ambiguity 
about the #1 relationship of what I'm talking about (which I'll call 
mysteriousmail for now) to Thunderbird and #2 how much of a desktop app 
it would be.

1) mysteriousmail would not be intended as a Thunderbird replacement or 
killer or anything like that.  In fact, having removed myself as an 
owner/peer from all Thunderbird/MailNews (sub)modules, I have no say 
whatsoever in any decision making process related to Thunderbird.  As 
long as there's an active community around Thunderbird, I expect 
Thunderbird to continue to exist.  I still have a lot of opinions from 
my time hacking on Thunderbird, but the people keeping Thunderbird alive 
and moving Thunderbird forward are the people making the calls.

Eventually, it's possible mysteriousmail, something like it, or just the 
JS back-end of the Gaia e-mail app could be feature competitive with 
Thunderbird and it might be worth considering more drastic alternatives 
like re-implementing the Thunderbird UI on top of the Gaia e-mail 
back-end, especially if XUL becomes deprecated.  But that would not be a 
decision I would make, that's a decision the people contributing to 
Thunderbird would make.  The caveat is that, while I also have no say in 
how MoCo resources are allocated to support Thunderbird, it's likely 
that it would make more sense for MoCo to allocate any resources to 
supporting a purely JS based mail client for security reasons versus 
Thunderbird's largely C and C++ back-end and its separate distribution 
of Gecko that needs to be kept up-to-date.  (NB: Thunderbird could 
potentially be made into a XULRunner app/Firefox extension which would 
moot the Gecko problem but not the large native code-base problem or its 
architecturally-necessitated main-thread operations.)


2) In terms of desktop-nativeness, "mysteriousmail" would be a web app 
like the Gaia e-mail app is a web app.  Using the web app runtime (WebRT 
https://wiki.mozilla.org/Apps/WebRT) it is possible for web apps to 
resemble native apps by getting their own icon, separate window to run 
in, etc., but it would have no special native components.  Based on 
existing platform support, it also would have no support for the 
traditional overlay extension model, but extensions are absolutely a 
goal and could be accomplished through the use of sandboxed iframes 
using postMessage/message ports. Add-ons written using the 
Jetpack/add-on SDK could probably be made to work in this execution 
context too.

It is an open question for Firefox OS how we make things hackable / 
extensible without requiring users/developers to fork and modify apps or 
requiring all apps to explicitly implement an extension API.  Once 
that's addressed in the platform we can use that too.  So far, 
greasemonkey-style user-scripts have been discussed.  At the more 
explicit end of the API spectrum, an Inter-App Communication API is 
planned and the emerging ServiceWorker web standard may also provide a 
means of extensibility.  If people are interested in that, it's probably 
best to discuss that on the dev-b2g, dev-gaia, dev-webapi, or 
appropriate W3C/WHATWG mailing lists.  (I'd start with just dev-b2g.)

Andrew



More information about the tb-planning mailing list