Future Planning: Thunderbird as a Web App
Kent James
kent at caspia.com
Thu Sep 17 22:03:46 UTC 2015
As we are discussing our future, both in relation to radical changes
expected in the Mozilla platform, and our need to express where we are
going to potential partners and donors, we need to discuss and agree on
some big-picture issues. One of those was end-to-end encryption that we
discussed recently. I want to discuss here our future platform, and how
it related to users and their needs.
tl;dr Thunderbird over the next 3 years needs to convert to being a web
app that can run on any browser that supports ES6 Javascript and HTML5.
(web app does not imply cloud-based, only that the underlying platform
is js/html).
There are two independent but both equally critical reasons why we need
to go this direction.
First, the Mozilla platform itself has no long-term commitment to being
available as a general-purpose development environment to run
non-browser software, other than as a web app. At the same time, they
are doing amazing innovations to allow more and more functionality
traditionally associated with native clients to run under the "Web as a
Platform" meaning the HTML5/ES6 stack. Really in the long run we will
either have to fork the Mozilla platform and maintain it ourselves as an
email development environment, or go with the flow and convert. Let's
convert.
Second, more and more users are using a variety of platforms, including
not only our traditional desktop environments but also Android and iOS
(and other mobile OSes hoping to join them). I'm writing this message
using Thunderbird on a Microsoft Surface 3 Tablet, which can now run
traditional Windows applications such as Thunderbird. But we can't
expect most of our users to buy a tablet from a second-tier operating
system, merely to be able to run Thunderbird (as I did). In the last 24
hours, I have accessed my email using 4 different devices (Android phone
and tablet, Windows desktop and tablet). Only 2 of those devices can run
Thunderbird. We need to have a serious mobile story. Starting from the
existing forward-thinking Mozilla web environment, we should be in an
excellent position to convert our existing code to ES6-js/HTML5, and
that is the best long-term way to support our users on the full range of
platforms that they expect to use.
Last year, jcranmer introduced JsMime for some of the mime-related
processing. This year, he is specing a Js database. I am working on
JsAccount that will allow us to create new mailnews accounts and
associated objects (server, folder, URL, protocol, etc.) using js and
interoperate with our existing code. Although initially aimed at new
account types, JsAccount will eventually make it straightforward to
incrementally convert all of those core objects from C++ to Javascript.
We need to plan to convert the entire backend in a similar nature to ES6
javascript.
Looking to a rough long-term schedule, I see future versions of
Thunderbird looking like this:
38 (Avocet), 45 (3/2016 Bunting), 52 (01/2017 Cormorant?): Traditional
XUL/C++ app
59 (09/2017 Dunlin?) Last and traditional XUL/C++ release. By this date,
a reasonable possibility is that the Mozilla platform will no longer be
usable for non-browser XUL-based development. This version of
Thunderbird, in that case, would need to ship on a fork of Mozilla from
the point where XUL-based development becomes untenable. This will also
be our last major XUL-based release, and we will not attempt to keep
current with the new non-XUL Mozilla platform. It would also be useful
to ship a stripped-down version of Thunderbird as a web app with this
release.
07/2018 Egret? (no point in matching release numbers to Gecko anymore):
Thunderbird ships a full-version web app.
I don't see what choice we reasonably have, given the announced changes
in the Mozilla platform. We should view this as an opportunity to both
get out from the current Mozilla regression-driven development, to being
able to focus on our own issues. Hoping we can adapt to changes in the
Mozilla platform, with no commitment from Mozilla that they will try to
make that easy, is an enormous risk with little upside for us.
Comments?
More information about the tb-planning
mailing list