Reprinted from TidBITS by permission; reuse governed by Creative Commons license BY-NC-ND 3.0. TidBITS has offered years of thoughtful commentary on Apple and Internet topics. For free email subscriptions and access to the entire TidBITS archive, visit http://www.tidbits.com/ Why I Use Mimestream for Gmail Adam Engst 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: '[1]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 Mimestream to my secondary display. The Gmail-specific email app Mimestream is what I want to tell you about today. We've been writing about it for years, starting with Julio Ojeda-Zapata's '[2]Mimestream Brings Gmail Features to a Mac Email App' (25 September 2020) and continuing through [3]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 it. Even though I've used Mimestream 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. [4]Mimestream has finally [5]emerged from beta, with version 1.0 now available for download and promoting [6]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 [7]best email experience available today. IFRAME: [8]https://www.youtube.com/embed/LmtKeKRd5kk?feature=oembed Mimestream relies on [9]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 [10]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 [11]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 the most 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 [12]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 [13]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. Mimestream Basics 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 [14]Gmail's keyboard shortcuts so I could also use Gmail in a Web browser without difficulty (see '[15]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. 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 so each one has its own 'color,' 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. Sidebar Flexibility 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. 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 [16]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 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 [17][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 deeply Mimestream goes when looking for addresses, I mostly appreciate 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 Accordion Conversations 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 message has its own buttons, too.) And More'¦ 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 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 [18]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 [19]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. References Visible links 1. https://tidbits.com/2023/05/01/arc-will-change-the-way-you-work-on-the-web/ 2. https://tidbits.com/2020/09/25/mimestream-brings-gmail-features-to-a-mac-email-app/ 3. https://tidbits.com/tag/mimestream/ 4. https://mimestream.com/ 5. https://mimestream.com/blog/mimestream-launches 6. https://mimestream.com/blog/whats-new-in-1.0 7. https://www.youtube.com/watch?v=LmtKeKRd5kk 8. https://www.youtube.com/embed/LmtKeKRd5kk?feature=oembed 9. https://mimestream.com/pricing/ 10. https://mimestream.com/privacy 11. https://mimestream.com/pricing/subscription-licensing 12. https://portal.productboard.com/mimestream/1-mimestream-roadmap/tabs/4-planned 13. https://portal.productboard.com/mimestream/1-mimestream-roadmap/c/23-support-the-imap-protocol-e-g-icloud-yahoo-etc?utm_medium=social&utm_source=portal_share 14. https://support.google.com/mail/answer/6594?hl=en&co=GENIE.Platform%3DDesktop#zippy=%2Ccompose-chat%2Cformatting-text%2Cactions 15. https://tidbits.com/2011/03/16/zen-and-the-art-of-gmail-part-4-mailplane/ 16. https://mimestream.com/blog/whats-new-in-1.0 17. file://localhost/cdn-cgi/l/email-protection#dca8b3b2a5bd9ca8b5b8beb5a8aff2bfb3b1 18. https://portal.productboard.com/mimestream/1-mimestream-roadmap/c/105-markdown-substitutions?utm_medium=social&utm_source=portal_share 19. https://mimestream.com/ Hidden links: 20. https://tidbits.com/wp/../uploads/2023/05/Mimestream-main-window.png 21. https://tidbits.com/wp/../uploads/2023/05/Mimestrean-Setting-General.png 22. https://tidbits.com/wp/../uploads/2023/05/Mimestream-message-list-settings.png 23. https://tidbits.com/wp/../uploads/2023/05/Mimestream-message-list-styles.png 24. https://tidbits.com/wp/../uploads/2023/05/Milestream-filter-UI.png 25. https://tidbits.com/wp/../uploads/2023/05/Mimestream-labels.png 26. https://tidbits.com/wp/../uploads/2023/05/Mimestream-search-auto-complete.png 27. https://tidbits.com/wp/../uploads/2023/05/Mimestream-conversation-compression.png 28. https://tidbits.com/wp/../uploads/2023/05/Mimestream-read-delay-settings.png 29. https://tidbits.com/wp/../uploads/2023/05/Mimestream-reply-prompt.png 30. https://tidbits.com/wp/../uploads/2023/05/Mimestream-Undo-Send-delay-settings.png 31. https://tidbits.com/wp/../uploads/2023/05/Mimestream-filters.png 32. https://tidbits.com/wp/../uploads/2023/05/Mimestream-vacation-response.png .