Why I Use Mimestream for Gmail
I regularly use beta software but seldom write about it in TidBITS unless it is sufficiently stable, feature-complete, and interesting. Most recently, I went in-depth on the beta Web browser Arc because, well, the title of my article says it all: “Arc Will Change the Way You Work on the Web” (1 May 2023). I noted there that Arc had become the default dashboard for much of what I do, so much so that I had moved my email to my secondary screen.
The Gmail-specific email app Mimestream is what I want to tell you about today. We’ve been writing about its betas for years, starting with Julio Ojeda-Zapata’s “Mimestream Brings Gmail Features to a Mac Email App” (25 September 2020) and continuing through numerous Watchlist updates. In some ways, it’s hard to remember that Mimestream has been in beta all this time, given how much time I’ve spent in it since switching to it in November 2020.
But beta was the correct designation for Mimestream. Even though I’ve used it as my daily driver, I also submitted 46 bug reports and have had numerous discussions with developer Neil Jhaveri about interface intricacies and email oddities. At first, he was the only person working on Mimestream, but as he got closer to completing his checklist of core features, he brought on additional people, building a team of five.
Mimestream has finally emerged from beta, with version 1.0 now available for download and promoting ten new features (plus a discount) to encourage both its 167,000 beta testers and newcomers to become paying customers. For Mac users who rely on Gmail, I believe it’s the best email experience available today.
Mimestream relies on subscriptions, charging $49.99 per year with a 40% first-year discount for those who subscribe before 9 June 2023, dropping the price to $29.99. Some will be perturbed that Mimestream is not free and has no one-time purchase option, but real software costs real money, particularly when it doesn’t monetize your eyeballs or personal information. I asked Neil Jhaveri about the subscription approach, and he said that there was no alternative, given issues with the Gmail API and the need to keep up with Apple’s frequent changes to the Swift and SwiftUI technologies underpinning Mimestream. He makes a strong case for the subscription model, and in the end, Mimestream can thrive only if it’s financially successful.
Gmail All the Way Down
Before I get into the details of why I’m using Mimestream over free alternatives like the Gmail Web interface or Apple’s Mail, it’s worth saying a few words about what being a Gmail-specific client means, given that Gmail bundles the client and server aspects of email together. Mimestream is an alternative front end to everything in Gmail: messages, addresses, filters, settings, and more. If you ever think something is off in Mimestream, you can open Gmail in a Web browser to see how it compares. In fact, menu commands let you open any Mimestream message in Gmail directly or copy a URL to it. I sometimes link to those email conversations when I leave myself notes or reminders.
Mimestream communicates with Gmail via the Gmail API, not IMAP, which eliminates one of the things I dislike about IMAP clients: the process and inevitable delays in checking email. With Gmail—and thus with Mimestream—a message either exists or it doesn’t; there’s no checking. When I haven’t opened my MacBook Air for a while, it can take Mimestream a few seconds to sync up with the current state of Gmail, but at most, I notice a few messages shuffling into place at the top of my Inbox. Typically, when I move from one Mac to another, Mimestream looks exactly as I left it on the other machine seconds ago.
Of course, the downside of a Gmail-specific client is that you can’t use it with any email service other than Gmail. Full IMAP support is on Mimestream’s roadmap, though it may require more work than it might seem because of Gmail’s significant architectural differences from IMAP. Regardless, if you want to see IMAP support in Mimestream, I encourage you to vote for it and other features you’d like to see in the future. It’s refreshing to have such transparency and input into the direction of an app.
Unlike Web browsing, where every site is different and everyone works in their own special way, email is quite prescriptive. You start from a collection of messages (which Gmail organizes by labels and IMAP-based services do with mailboxes), scan summaries in a message list, and read the messages that interest you. Most messages can be deleted or archived. Many require a reply, and some may need to be forwarded or filed in a different collection. And, of course, you must be able to create and send new messages.
Meeting these needs has caused most email apps to settle on a set of interface elements that work well for differentiating between collections of messages, a list of message summaries, and the messages themselves.
Mimestream hews closely to what you’d expect from a multi-pane email app. That’s unsurprising given Neil Jhaveri’s background leading engineering teams that worked on Apple’s Mail and Notes. You won’t have trouble getting your bearings the first time you launch Mimestream.
The sidebar at the left contains Gmail labels, the message list in the center displays concise summaries of the messages associated with the selected label, and the optional viewing pane at the right shows the full text of the message. Any message can be opened in a separate window by double-clicking it in the message list. Similarly, replies and new messages appear in their own windows.
Where Mimestream shines is in its attention to visual form and functional detail—the small interface elements and features that make working with email feel familiar, fluid, and fast. I spend hours per day in email, and while I’m willing to tweak my working habits slightly to match what an app can do, I prefer it to accommodate my idiosyncrasies.
For instance, I seldom delete messages. My Google account has plenty of space, and Gmail’s performance doesn’t degrade with massive email stores, so I prefer to keep everything for posterity and focus my attention on unread and starred messages. So it’s vital that my email client supports that approach rather than pushing its own concept of Inbox Zero or whatever philosophy it might have.
I can’t predict what refinements and affordances will make working with your email a joy, so I want to share some of what I find compelling about Mimestream. Many of these aren’t unique, they’re just very well done, and the result is that using Mimestream feels like driving a well-engineered automobile instead of a low-end car that feels like it was assembled from cheap, off-the-shelf components.
Gmail Keyboard Shortcuts
Because I switched to Gmail from Eudora, I had to learn entirely new keyboard shortcuts. Even though I relied for years on the Gmail-specific client Mailplane, which encapsulated the Gmail Web interface in a Mac app window and provided Mac-like shortcuts, I chose to learn Gmail’s keyboard shortcuts so I could also use Gmail in a Web browser without difficulty (see “Zen and the Art of Gmail, Part 4: Mailplane,” 16 March 2011).
Gmail’s keyboard shortcuts feel as though they evolved from a Unix editor ancestor; many don’t require a modifier key and would conflict with standard Mac shortcuts if they did. For instance, the Gmail shortcut for creating a new message is just C. Mark Unread is Shift-U, Reply to All is A, and adding a star is S. I won’t say they’re faster or better; they’re just guaranteed to work in Gmail and Gmail-focused apps.
Mimestream acknowledges that many users come from the Gmail Web interface and may prefer Gmail’s keyboard shortcuts. In Mimestream > Settings > General, you can tell Mimestream to honor Gmail keyboard shortcuts. Those migrating from Apple Mail can choose that set, and if you have no opinion, you can stick with Mimestream’s default set.
A Clean Message List
Even though I read every personal message I receive, plus most in the mailing lists to which I subscribe, I still want to be able to scan the message list quickly and accurately. That’s especially important when looking through the results of a search. In Mimestream > Settings > Sidebar & List, Mimestream offers four different levels of information density for the message list.
- Dense includes just the sender’s name, as much of the Subject line as fits, the number of messages in the conversation, and the time (if in the current day) or date of the most recent message in the conversation. Mimestream converts the date to “Yesterday” when appropriate and displays the dates of unread messages in blue.
- Compact goes one step further to include some of the first line of the most recent message, along with the label(s) associated with the conversation.
- Default is exactly like Compact but replaces the paperclip icon that indicates an attachment with a line listing its name.
- Expanded provides another row to hold more of the first line of the most recent message in each conversation.
I prefer the Default option. Dense doesn’t work for me because people are terrible about descriptive Subject lines. Compact is fine, but I appreciate the extra hint in Default about attachments. And while I understand the idea behind Expanded, it wastes more space than I prefer.
There is no right answer here. I appreciate that Mimestream meets you where you prefer rather than forcing you to accept its opinion of the “best” information density.
Also, note the careful design work surrounding the different types of information. When it’s helpful in a conversation, Mimestream truncates the sender names to just their first names, which is how most of us would think of them anyway, and it bolds them since the most important fact about a message is likely who sent it to you. However, the number of messages in the conversation isn’t as significant, so it’s displayed in a much lighter color. The Subject of the message is in a regular weight to indicate that it’s slightly subordinate to the senders, and the first line preview matches the lighter time and date text. By dropping the darkness of the text within each conversation summary, Mimestream does an excellent job of differentiating the summaries without having to add anything more than a faint horizontal rule between them.
Two commands in the View menu let you display message size and show a Gmail importance marker, but both must be jammed into the first line of the conversation summary, significantly reducing the amount of space for the sender names. I leave them off.
Finally, note that Mimestream lets you set the width of the message list to (almost) whatever you want. What makes the most sense for you depends on your eyes and screen size. And, of course, you can change the text size used throughout the app using the text slider in Mimestream > Settings > General.
Filtering the Message List
As noted above, I rarely delete messages, relying instead on the read/unread state to determine which messages appear in the list. Mimestream supports that well with its message filters, which focus on the most common reasons to hide or show messages in the list: Unread, Starred, and Important. Unread catches new messages and those you mark as unread to keep around; Starred collects those you’ve starred; and Important displays those that Gmail’s algorithm has identified as important for you (more on that shortly).
Message filters aren’t unique, but I find that Mimestream’s hit the sweet spot of just what I need to control what appears in my incoming mail stream and messages still in play.
Because I’ve adopted the Gmail search mindset, I don’t do a lot of filing of messages—I can find nearly anything I want with a quick search. I have Gmail automatically assign labels to mailing list messages and predictable order receipts, and I manually label things like registration codes. But for the most part, I’m happy to treat most of my email as a searchable stream.
Until recently, I used the Gmail inbox categories (below left), which automatically sort messages into Primary, Social, Promotions, Updates, and Forums categories. Mimestream lets you enable each of these on a per-account basis in Mimestream > Settings > Accounts > Inbox Categories. I gave up on the inbox categories because I found myself clicking each in turn whenever I wanted to see what was new in my email—I couldn’t just ignore one of the categories in case it contained something important. Plus, running through each of them and back to Primary hid the read messages for my next pass—Mimestream only hides read messages no longer caught by the filter when you switch to another label or toggle the filter button off and back on (which is slower).
When I turned off the inbox categories (they’re still accessible in the Categories folder), I worked briefly with just the Inbox and Starred labels, switching between them to refresh the filter status of the Inbox label. That was effective, but then I discovered the Important label (below right). Gmail automatically assigns Important to incoming messages based on the contents of the message, the people involved, past replies, and more. (Priority flags that other people assign to messages in their apps are irrelevant; no one can game the system so their messages are marked as Important.) So now I’m trying to see if I like having my most important messages separated out or if I’ll have to check both Important and Inbox every time I check email.
Regardless, I appreciate Mimestream’s flexibility about what appears in the sidebar. Those with multiple accounts may find the sidebar more cluttered, but I hope you can configure it in a way that makes the most sense to you. (As an aside, Mimestream can now collect multiple accounts under profiles that let you specify different notification schedules and integrate with Focus Filters. I don’t currently need the feature, but I hear it’s popular with those who juggle multiple accounts.)
Search and Addressing Auto-Complete
The most common searches I do are for people because I know when a conversation involved someone specific. Mimestream’s search field isn’t unusual, and although its Gmail-powered searches are speedy, there are a couple of seconds of delay as it receives and displays the results. However, what I like most about Mimestream searches is how smart they are about auto-completing addresses, a feature that applies when addressing messages.
Many people have multiple email addresses, but Mimestream does an excellent job of ordering them by frequency of use. So when I search for Tonya, Mimestream’s first suggestion is always [email protected], not her Cornell address, Gmail address, or one of her iCloud addresses (below left). Underneath her addresses come other people whose names or email addresses contain “tonya.” Plus, Mimestream makes suggestions based on the search string appearing in the Subject line or attachments.
When addressing messages, Mimestream starts with recently used addresses, properly ordered, and then pulls from Apple’s Contacts database, Google Contacts, and other addresses found in your email (below right). While I appreciate how deep Mimestream goes when looking for addresses, I’m mostly grateful that the one I want is nearly always the first choice, which is often not the case in other apps.
One minor note about searches. I believe that when you select a label and then start a search, the search should be constrained to that label rather than doing an All Mail search that must subsequently be constrained to the already selected label. When I made that point to Neil Jhaveri back in 2021, he initially agreed with me. Apparently I’m weird, though, and the change confused other users, so he switched it back so all searches apply to All Mail initially. If you’re weird like me—and Neil says no one else has complained, imagine!—you can have searches constrained to the selected label by entering this command in Terminal. It reminds me of Eudora’s hidden x-eudora-settings options!
defaults write com.mimestream.Mimestream ScopeSearchToCurrentFolder -bool YES
Mimestream handles conversations exceptionally well. Let’s say you open your email to find a conversation that has been going on for a few messages. Since you haven’t seen them before, they’ll all be expanded so you can read them. As the day progresses and the conversation accumulates more messages, subsequent views display one of two approaches.
When there are just a few already-read messages or a starred message (which is always expanded) appears in the middle, you’ll see a compressed display of only the first line (below left). Click anywhere in that row to expand the message; click anywhere in the header area of an expanded message to compress it again. Once enough read messages are present, Mimestream switches to an even more compressed view with a numeric indicator showing how many messages are hidden entirely (below right). Click the number to expand those messages to the first-line view.
The button in the upper-right corner lets you expand all the messages to their full size and, once in that state, switches so you can compress them down again. It’s handy when you need to scan through an old thread to refresh yourself on what was discussed.
Some conversation view interfaces force you to reply to the thread’s last message, which isn’t always appropriate. With Mimestream, you can click any message to expand and select it, after which the Reply and Reply to All shortcuts operate on that message. (As you can see above, each expanded message has its own buttons, too.)
Those are some of the broader reasons I’ve been enjoying using Mimestream, but plenty of other little features in Mimestream make a difference for me, too:
- Because of my reliance on unread messages, I like some control over how quickly a message is marked as unread. Too fast and I can lose track of a message; too long and reading it isn’t sufficient. Mimestream provides complete control over that delay in Mimestream > Settings > Viewing.
- If you select text in a message, Mimestream can quote it, quote the entire message, or ask you which you prefer. There are times I appreciate being able to quote a selection.
- Undo Send is one of my favorite features in an email client—I frequently remember something to add or change right after sending a message. Mimestream lets you set the delay before actually sending up to 30 seconds. You’ll find it in Mimestream > Settings > Composing.
- Gmail’s filter interface is terrible, and while Mimestream’s doesn’t introduce any new features, it’s easier to use. Look for it in Mimestream > Settings > Filters.
- Although I need it only infrequently, I find Mimestream’s vacation response interface easier than Gmail’s. It’s in Mimestream > Settings > Accounts > AccountName > Vacation.
- Finally, Mimestream supports Markdown substitutions, so you can apply bold and italic formatting, create lists, quote text, and format text as code with familiar Markdown tags. I use this all the time for lists and quoting in particular. You can disable it (and other substitutions) in Edit > Substitutions if you don’t like it.
Will Mimestream fit the way you think about and work with email? I can’t say, but if you use Gmail, I encourage you to give its 14-day free trial a chance to show you what it can do. Since Mimestream is an alternative front-end to Gmail and all your data remains in Gmail, there’s no downside in seeing if you like it.
heh! i didn’t complain cuz i didn’t realise such a thing should be possible. d’uh! took that
defaults writeout of your article and immediately applied it. thanks for that.
Hi, Adam. Do you know if Mimestream would now completely stop working if one chose not to subscribe?
I presume that yes, after the 14-day free trial, it would stop working. However, since it has essentially no local data, you’d be able to pick up just where you left off in the Gmail Web interface.
Surprisingly, Mailplane continues to work, and I am loathe to abandon it as long as it works. I assume Minestream would let me continue to collect my pop3 accounts into my Gmail account, right?
Yeah, love me some Mailplane. I have tried Mimestream and I like it, particularly with this detailed and helpful tutorial, @ace but I do wonder what the difference is between Mailplane and Mimestream as far as working with Google, meaning why did API changes “do in” the former and not the latter?
Maybe Mailplane needs to go subscription in order to afford to “keep up”?
As best I can tell – and please correct me if I’m wrong – Mimestream will not implement Gmail’s customizable “Priority Inbox” with “Inbox Sections”. That function provides up to four parts whose contents can be designated by star, important, labels, or “everything else”. I find that simply invaluable.
Mimestream does use Gmail’s predefined (and as best I can tell, unchangeable) categories – but I find those have inadequate specificity to be useful.
I appreciate the benefits of a mail application vs. browser. But Web Catalog offers preprogrammed individual apps that provide the full function of the web app. The first 5 apps are free – after that there is a one-time charge of $50. I have paid that. I understand the need for subscription fees and have paid Microsoft $100 per year for a decade or more for the Office suite of five+ apps of which I use three almost daily. But $50 per year for a single app whose function can be replicated in multiple ways seems high to me.
P.S. The app I really want to drop my subscription for is Adobe Acrobat Pro, now at $254 per year. I’ll be starting another thread to see if folks have robust, less expensive alternatives.
Except, of course,
x-eudora-settingswere URLs that could be clicked – it was so helpful when supporting someone else using Eudora to be able to send one or more settings that they could click and apply instead of directing them how to do it. I used to get more joy than is reasonable out of that system! (Of course, the lack of this is not Mimestream’s fault. Given MacOS has a standard
defaultssystem, it would be a bad idea for them to ignore it and build their own!)
Does Mimestream not offer a column view? I still far prefer this old-style mailbox view because it’s much faster for me to parse (and can easily include various small bits of information like tags and size that can be useful). As someone who can’t stand a viewer pane for email, I have plenty of horizontal space! This is the kind of thing I’m talking about:
I’ve been on the beta up until now. It was okay for me but didn’t see much over the Apple Mail app or Outlook or Gmail on the web, besides I have multiple email accounts that would preclude Mimestream.
I love it too. For me the reasons are:
But there are a few pretty big misses, which as far as I can tell are not priorities to them:
I switched to mimestream for a month a few months ago and then abandoned it till 1.0. Now I am back because my annoyance with mail.app grew more and more and I’ve checked all the others out and mimestream is head and shoulders above the rest.
I don’t know, but Mimestream and Mailplane are very different in the sense that Mailplane is mostly a Mac app wrapper around the Gmail Web interface. It’s sort of a dedicated site-specific browser.
I suspect the Priority Inbox sections don’t really make sense within the Mimestream interface. However, as you can see in my screenshots, I’m sort of doing that already, with Important as the top label, followed by Inbox (which is sort of Important + Everything Else), then Starred. If I had a specific label to pull out, I could put it there too. So I don’t think Mimestream is a lot different.
Totally agreed! I loved those links.
Not in the sense you’re showing. Mimestream can hide the viewing pane, but then you end up with two columns, one for labels and the other for messages. The second one can be quite wide, though, resulting in something like this:
Can I use my own domain? Right now, I have a custom domain that Netsol manages… email comes along with their hosting package (which I need much less of than I used to need). Not sure how it might work using Mimestream… if at all.
If you’re using your own domain with Gmail now, yes, you can use it with Mimestream. I have no problem sending all my mail from my tidbits.com address, even though everything is actually gmail.com behind the scenes.
No, I’m not using my domain with gmail, I’m using it through my hosting package provider. One benefit I have there is a ton of custom addresses (like [email protected], [email protected] domain, [email protected]). Would I have to set up multiple gmail addresses?
Sorryn to ask you these questions, is there anyone at Minestream I can talk too? Oh, I have a ton of filters and a ton of mailboxes (applemail), can I bring this structure and import into Mimestream?
Mimestream only works with Gmail, so it won’t work with your email host. Sorry!
I see Mailmate gets no mention here, probably as it is not Gmail specific. However, it does have a section in the manual which may interest those who wish to use “regular” IMAP email in addition to Gmail. It allows you to get pretty geeky with it if you so wish. Look here (MailMate) for the info about Gmail.
Disclaimer: I still use Gmail via Mailplane as my main email client. I manage my non-google email accounts by simply setting them up to forward to specific Gmail accounts. So far so good.
MailMate is awesome, but it’s beauty is utilitarian, not aesthetic. Lots of people turn up their noses for that reason, it seems. However, even MailMate essentially “fakes” Gmail; it doesn’t give you the same flexibility as a properly Gmail-aware client. But people who like the look of Mimestream ought to look at MailMate if they aren’t using Gmail and they want a “traditional” power tool email client.
As to forwarding addresses, doesn’t Workspace let you define aliases for a domain? IIRC you don’t need a mailbox just to have an alias address, even when your domain is hosted by Google. It even supported catch-all. Perhaps things changed since I last tried it, when it was called “Apps”, a decade (or less) ago.
Join the discussion in the TidBITS Discourse forum