Proposal to use Mithril to make Thunderbird Server

161 views
Skip to first unread message

Paul D. Fernhout

unread,
Dec 10, 2015, 10:38:58 AM12/10/15
to mithril
Guess it is easier to start fresh with Mithril than persuade people to
change big projects from React, as with Calypso. :-) So, moving on,
Mozilla recently announced they are (once again, but more seriously)
talking about dropping development and support of the Thunderbird email
application for the desktop because it does not match Mozilla's current
web technology focus. As a long-time Thunderbird user, I find that
unfortunate, even if I can appreciate the political and technical
rationale. But I still want to keep my message archive locally though,
not in some big centralized service like Slack or Gmail. So here is
another big picture proposal that could put Mithril in front of millions
of users -- to create a "Thunderbird Server" and related Mithril webapp
that runs locally under Node.js and supports to sending, receiving,
searching, displaying, and organizing of all sorts of messages:
http://pdfernhout.net/thunderbirds-are-grow-manifesto.html

From there: "To deal with Thunderbird's technical debt (which Andrew
Sutherland described on the Mozilla Governance thread that Mitchell
Baker started), I propose Mozilla fund a "skunkworks" team of about
seven people for a year to create a new server version of Thunderbird
(called "Thunderbird Server", or "ThunderbirdS" for short) that runs
initially as a locally-installed Node.js app providing a single-page
JavaScript/TypeScript/Mithril/D3 webapp for email handling and other
peer-to-peer communications using the local file system. Thunderbird
Server would use Firefox (desktop or mobile) as its primary client;
Firefox would access Thunderbird Server just like any other (local) web
server using web standards. ... This Thunderbird Server platform would,
through plugins, eventually become a social semantic desktop that could
change the nature of the web as we know it, reducing the significance of
the distinction between local copies shared with peers and centralized
content shared with clients. ... The deeper issues is local data and
peer-to-peer communications versus central data and
client-to-shared-server communications -- and related privacy, security,
and reliability concerns."

--Paul Fernhout
http://www.pdfernhout.net/
====
The biggest challenge of the 21st century is the irony of technologies
of abundance in the hands of those still thinking in terms of scarcity.

Kyle Hayes

unread,
Dec 10, 2015, 2:08:12 PM12/10/15
to Paul D. Fernhout, mithril
There is a group associated with KDE/Kolab (the Linux desktop environment) that is working to turn Roundcube (a existing web email client) into a full-blown web-based email+calendaring system with local mail hosting exactly as you said.  As far as I know, that group is funded and working already.  It might make more sense to combine forces.

I would love to see a local email client that could do the kinds of tagging and searching that I get through GMail.

Here is the funding notice:


Best,
Kyle

--
You received this message because you are subscribed to the Google Groups "mithril" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mithriljs+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Paul D. Fernhout

unread,
Dec 11, 2015, 3:03:25 AM12/11/15
to Kyle Hayes, mithril
Kyle-

Thanks for this great suggestion! :-) I'll look into it further.

--Paul Fernhout
http://www.pdfernhout.net/
====
The biggest challenge of the 21st century is the irony of technologies
of abundance in the hands of those still thinking in terms of scarcity.

On 12/10/15 2:08 PM, Kyle Hayes wrote:
> There is a group associated with KDE/Kolab (the Linux desktop
> environment) that is working to turn Roundcube (a existing web email
> client) into a full-blown web-based email+calendaring system with local
> mail hosting exactly as you said. As far as I know, that group is
> funded and working already. It might make more sense to combine forces.
>
> I would love to see a local email client that could do the kinds of
> tagging and searching that I get through GMail.
>
> Here is the funding notice:
>
> https://www.indiegogo.com/projects/roundcube-next--2#/
>
> Best,
> Kyle
>
> On Thu, Dec 10, 2015 at 7:38 AM Paul D. Fernhout
> <pdfer...@kurtz-fernhout.com <mailto:pdfer...@kurtz-fernhout.com>>
> <mailto:mithriljs%2Bunsu...@googlegroups.com>.
> For more options, visit https://groups.google.com/d/optout.
>
> --
> You received this message because you are subscribed to the Google
> Groups "mithril" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to mithriljs+...@googlegroups.com
> <mailto:mithriljs+...@googlegroups.com>.

Barney Carroll

unread,
Dec 11, 2015, 4:01:11 AM12/11/15
to Paul D. Fernhout, Kyle Hayes, mithril
This is a really interesting proposal and I'm sure there would be a lot of fun to be had in implementing it, but as Kyle suggests I think it may not prove to be the most pragmatic approach to delivering a modern replacement for Thunderbird.

Have you heard of mailpile.is? Their goal was to provide an open source and user-controlled mail server and interface that accounts for the usability patterns championed by Gmail.

On a tangent, it bears noting that — as wonderful as Mithril's view language is — native apps are not bound to the DOM, and the maxim that "universal Javascript is the future" doesn't necessarily entail that the DOM is the best option for expressing user interfaces once we divest ourselves of the requirement for running our applications in a web browser.

Of course, the advantage of the DOM is that pretty much any personal computer OS has a browser, so DOM is a good candidate for a standardised, well documented and universal UI language. On the other hand, it suffers from its original purpose as a language for reflecting HTTP-aware documents and a mandate to retain backwards compatibility (and all the bloat — design mistakes, API cruft, and the preformance overhead that entails). Gnome (and KDE) on the other hand aren't shackled by these outside context requirements and legacies and have evolved over the last 20 years exclusively to provide decent APIs for application GUI.

This post on writing native apps with Javascript + GTK might be of interest: https://www.webreflection.co.uk/blog/2015/12/08/writing-native-apps-with-javascript
To unsubscribe from this group and stop receiving emails from it, send an email to mithriljs+...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.


--
Regards,
Barney Carroll

barney....@gmail.com
+44 7429 177278

barneycarroll.com

Paul D. Fernhout

unread,
Dec 11, 2015, 12:09:29 PM12/11/15
to mithril, Barney Carroll
Barney, terrific! Thanks for this other great example with mailpile.js.

Quite likely, between RoundCube, mailpile.js, and various other systems
around, there could be various overlaps and synergies that could benefit
the whole web mail (and more) ecosystem. Still, it's in the nature of
writing complex software applications that differing assumptions get
made that may make it hard to integrate components from one into the
other. It generally takes 3X to 10X the effort to make a reusable
component than to make a locally-usable one. And often you just can't
see the essentially generality to design a reusable component well until
you have three examples from substantially different contexts.

On the underlying GUI choice issue, I've been round and round that many
times in my own thinking. It's one of the reasons I stuck with Java and
Swing for so long (especially with Swing being very a11y accessible
overall). It's good to have such choices, even as they can cause
confusion and some dillution of effort.

Still, especially in a Mozilla context, and when wanting to support a
diversity of users including mobile with the least effort, DOM is a
reasonable choice (even as I agree with what you are saying about legacy
issues). As I suggest in that Thunderbird Server proposal, if Mozilla
would get strongly support such a complex webapp, we might see further
innovation in Firefox to address performance issue or other problem
areas in order to make a server-based version of Thunderbird work well.
That would help everyone, including by Mozilla then pushing to make such
features into standards across the web.

Certainly in such a case we probably would see a lot of innovation and
increased support for Mithril. :-)

--Paul Fernhout
http://www.pdfernhout.net/
====
The biggest challenge of the 21st century is the irony of technologies
of abundance in the hands of those still thinking in terms of scarcity.

On 12/11/15 4:01 AM, Barney Carroll wrote:
> This is a really interesting proposal and I'm sure there would be a lot
> of fun to be had in implementing it, but as Kyle suggests I think it may
> not prove to be the most pragmatic approach to delivering a modern
> replacement for Thunderbird.
>
> Have you heard of mailpile.is <http://mailpile.is>? Their goal was to
> provide an open source and user-controlled mail server and interface
> that accounts for the usability patterns championed by Gmail.
>
> On a tangent, it bears noting that — as wonderful as Mithril's view
> language is — native apps are not bound to the DOM, and the maxim that
> "universal Javascript is the future" doesn't necessarily entail that the
> DOM is the best option for expressing user interfaces once we divest
> ourselves of the requirement for running our applications in a web browser.
>
> Of course, the advantage of the DOM is that pretty much any personal
> computer OS has a browser, so DOM is a good candidate for a
> standardised, well documented and universal UI language. On the other
> hand, it suffers from its original purpose as a language for reflecting
> HTTP-aware documents and a mandate to retain backwards compatibility
> (and all the bloat — design mistakes, API cruft, and the preformance
> overhead that entails). Gnome (and KDE) on the other hand aren't
> shackled by these outside context requirements and legacies and have
> evolved over the last 20 years exclusively to provide decent APIs for
> application GUI.
>
> This post on writing native apps with Javascript + GTK might be of
> interest:
> https://www.webreflection.co.uk/blog/2015/12/08/writing-native-apps-with-javascript
>
> On Friday, 11 December 2015, Paul D. Fernhout
> <pdfer...@kurtz-fernhout.com <mailto:pdfer...@kurtz-fernhout.com>>
> barney....@gmail.com <mailto:barney....@gmail.com>
> +44 7429 177278
>
> barneycarroll.com <http://barneycarroll.com>

Paul D. Fernhout

unread,
Dec 14, 2015, 7:00:11 PM12/14/15
to mithril
I started a sprint for this next week to make a proof of concept using
Mithril. The related GitHub project can be found here, along with the
ambitious schedule:
https://github.com/pdfernhout/Twirlip2

It's crazy to think I can do so much in a week (and that frankly a week
is much more time than I should be spending on it right now anyway), but
I'm trying anyway (and running behind already, but I'm still hoping to
catch up to my schedule if I stop writing emails and get pack to coding
all evening).

This is not on the sprint agenda, but if anyone wanted to take the code
and interface for something like Enigmail which is a Thunderbird plugin
(and under the MPL) and get a GUI mockup working under Mithril to use
with that proof of concept (releasing the code under the MPL2 license)
it could help. I've been discussing the Thunderbird Server idea with
Richard Stallman and it is a question of his to understand if such a
system would be harder to use than Enigmail that is a Thunderbird
Desktop plugin that uses GnuPG for email encryption. So, it would be
helpful to make a mockup in Mithril that looked like the Enigmail
interface just so we could show that to him in the context of a larger
webapp. I may do that myself someday, but not this week, and it is a
fairly independent piece of work where someone could build on graphics
and text and interface design that has already been done for Enigmail.
I'm not talking really fancy -- just a couple screens or whatever for
entering data just to give a basic idea about the user experience.
https://www.enigmail.net/home/index.php

--Paul Fernhout
http://www.pdfernhout.net/
====
The biggest challenge of the 21st century is the irony of technologies
of abundance in the hands of those still thinking in terms of scarcity.

Reply all
Reply to author
Forward
0 new messages