Extensions in new implementation (was: Proposal to start a new implementation of Thunderbird based on web technologies)
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