bomail - Q&A


A homemade, hobbyist, hacky system for organizing and interacting with email.

Author: Bo Waggoner




Isn't bomail much inferior to mutt, notmuch, re-alpine, sup, nmh, etc?

Yeah, definitely.

So why did you make it and foist it on the world?

For fun and the learning experience! Also to play with some of the goals/concepts I talk about on the About page. As for distributing it, I figure if anyone finds some of the ideas interesting, or gets something from one of the Writeups, then it was worth sharing.

Do you use bomail to manage your own email?

Yep. I also use gmail in the browser a lot to read and respond to recent emails, but all organization (if any) happens in bomail.

Where does it fall on performance vs simplicity?

It's written in python, so ... not performance, I guess.

So how is the performance then?

I'm pretty happy with it, but I should be since I spent a lot of time on it. Couple comments: (1) Performance scales mostly with the number of messages in your tabs, in particular the number of open (non-archived) emails. (2) Emails are loaded lazily from disk only as needed. (3) The slowest operation with big email datasets is searching, which can be replaced by command-line grep. The bomail format is much smaller than raw MIME (e.g. it strips attachments) so it is much faster to grep.

Anyway, I have (as of 2017) about 68,000 emails tracked by bomail and most operations feel very fast. They take up 4.5-5GB as raw emails, but only 600MB in bomail format. To load them all into one tab and group into 35,000 threads takes 5-10s from SSD, then making changes feels pretty snappy.

Who should try or use bomail?

Probably just Bo ... it's even in the name ... but, okay, think Mirror of Erised: If you see yourself blazing to new levels of productivity, you might be dispapointed, but if you think hacking around with it might be fun, then it probably won't do any harm. I use it kind of as a backed-up and organized version of my gmail account and it's not bad for that purpose.

It will hopefully be easy to set up if you're comfortable with Linux, and natural to to use if you like emacs or vim. The most challenging step to starting should be downloading/importing all your email.

What are the major bugs or issues?

Well, not all emails can be converted to plain text, and even when they can, bomail won't always get it right. But the raw email is always there (though I've found I can happily ignore just about all such emails).

It's not fully standards-compliant with stuff like recognizing all possible valid email addresses.

You can only write emails in plain text -- but by golly, that's a feature.

The UI might just crash, though hopefully that's rare (it's very rare for me). By design, every change you make is written to disk right away, so crashes aren't likely to break anything or leave changes unsaved.

Can I fork, clone, steal, or otherwise verb bomail?

Yep. I just ask (1) give attribution (blame optional), (2) if you're going to distribute a variant, give it a different name.

How about contributing some updates, bug fixes, features?

Maybe. Uh, hopefully, depending on if I have time to review the code and like what it does. Email me about it.

What license is the code under?

I'm not big on licenses and copyrights and things. The code is free. Use it how you want, see my requests above. I'm not really interested in legal control over your rights to do things.

But you can't opt out of copyright / that's dumb.

:)

How large is the software project?

It's about 7,200 lines of python code (including comments and blank lines) over 35 files; about 9 files and 2,800 lines are the user interface. It's about 700kB, or 150kB compressed.

How long did it take to write?

It's been in progress since probably early 2015, first posted online late 2017 after several complete rewrites and design changes.

Isn't naming it after yourself pretentious?

Only if I expected people to actually use it. I felt trying to come up with a real name would be taking it too seriously.

Is chocolate actually good for you?

Look, let's not kid ourselves, sugar is sugar. But I mean, if you run enough miles per day, it probably cancels out?

How can we know whether some people might actually be robots?

I would be more worried about the ones who aren't.