My Big Dumb Webmail Client
They say you don’t know what email’s all about until you’ve built a webmail client of your own. I guess I kind of get it now.
During particularly chaotic periods in the news, it’s hard to sometimes find ways to cut through all that and write something that’s in the spirit of this tedious thing I’ve created. As a result, I’ve tried to slow down a little and let my muse find me, rather than the other way around.
And often I find that in weird technology projects, often forged by dumb ideas. Last weekend, as our political leadership transitioned from one group of people to another, I … had the idea to build a webmail client. Or, at least try to.
My inspiration was something stupid: The Google Gemini logo in the Android version of Gmail, which I didn’t ask for, taking up a significant amount of the real estate in mobile. Which was annoying, because I could not get rid of it.
Then I looked at other email clients built for Android and unfortunately found that most of them had also had the same problem: Visible built-in AI that was impossible to remove. I’m not a hardcore anti-AI guy, but I think my standard for it is to essentially try to leave it out of purely creative endeavors like writing and art as much as possible. These companies are trying to make me do the opposite.
Sponsored By TLDR
Want a byte-sized version of Hacker News? Try TLDR’s free daily newsletter.
TLDR covers the most interesting tech, science, and coding news in just 5 minutes.
No sports, politics, or weather.
The last time this happened, I created a workaround for Google search that became enormously popular with a certain kind of put-upon internet nerd. I admit, reader, that I secretly wondered if lightning could strike twice.
My idea, being built in React with Tailwind, is to revive the vibes of Google Inbox by creating a similar single-column webmail client. The goal is to make it something easily scanned, while not being too overwhelming to use, less focused on Inbox Zero and more on just creating a clean, AI-free experience. I’m thinking of calling it “&udm=14 mail,” as it’s a spiritual successor to that last idea.
(I had initially looked at simply building themes for Roundcube, a popular open-source webmail client, but I kept feeling like I was fighting against Roundcube.)
I don’t think it’s going to be particularly amazing in the end, and it may never see public release. It’s really more of an educational project for me, an attempt to learn something new. But I have successfully made a working proof of concept that, at the moment:
- Can log into multiple Gmail accounts via OAuth, and switch between them
- Can read emails inline within the one-column window
- Displays HTML emails with only minor rendering errors
- Has a light and dark mode
- Can be controlled with keyboard shortcuts
- Caches messages so the inbox loads more or less instantly after first load
It is by no means close, and email clients carry the potential risk of potential security concerns for the end user that I don’t necessarily know if I want to expose people to without doing more homework. (For what it’s worth, the app doesn’t phone home to anyone but Google and the people who send you emails, and stores all data in the browser.)
And plus, there are lots of problems I still need to work out, including:
- It currently doesn’t support anything other than Gmail, and it would be nice to give it IMAP support
- It doesn’t currently retain login tokens for longer than an hour (which has been annoying from a testing standpoint)
- It doesn’t currently handle “threaded” emails
- Some HTML emails do in fact break, though I’ve made progress there
- Oh yeah, it currently does not allow you to write emails
I don’t know exactly how deep I will go down this rabbit hole before I realize it’s above my pay grade, but this has been a fun experiment, and one that I’m learning a lot from. As someone who has spent a lot of time coding emails and optimizing them over the years, getting a grasp of what’s happening on the other side is super-interesting.
It does sort of raise a question for me about whether the &udm=14 empire could be expanded to other neglected Google properties in a way that makes them easier to use. One of the ideas I have is to maybe do a version of Google Books that is better built for researchers. But I wouldn’t have landed here, and not in this deeply interesting, mind-opening direction, if I gave into my natural instinct, which is just to be constantly mad about the news.
Look, I’m a person who gets frustrated about what’s happening in the real world, too, but finding your own center amid chaos is way better than being stressed about something that won’t change overnight. By creating a baseline for yourself now, you better know how to react to undesirable situations. You don’t just become resourceful out of nowhere.
Plus, a crappy Gmail interface that introduces unwanted AI features is something I can conceivably solve for. There’s nothing wrong with aiming at the targets your slingshot can reach.
Anyway, if this email client turns into anything, I’ll let you know. You should make your own.
Non Email-Related Links
Cool site alert: The website The Jazz Tome, which has reviews and liner note info on hundreds of vintage jazz records, is a great option if you’re looking for something to listen to, but you want to skip the Spotify. Jazz has been a passive productivity listen for me for a while, but I don’t know a ton about it. This is a great starting point.
Cathode Ray Dude is nuts. Every time this dude drops a video it is an hour and a half long, about an extremely specific subject, and he often preempts himself in the video to discuss things he forgot to mention. This clip, about CD-ROM-based movies that run on Windows 3.1, is excellent, and also nearly as long as his primary source material, It’s a Wonderful Life.
Framework is inspiring the rest of the PC industry to follow suit, based on this recent Intel blog post spotted by PC World. Good. Repairability and upgradability are ideas too good to be owned by one manufacturer.
--
Find this one an interesting read? Share it with a pal!
Think this is worth sticking with? Give me a shout—you know where to start.