Proposal to start a new implementation of Thunderbird based on web technologies

Ben Bucksch ben.bucksch at beonex.com
Fri Apr 14 21:32:17 UTC 2017


Ben Bucksch wrote on 24.03.2017 18:04:
>
> Summary:
>
>   * Our base goes away. Gecko will change dramatically in the future,
>     and dropping many features that Firefox does not need anymore, but
>     that Thunderbird relies on.
>   * Our codebase is now roughly 20 years old. It heavily and
>     intrinsically relies on those very Gecko technologies that are now
>     being faded out, more or less aggressively.
>   * JavaScript and HTML5 have evolved dramatically. Entire
>     applications in JS are now realistic, and have been done. There
>     are several existing JS libraries we might leverage. JavaScript is
>     an efficient language, which allows fast development. A rewrite in
>     JavaScript makes sense now.
>   * We will learn from shortcomings of existing Thunderbird, and solve
>     them, for example a more flexible address book, and cleanly
>     supporting virtual folders without overhead.
>   * The goal of the rewrite is to be close to the existing
>     Thunderbird, in UI and features, as a drop-in replacement for end
>     users, without baffling them. They should immediately recognize
>     the replacement as the Thunderbird they love. It will install and
>     run as normal desktop application, like Thunderbird does today. It
>     keeps user data local and private.
>   * We can also make a new, fresh desktop UI, as alternative to the
>     traditional one, for new users. The technology also gives us the
>     option to run it as mobile app.
>   * While we implement the new version of Thunderbird, the old
>     codebase based on Gecko will be maintained until the rewrite is
>     ready to replace the old one.
>   * I expect this effort to take roughly 3 years: 1 year until some
>     dogfood (usable by some developers and enthusiasts). 2 years until
>     a basic feature set is there. 3 years until we can replace
>     Thunderbird.
>
> I will describe each point in more detail below.
>

Based on the discussion, I'd like to amend or correct my proposal in the 
following points:

  * Thunderbird based on Gecko would continue to be maintained on the
    current level of effort. I did write that above, but many apparently
    misunderstood me.
  * If some of the newly written components can be backported to old
    Thunderbird, with a reasonable amount of effort, we can do that. The
    address book would be a prime example for that. However, that
    backporting is a separate effort and would not be done by the same
    team that writes the new app, but other developers, so that one team
    can concentrate on the new Thunderbird-Next-Generation and another
    team on the old Thunderbird.
  * There are some existing libraries that we might be able to use for
    TB:NG, e.g. emailjs.org . There are also a lot of modules on npm.

Ben

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/tb-planning/attachments/20170414/0a8a0bf2/attachment.html>


More information about the tb-planning mailing list