Invitation for technical discussion on next-generation Thunderbird

Ben Bucksch ben.bucksch at
Sun Apr 23 13:17:48 UTC 2017

Magnus Melin wrote on 23.04.2017 13:44:
> While most things would be JavaScript, I doubt it's feasible to have a 
> desktop application with no C++ at all.

Aside from OS integration (e.g. "default email app" etc.), where do you 
see the need for C++ code?

> Without looking too much on that proposal, it strikes me that if it's 
> a good idea, why isn't that standard?

With that argument, we would never do anything new. Ever. Because if it 
was a good idea, it would already have been done. So, per se, all new 
ideas are bad.

The basic ideas of JS Collections are a already standard in other 
languages, like Java and C#, to various degrees. They are not a standard 
in JS, because there is no standard library, and there is no coherent 
community yet (it's just now forming on npm, I think), so everybody 
works with arrays. Not because it's good, but because they have nothing 

> If the collections were observable

First, just because a collection is observable doesn't mean it's 
writable by the consumer. These are distinct qualities. More importantly:

Observers are a cornerstone of MVC (Model/View/Controller), the 
separation of logic and UI. I am planning to use design patterns and 
other good code design practices throughout the application. They are 
crucial in making the application readable, maintainable and 
future-proof. That's for me an important part of the rewrite, to make 
Thunderbird code (not just the platform) future-proof and easy to adapt 
to new ideas and circumstances. The current Thunderbird is not at all. I 
want to make a Thunderbird for the next 20 years, not just for today.

More information about the tb-planning mailing list