A Mail Client in Six Steps
Posted by Bjarni Rúnar on 1 May, 2023
Good news, friends!
Mailpile and the fine folks NLNet are in the process of exchanging signed copies of a Memorandum of Understanding!
What's an MoU? So glad you asked.
What this means, is that NLNet are going to support the next few months of Mailpile work with a grant, as part of the NGI Zero Entrust initiative. The tag-line for NGI Zero Entrust is "Trustworthiness and data sovereignty", and I'm pretty chuffed that NLNet agree Mailpile is on topic for that theme.
The Memorandum of Understanding is the final stage of our acceptance into this program; it is a description of what work they are supporting with the grant.
The Project
The work we are about to undertake is summarized on their website like so:
Mailpile's mission is to empower users to be more autonomous and private in how they manage, store and communicate over e-mail, simplifying the use of relevant encryption technology (OpenPGP, Tor and encrypted local storage). Mailpile 2 will be an Open Source, secure web-mail application, usable and powerful enough to be a compelling alternative to both mainstream desktop e-mail clients and proprietary web-mail services. Mailpile 2 will offer both local and remote access to an elegant, mobile-friendly web interface, built on web-APIs exposed by Moggie. Moggie is the project's technical toolkit for searching and working with e-mail. This stage of the project is about developing Moggie to the point where it is useful as a stand-alone tool in its own right, and feature complete enough that work on the Mailpile 2 user-interface can commence.
The Plan: ship moggie!
The MoU lays out further details. It defines six milestones which take us from where we are now, to a working terminal-mode (text based) e-mail client called moggie. Moggie's back-end will have a documented API, which can be used to build other e-mail clients or mail processing tools.
The milestones:
- Deliver a read-only e-mail client
- Add search-engine (search/filter/tag) functionality to the e-mail client
- Add writing capabilities to the e-mail client
- Add the ability to compose and send e-mail to the client
- Add user interfaces and documentation for configuration to the client
- Complete a security review cycle and make a public release
Security, autonomy and encryption (including OpenPGP) are part of every stage of this plan.
Each of these steps should take roughly one month, and after each milestone code will be published on GitHub and there will be a blog post discussing how things went. So stay tuned!
This means that in six months (give or take...), we aim to ship a powerful new tool, moggie, which provide a terminal-based e-mail client and toolkit for shell scripting and automating various e-mail related tasks.
But moggie is also designed to be the back-end for a much more user-friendly web-based e-mail client: Mailpile version 2.
Backstory
This plan is, on its surface, a bit crazy. Going from zero to mail client in six months (with grand security ambitions and only one developer, myself) would be a very tall order!
Luckily we aren't starting from zero. This plan builts on almost two years of behind-the-scenes development. We already have:
- a working search engine,
- a filtering system,
- a configuration system,
- support for multiple mailbox formats,
- encrypted local storage,
- a powerful system for processing HTML-only e-mail,
- a secure password recovery scheme,
- partial OpenPGP support,
- a partial prototype for a text-mode mail client
- ... built on a web-API back-end
- ... which is exposed as a set of unix-style command-line tools
This has been a complete rewrite of Mailpile, from the ground up. It is faster and more efficient, it uses less RAM, and it makes better use of modern multi-core CPUs. And of course moggie is written in Python 3 - no more obsolete Python 2 dependencies.
A lot of inspiration (and code fragments whenever possible) were of course taken from the old app. But moggie really is a new thing!
It's time to polish it off, tie up the loose ends and share the results with the wider community.
Which is exacty what NLNet are going to help us do. :-)
Please join the discussion about this post on our community forum.
Rebooting Mailpile
Posted by Bjarni Rúnar on 30 November, 2022
Long time no blog!
There have been a few updates on the the Community Forum, but nothing here for quite a while!
This is a short post to update everyone on the current status of the project:
- The Mailpile v1 codebase is no longer being updated
- Mailpile v2 is making progress, in semi-stealth mode
- In parallel, a project to create a dedicated hardware device for Mailpile is underway
The main reason for these changes, is that Python 2 is no longer maintained or supported by the community, and I decided that rewriting the whole thing in Python 3 made more sense than attempting to port the old code.
The old code remains a useful resource, both for inspiration and sometimes for copying code directly over, but enough things are new that it's most accurate to call Mailpile v2 a new application. The code-name for the v2 project is moggie.
It's going well, but I haven't made any public releases yet.
Watch this space for further updates. Thanks for reading!
Older stuff
- CCCamp19 and further EFail mitigations
- Burned Out and Happy?
- Community Discourse: Launched!
- Progress Report: events, packages, 1.0
- PGP Security Alert
- Desktop Usability Tests
- Building up Steam
- We are Hiring!
- Containing the Spectre
- Holiday Season Updates
- Still Hacking Anyway
- SHA2017, Here We Come!
- A Plan for 2017
- Too Cool for PGP
- Protecting Your Local Data
- Search as a Core Feature
- Rebooting the Mailpile Development Process
- Delegate, Automate, Collaborate, Pirate
- Python SSL Woes
- Status Update and PyCon SK report
- Happy Frozen New Year!
- Merry Christmas, Hello 32c3!
- Why so quiet?
- UI Updates, OTF news
- Fall FAQs
- PyCon UK and Mailpile Mel
- Goals and Releases
- Quiet days; new people
- Thank you!
- On Crowdfunding and Burnout
- Github Issue Cleanup Frenzy
- Vacation over; Back to work!
- Mailpile Beta III: WYSIWYG
- Beta III preparations
- License: The Python's Tongue
- Fast Startup and Key Discovery
- The DCSS Conference in Cardiff
- Licensing: Your Feedback So Far
- Multiple PGP Key Support!
- Roadmap Reality Check
- An AMA with the Localization Lab
- Digging for Data
- Site updates and community roadmap launched
- Choosing a License for Mailpile 1.0
- Last week: code pushed, Cloudfleet, key discovery
- A Roadmap to Version 1.0
- Last week: Roadmap, Memory Hole, refactoring
- The First OpenPGP E-mail Summit
- Back to Work!
- Beta Rejected!
- More thoughts on working with GnuPG
- Mailpile Beta II - the 4096 bit release
- To PGP/MIME or not to PGP/MIME
- Some thoughts on working with GnuPG
- One Year Later: Mailpile Beta
- Our Upcoming Beta Release: Part II
- Our Upcoming Beta Release
- Mailpile Alpha II - The Dogfood Edition
- Where is the Community Site?
- Mailpile Workshop in London
- Development, Perks, and Alpha (IGG Update #8)
- Alpha Release: Shipping Bits and Atoms
- A Plan For Spam ... and Bacon!
- A Pound of Security
- Speaking Your Language
- Perks? What perks? (IGG Update #7)
- DarkMail and Secure Protocols
- The Month of Dog Fooding
- Thank you! (IGG Update #6)
- A Rough Budget and Alpha Roadmap
- Surveillance And Centralization (video)
- The Home Stretch (IGG Update #5)
- PayPal News (IGG Update #4)
- PayPal Freezes Campaign Funds
- PayPal News (IGG Update #3)
- Fonts and Copyright Licenses
- We are funded! (IGG update #2)
- Turning Money Into Code
- Digging Through the Details
- Our first week (IGG update #1)
- Designing Security (video)
- Mailpile Launched
Some Tweets
we are back in the virtual office after co-working in Reykjavík! We are already incorporating the awesome input from our usability study and looking dorky doing it! (as we should)
More soon! /okta twitter.com/MailpileTeam...
@MailpileTeam, Thu, 03 May 2018 18:34
Second day of co-working in person for the #Mailpile team :) Reykjavík may be cloudy, but team spirits are up as we user-test installers today!
#Mailpile4Win #returnoftheMac #okayIwillStopwiththeHashtags
@MailpileTeam, Tue, 24 Apr 2018 11:43
Halló Reykjavík residents!
#Mailpile is doing a small usability test tomorrow Tuesday (real Smol!) and we are a couple of folks short. Are you in Reykjavík, using email, free tomorrow afternoon and interested in privacy? Send us a DM for details!
@MailpileTeam, Mon, 23 Apr 2018 10:54
Wuddyah look at that! The first in-person meeting of the Mailpile Team!
We will be hanging around Reykjavík the next days - so ping us if you want to come say hi! twitter.com/MailpileTeam...
@MailpileTeam, Mon, 23 Apr 2018 10:42
Don't panic: Our website is temporarily unavailable as we migrate to a beefier VPS.
In other news, we successfully hired a couple of clever people to help with our Windows and Mac packaging. Work has begun!
@MailpileTeam, Tue, 13 Mar 2018 16:19
Its Friday afternoon in some parts of the world - your inbox is hassling you & you drift off to better future where you have an email client that is a search engine & a personal webmail server that has email encryption built in!
Help us build that future! http://mailpile.is/jobs
@MailpileTeam, Fri, 09 Feb 2018 15:43
Iiiitttt´ssss "Hump Day" everybody!
Did you know that Mailpile is still looking for developers? we would luurv to get Mailpile out to as many as possible, make it accessible for most! Join us to package for Windows and MacOS! http://mailpile.is/jobs
@MailpileTeam, Wed, 07 Feb 2018 15:46
Hey developers! We are still looking for you <3 so much so that we have extended our deadline for MacOS and Windows developers to Feb. 14th <3 <3
Ping us for questions - more info here: http://mailpile.is/jobs
@MailpileTeam, Thu, 01 Feb 2018 12:00
The Mailpile Team is back after being dormant for a while and we are looking for developers to help us Mailpile out for more people to use! Check out http://mailpile.is/jobs for details
@MailpileTeam, Mon, 29 Jan 2018 09:57
We are hiring!
We are looking for Windows and Mac OS developers to help us get Mailpile 1.0 in the hands of as many people as possible.
Check out https://www.mailpile.is/jobs/ and spread the word!
@MailpileTeam, Mon, 22 Jan 2018 21:25
Oh, hi! We're not dead. In fact, we're in the process of hiring a project manager to get the ball rolling a bit more visibly again. More news soon.
@MailpileTeam, Thu, 16 Nov 2017 00:21
Have you tried the Mailpile Debian 1.0rc1 packages? We're looking for feedback on what works and what doesn't.
https://www.mailpile.is/download/linux.html
@MailpileTeam, Mon, 21 Aug 2017 10:45
As announced at #SHA2017, we now have a first release candidate for Mailpile 1.0. Linux (deb) packages are here: https://www.mailpile.is/download/linux.html
@MailpileTeam, Wed, 16 Aug 2017 16:30

