1 comment

It’s a no-brainer to use Gmail in a Web browser window on a desktop computer, such as your Mac. That’s how Google intends it to be used.

But many Gmail users prefer to use a desktop email app, such as Apple’s stock Mail app. This is a reasonable approach, but an imperfect one, due to an architectural disconnect between Gmail’s labels and the limitations of the IMAP standard used by email clients. Joe Kissell devotes an entire chapter of Take Control of Apple Mail to getting Gmail and Apple Mail working together, yet incompatibilities persist.

A new desktop email app aims to sweep away such issues. Mimestream, created by former Apple engineer Neil Jhaveri, is a Swift app designed from the ground up for Gmail. Just log in and go, with no futzing to get email working properly, and with familiar Gmail features functioning as expected. Jhaveri worked on Apple Mail (among other projects) during his tenure at Apple from 2010 to 2017.

Mimestream is very much a work in progress, and Jhaveri has a long list of Gmail capabilities that aren’t yet supported. But the app is far enough along to pique our interest, and we wanted to tell you about it. Needless to say, you shouldn’t consider this article a formal review of the app.

Mimestream on a MacBook Pro

Though Mimestream will eventually be a paid app, it’s free to use while it’s in beta.

Mimestream only works in macOS 10.15 Catalina or later because, according to Jhaveri, it leverages APIs and capabilities (like SwiftUI) available only in the latest versions of macOS. “Mimestream intends to showcase the best that the Mac has to offer, and new versions will generally require the latest version of macOS,” Jhaveri says.

How Mimestream Is Similar

Superficially, Mimestream doesn’t look all that different from other native Mac email programs.

You could almost mistake it for Apple Mail, given its three-vertical-pane design, with a left-hand sidebar for navigating among your Gmail accounts and their various message repositories and identifiers, a middle column that shows message lists, and a right-hand pane where individual messages appear.

Mimestream three-pane interface

As a native Mac app, Mimestream has features you’d expect, such as message caching, offline support, macOS notifications, keyboard shortcuts, and toolbar customizations.

Jhaveri said Mimestream users can expect decent performance for several reasons, including the fact that the app is multithreaded to perform background sync in parallel with users’ actions as it taps multiple cores on a Mac.

How Mimestream Is Different

How Mimestream differs from Apple Mail starts with IMAP—short for Internet Message Access Protocol—which is how desktop email programs commonly sync messages with a mail server. That’s how Apple Mail accesses Gmail. It does so dependably, but imperfectly and eccentrically.

As Joe Kissell notes in his book:

Gmail’s implementation of IMAP is highly nonstandard. No matter how you slice it, the experience of using Gmail in Mail won’t be exactly like using a conventional IMAP server, nor will it reflect what you might expect if you’re used to using Gmail in a Web browser. It’s a weird and potentially frustrating hybrid of the two, and while some people don’t mind it at all, others find it so annoying that they stop using either Mail or Gmail.

To be fair, Google bolted IMAP support onto Gmail as a courtesy for those who wanted to use desktop email clients; at its heart, Gmail simply doesn’t think of mail in the same way as IMAP.

Mimestream mostly bypasses IMAP, harnessing Google’s Gmail API instead to replicate Gmail’s web features on the Mac desktop more faithfully. As a result, a number of Gmail capabilities have already migrated gracefully to Mimestream:

  • Labels: One of Gmail’s marquee features, labels are tags you apply to messages so you can more easily find them later. One message can have multiple labels. Apple Mail has trouble with this because it wants to treat labels as mailboxes, which aren’t the same thing (a message can exist in only one mailbox at a time). Mimestream supports labels natively.Mimestream labels
  • Aliases: By this, I mean Gmail’s option to authorize addresses from other accounts as valid From addresses when sending mail. Getting this to work in Apple Mail requires a bit of tinkering—Joe Kissell’s book tells you how—but it is automatic and seamless in Mimestream.
  • Search: Standard Gmail search queries are supported, with the added benefit of offline searching through cached messages.
  • Signatures: To my surprise, the signatures I’d painstakingly assembled in my various Gmail accounts appeared in Mimestream exactly as they do in the Gmail Web app (but you can’t edit them in Mimestream). In Apple Mail, Gmail signatures don’t show up and have to be replicated.
  • Inbox categories: This more recent Gmail feature optionally partitions the inbox into four classifications called Social, Promotions, Updates, and Forums. You have the flexibility to do this in Mimestream, even if you don’t have it set up this way in the Gmail Web app.

Because Mimestream largely bypasses IMAP, it solves an issue that bedevils some who use Gmail at work or school with organizational accounts. Network administrators can turn off IMAP, which restricts mail users to the Gmail Web app even if they might prefer to use a desktop app. That’s the case where I work, yet Mimestream downloads my email just fine.

But there’s a wrinkle. Because Mimestream does harness IMAP for push email, that feature is absent in the app in accounts that have IMAP disabled on the back end. As a result, I have to fetch my work messages manually at intervals.

This end-run around IMAP blocking for message downloading may not be available forever. As Jhaveri explains:

The fact that the Gmail API remains open, even with IMAP off, is probably an oversight on Google’s end, and I would not be surprised if it is plugged at some point in the future. It was certainly never an advantage that I planned for or even anticipated.

With that in mind, Jhaveri said he is looking for ways to make push work directly with the Gmail API and not require an IMAP connection.

Where Mimestream Is Going

As noted, Mimestream is not yet a full substitute for the Gmail Web app because it still lacks many important features. Some of these are on Jhaveri’s roadmap for upcoming versions, but others are not supported by the Gmail API and are therefore unlikely to make an appearance anytime soon. I am not listing every absent feature here, but you can find a full accounting on the Mimestream FAQs page.

Features on track for inclusion in upcoming versions of Mimestream include:

  • Filtering by Unread: This is a must-have feature for some. TidBITS publisher Adam Engst said he couldn’t use Mimestream in its current form because “it has no way of showing just unread messages in a label, which is key for me.”
  • Priority Inbox: Though Inbox Categories are supported, Mimestream cannot yet handle the similar Priority Inbox feature that automatically sorts messages into three sections: important and unread, starred, and everything else.
  • A Move To menu command to supplement dragging messages onto labels
  • Undo Send to abort delivery of a just-queued message
  • Editing of server-side filters to make it easier to filter mail without logging in to Gmail
  • An unsubscribe shortcut for stopping unwanted promotional mail
  • Editing of vacation auto-responses, again, so you don’t have to log in to Gmail

Gmail features unsupported by the Gmail API and therefore unlikely to show up in Mimestream in the foreseeable future include:

  • Message snoozing: It’s easy in Gmail’s Web app to hide a message with a snoozing command that brings it back on a chosen day and time. Mimestream-only snoozing is under consideration.
  • Scheduled sending, so you can have a queued message sent at a specific future time
  • Conversation muting, to quiet notifications from particularly chatty conversations

It’s important to note other areas where Mimestream and Gmail’s Web app are rapidly and drastically diverging. For instance, Google recently integrated other services such as Meet video conferencing and Chat messaging into its Gmail Web app. It had earlier done the same with Calendar, Tasks, and its Keep notes. Such integrations are not on Mimestream’s short-term roadmap.

Is Mimestream For You?

You can probably easily answer this for yourself since, among Gmail fans, Mimestream is liable to elicit one of two visceral reactions, either “Holy cow, I can’t wait for this puppy to be finished” or “Meh.”

Despite being intrigued by Mimestream, I must confess to fitting into the latter camp—I find that the Gmail Web app has become attractive, flexible, and powerful over its 14-year lifespan.

But if you prefer the desktop app approach, alternatives to Mimestream do exist. Some of these can barely be called apps; they’re just wrappers that embed Gmail’s Web interface into a standalone Mac window but otherwise add little to the experience.

Other apps are more ambitious and combine Gmail’s Web interface with Mac features for a hybrid experience. One example is Mailplane, which both Adam and I have used for a long time (see “Mailplane Goes Chrome and Adds Features,” 17 August 2018).

There’s also Kiwi, another hybrid Gmail app that is good for those who make heavy use of other Google Web apps, such as Google Drive, Google Docs, Google Sheets, and Google Slides. Each of these appears in standalone windows for enhanced productivity, so Kiwi is a fine choice for those who are all in with Google work-related services and want to multitask comfortably in a Web environment.

Since Mailplane and Kiwi use Gmail’s Web interface as their starting point, the aforementioned Google integrations—including Chat, Meet, Tasks, and Keep—also work fine.

But Mimestream might carve out a niche for itself as a Gmail-friendly desktop app that is fully operational offline—perfect for business travelers and others who might deal with iffy Internet connections that hamper the use of Gmail’s Web app.

It’s early days with Mimestream, and much too soon to render a definitive judgment, but we’ll eagerly monitor its progress.