Extensions in new implementation (was: Proposal to start a new implementation of Thunderbird based on web technologies)

Ben Bucksch ben.bucksch at beonex.com
Fri Mar 24 20:11:38 UTC 2017

Eric Moore wrote on 24.03.2017 20:00:
> I didn't notice any mention of add-ons in your proposal.

Good point. I forgot to mention that. (There's many other aspects I 
haven't mentioned either, it's already long enough.)

The new implementation would have clear, high-level APIs (in JS), and 
should allow extensions to use them. This would be a vast improvement 
over the current state, where many parts of Thunderbird are very 
difficult to extend.

For the UI part, we should have something like overlays. They'd work 
roughly like XUL overlays, but not exactly the same, but be applied 
after the main document loaded, and written purely in JS. We need to 
define which UI points an extension can hook into, and which not, to 
avoid constant breakage.

> Would there be any migration path for existing add-on developers?

Any extensions would have to be rewritten, because they are written in 
XUL and XPCOM, and we're trying to replace that. Remember that all 
Firefox extensions are going to be killed this September, too. This 
pains me probably more than others, I very concretely lost my job as a 
consequence of that announcement.

> Would the replacement add-on API support most of the existing 
> capabilities using different technologies

Yes. If anything, I expect the new extensions to be more powerful that 
what is currently possible in Thunderbird.

> I noticed for example that Nylas N1 (which uses Electron and Node) 
> flattened all of my folder hierarchies just like smartphone email apps do


(I personally love hierarchies as form of organization)

> Would a add-on work with different front ends?

hm, good point! We'll have to think carefully about that, set careful 
extension points in the UI, like "add toolbar button" or "add menu 
entry" or "add context menu of this type of object". That's going to be 
hard, but to some degree possible.


More information about the tb-planning mailing list