Apple’s “Hi, Speed” event is coming tomorrow, and we’ll be watching the product announcements—likely the iPhone 12 and potentially more—live while chatting with TidBITS readers in SlackBITS. If Apple’s slippery Siri Remote for the Apple TV drives you nuts, Glenn Fleishman suggests an alternative from Function101 that’s more like a traditional TV remote. Apple veteran David Shayer, who worked on the Apple Watch team, joins us to explain why third-party faces on the Apple Watch are highly unlikely. Finally, Julio Ojeda-Zapata looks at the beta of Mimestream, a native Mac client for Gmail created by a former Apple engineer. Notable Mac app releases this week include PDFpen and PDFpenPro 12.2, Bookends 13.4.6, Tinderbox 8.8, Toast 19 Titanium and Toast 19 Pro, and Firefox 81.0.1.
Apple’s next product announcement event will be held on 13 October 2020 at 10 AM PDT from the company’s Apple Park headquarters. As with the last event, Apple lets you add it to your calendar with one click. We anticipate that it will once again be filmed in advance, which lends both high production values and a relentless pace to the announcements.
iPhones were completely absent from last month’s “Time Flies” event, which focused on the Apple Watch Series 6 and new iPads (see “Apple Unveils Apple Watch Series 6 and Apple Watch SE” and “Apple Redesigns iPad Air, Updates Base-Model iPad” 15 September 2020). We don’t have a crystal ball, but we’d bet money on at least one new iPhone debuting at this event. Given the “Hi, Speed” tagline, it’s possible the next iPhone will be compatible with high-speed 5G cellular networks.
Since Apple also promised Macs built on high-performance Apple silicon before the end of 2020, the tagline might suggest an announcement or update on that front as well (see “Macs Make the Move to ARM with Apple Silicon,” 22 June 2020).
Updates to the HomePod and AirPods lineups could also be in the cards. Apple recently dropped Bose, Sonos, and other competing audio makers from its store, fueling rumors that it is set to unveil a smaller HomePod and full-size Apple-branded headphones.
Other, less likely possibilities include updates to the aging Apple TV lineup and the iPad Pro, which looks increasingly long in the tooth compared to the less expensive, but similarly capable iPad Air.
Who knows what we’ll see! But you can find out with us by joining us in the #events channel of our SlackBITS group. We’ve been chatting with our readers during the events for a few years now, and it’s always a good time. To join the group, go to slackbits.herokuapp.com, enter your email address, and agree to the code of conduct. You’ll receive an invitation in email right away.
I have never liked the slippery Siri Remote that Apple shipped with the fourth-generation Apple TV HD in 2015 and continues to offer as the default option for the Apple TV HD and Apple TV 4K. But only recently did I spot a replacement that seemed worthwhile: the Function101 Button Remote for Apple TV.
Function101 Button Remote Positives
This $29.95 infrared remote control offers nearly all the features of the Siri Remote when controlling an Apple TV—or at least those I care about. Your list may differ substantially! Because the Function101 remote has a larger array of buttons, it offers not just infrared control of volume for receivers, soundbars, and TV sets, but also muting them and power control. Hallelujah!
(The Siri Remote includes an infrared transmitter that lets you control the volume of supported devices. However, the Siri Remote lacks a mute button, and unless you have a chain of HDMI-CEC-supporting devices set up just right, you can’t use it to power other devices on or off.)
The Function101 remote lacks a touch surface, which is a huge bonus for me. I always have trouble with the Siri Remote’s touch-based controls. Even five years into using the Siri Remote, I rarely tap the rewind/fast forward region correctly. I have no problem with other touch devices, including the Remote app on an iPhone, so I don’t believe it’s me.
With the Function101 remote, you can press honest-to-goodness buttons for skipping 10 seconds forward or back, as well as separate buttons for fast forward and rewind—which advance as you hold them. A four-arrow compass design near the top manages navigation and other features, with an OK button nestled in the middle to make selections or confirm actions.
The molded, rubberized device has a great hand feel, and I love its button pressure, accuracy, and flexibility. It’s among the finest remotes I’ve ever owned for any device, and it’s a manufacturing achievement to combine this level of quality with such a low price.
Function101 Button Remote Negatives
A few things are missing due to technology and design constraints. Because the Function101 remote relies on infrared communication with the Apple TV, it can’t support Siri voice control. (The technology to enable such support would add substantially to the price.) I rarely asked Siri to do things on my Apple TV—one of the most frequent was “rewind 10 seconds” when I was frustrated with the touchpad—and I no longer need that. Other people I know constantly use voice control, and that makes this replacement a non-starter for them. (On the few occasions I want to use Siri, I just swipe down to reveal Control Center on my iPhone and bring up the Remote app. You can also use regular old Siri in iOS, iPadOS, and macOS to issue commands to your Apple TV, too.)
You also can’t swipe to scrub forward and backward across a streaming video’s entire length, something my younger child says is what drives her to keep using the Siri Remote. I don’t mind holding down a button on the Function101 remote for the same effect.
Because it’s an infrared controller, you need line of sight to your sound system or TV and to your Apple TV. That might involve rejiggering your setup. There’s also no TV button on the control, which means you can’t use the Apple TV’s app switcher, which is a little annoying but isn’t outweighed by the many other advantages I find with it. You also can’t tap any button, as you can with a light touch on the Siri Remote’s touchpad, to see the current screensaver’s location.
Although the Function101 remote works out of the box with the Apple TV, initial setup with TV sets and soundbars and the like can be fussy because the remote lacks both a way to program it remotely and number buttons. On remote controls with numeric input, you typically look up your model of TV, receiver, or soundbar in a manual or online guide, then punch in a series of numbers and test until you find the correct infrared control set. Each consumer electronics brand typically has several sets that are used across ranges of devices.
Somewhat unclear instructions on the Function101 website explain that to achieve the same effect, you first put the remote into setup mode, then hold down or press a button repeatedly while carefully making sure you have line of sight to your device. If the volume-up control works with a given code the remote is cycling through, you’re set, and you press OK. I tried this repeatedly with an old Yamaha receiver through which I route all A/V sound output and was initially unable to get it to work.
I contacted customer support, which was overwhelmed with queries due to the volume of initial shipments. It took two weeks to receive a response, but I used all the Apple TV features of the remote in the meantime. When I finally received a reply, it included an abject apology, a direct contact phone number, and step-by-step written advice that was somewhat easier to understand than the previously published instructions. I had it controlling my receiver just a few minutes after that. Yes, it was user error, but magnified by the support site’s poor documentation.
(The trick that solved my confusion? You have to watch your audio device carefully while holding down or pressing the appropriate button to advance codes. There are a lot of codes to go through, so holding down a button makes the most sense. However, if you miss noticing the volume change during the two-second window or you don’t release the button fast enough, you have to cycle through again.)
Is the Function101 Button Remote Right for You?
The rest of my family doesn’t love the Function101 remote because they want Siri voice control and the app switcher. Fortunately, I didn’t follow my instinct and take a hammer to our Siri Remote after getting the Function101 remote, so my family can still use the one that came in the Apple TV box.
But for anyone who wants the comfortable press of a well-designed button to control your Apple TV, I highly recommend it. It’s my favorite tech purchase of 2020 that didn’t come from Apple.
Apple Watch users have wanted third-party watch faces since Apple unveiled the watch in 2015, and developers have wanted to create custom watch faces for just as long. But despite the pleas of users, developers, and a well-known podcaster, they’re probably not coming.
As an Apple software engineer, I worked on the first two releases of watchOS, so I’m familiar with many of the Apple Watch’s internal trade-offs. While I don’t have any inside information about current versions of watchOS and Apple Watch hardware, there are at least four reasons to think Apple won’t support third-party watch faces any time soon, if ever.
Reason #1: Battery Life
The main reason Apple doesn’t allow third-party watch faces is battery life. On the Apple Watch Series 5 and Series 6, the watch face is displayed almost all the time. It’s vital that the code driving the watch face consumes as little power as possible. Apple engineers go to great lengths to ensure the watch face code is power-efficient.
These efforts go well beyond simple tricks like hiding the second hand when the face dims since animation takes more power than a static display. Apple engineers have intimate knowledge of how watchOS displays graphics and how the Apple Watch’s GPU works, and for better or worse, this information is proprietary. They know which graphics techniques use the least power. Their animation techniques are the most energy-efficient possible. They have access to private graphics APIs that aren’t available to third-party developers. And they have internal testing and measurement tools that the company doesn’t provide to third-party developers.
The Apple Watch doesn’t achieve all-day battery life by accident. Apple engineers spend thousands of hours fine-tuning the code to be power-efficient. Every night, Apple’s automated build system creates a new build of watchOS, called the daily build, using the latest code changes checked into source control. (This is true for all Apple operating systems; see “How to Decode Apple Version and Build Numbers,” 8 July 2020.) Apple engineers use the daily build, so they’re all running the latest version of watchOS.
The daily build is also loaded onto a rack of Apple Watches in the power testing lab. They run through a set of scripts that simulate normal use to see how long the batteries last. The results are published to an internal Web dashboard that tracks battery life for every watchOS build. If battery life goes down, engineers are assigned to find out why and to fix it. Battery life is an obsession with the Apple Watch team.
No matter how capable or diligent they might be, third-party developers simply won’t have the internal graphics knowledge, the private API access, or the test tools to be as rigorous about battery life as Apple demands. If Apple were to open up watch-face development to third-party developers right now, battery life would almost certainly decline, which would make for a worse Apple Watch experience for users.
Reason #2: Buggy Code
The watchOS code that drives the watch face runs 24 hours a day, for months on end. It must be as utterly bug-free as possible. It’s unacceptable to glance at your watch and find the face has frozen, crashed, or has a visible glitch. The Apple Watch team does a tremendous amount of testing on watch code. Those engineers run automated tests, manual tests, and recruit thousands of Apple employees to use beta copies of watchOS and report any problems.
In my years working at Apple, I developed a deep respect for Apple’s Software Quality Assurance (SQA) engineers. They do a tremendous job. When software ships with bugs, it’s usually not because SQA didn’t report a problem, but because the schedule didn’t allow time to track it down and fix it (see “How to Report Bugs to Apple So They Get Fixed,” 17 June 2020).
Only the largest third-party developers, like Microsoft and Google, have equivalent testing resources. Smaller developers probably can’t guarantee the quality required for watch face code. And even if they could, it wouldn’t be economically feasible for them to spend that much time testing watch faces, which would quickly become a commodity in the App Store. Nor does Apple want to take on that level of testing itself as part of allowing third-party watch faces into the App Store.
Reason #3: Apple’s Image
It’s an understatement to say Apple is highly image-conscious. Apple obsesses over every detail of its public persona, from the Mac Desktop background to iPhone colors, and even extending to the exact shade of wood in Apple store tables. Steve Jobs examined dozens of shades of white cables before selecting the particular shade of white in the iconic iPod and iPhone earbuds.
The watch face is the public facade of the Apple Watch. It’s what everyone sees when they spot someone wearing an Apple Watch. It must be beautiful, contemporary, and polished.
There are certainly some third-party developers who create beautiful apps. However, as you browse through the App Store, you also find plenty of apps whose design is uninspiring and many more that are outright ugly.
Apple does not want the Apple Watch sporting a gaudy, grating, or downright dissonant face, even if that’s what you might like. Nor does Apple want to be in the business of deciding which watch faces are stylish enough to appear on the watch. Apple thinks its own designers do a fine job of creating a wide range of highly customizable faces, and it adds more faces with each watchOS update.
Reason #4: Copyright Worries
If there’s one department within Apple that you don’t mess with, it’s Apple Legal. Apple doesn’t want to waste time and money fighting copyright infringement lawsuits over watch faces. Many classic watch faces, like the Hermès face that Apple licenses for the Apple Watch Hermès, are copyrighted. Vintage faces were also designed before smartwatches existed, so licensing such faces for digital use means negotiating with a copyright owner that may not understand the issues involved in digital licenses. Worse, the App Store supports dozens of countries, and the copyright owner could be different in each country. It’s a legal nightmare.
Apple is all too familiar with watch face copyrights. Years before the Apple Watch existed, the company had to pay the Swiss Federal Railway service $21 million for a license after “adapting” its iconic Mondaine watch face for iOS 6.
Apple could require the developer to certify that they had a legal right to sell each watch face. But the company has no easy way to verify that the developer is telling the truth, and Apple would inevitably be named in any copyright infringement lawsuit because Apple has deep pockets.
When Apple originally started the iTunes Music Store, it took a small army of lawyers to acquire the legal rights to sell all those songs, in all the countries in which Apple operated. One reason it took so long for Apple Music to offer song lyrics is that written lyrics are licensed separately from the music.
Complications to the Rescue?
Apple thinks it has a feature that will satisfy users’ desire to customize their watch faces: third-party complications. The term complication comes from the world of mechanical watches, where it refers to extra information that’s displayed in addition to the time. Common mechanical watch complications include the date, the day of the week, and the time in another time zone.
The Apple Watch’s complications allow a third-party app to display additional information—usually a tiny amount of text and graphics—on one of Apple’s watch faces. watchOS provides several different shapes and styles of complications, and most watch faces can show several different complications.
What complications don’t show is the time—that’s reserved for the watch face proper. A popular Apple Watch complication is the weather, showing the temperature and a small icon for the current conditions.
Complications are part of an app, but they have special restrictions. The complication’s code gathers data, like the weather prediction for the day, and passes it to watchOS in a static data structure with details about when to display each data record. watchOS displays one data record at a time, updating the display over time until it’s time for the complication to load more data. The system is ideal for predictable, slowly changing data, like weather, ocean tides, or the phase of the moon. It doesn’t work well for data that needs to be frequently refreshed, such as stock prices.
Apple designed third-party complications this way to save battery life. The complication’s code only runs for a few seconds, several times an hour, which prevents it from sucking too much power. Most of the time, watchOS is just showing the complication using static data. That usually works well, but it does limit what can be represented well in a complication.
watchOS 7 Expands Customization
With watchOS 7, you can see just how much Apple wants to answer the desire for third-party watch faces without actually going that far. Changes include multiple complications from the same app, watch face sharing, and quite a few new faces.
- Allowing multiple complications from the same app in a single watch face may sound relatively minor, but it gives apps a lot more flexibility, presenting more data across multiple complications, and it lets users arrange those complications however they like.
- Watch face sharing may also seem somewhat unimpressive, but users spend a lot of time customizing watch faces, including the complications. It can take quite a bit of effort to get things just so, and if you’re showing off your customized watch face to a friend, you can now share it with them easily.
- Apple added seven new watch faces in watchOS 7. The new faces this time around include Artist, Chronograph Pro, Count Up, GMT, Memoji, Stripes, and Typograph. As you can see, Artist, Memoji, and Typograph are relatively bare-bones, but the rest of them offer lots of complication slots and other opportunities for customization.
These new features let users make their watches more personal than ever before. I’m sure Apple has additional customization options planned for future versions of watchOS as well. But third-party watch faces are probably not on the horizon.
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.
Though Mimestream will eventually be a paid app, it’s free to use while it’s in beta.
Mimestream works only 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 panes, 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.
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.
- 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.
- Move To menu command: Right now, you have to drag messages onto labels, which isn’t always the easiest approach.
- Undo Send: You know how you always think of something to add to a message as soon as you click Send? Undo Send gives you a short window to abort delivery of a just-queued message.
- Editing of server-side filters: As it stands, you can manage filters only within the Gmail Web app, and it would be nice to create and modify filters without logging in to Gmail.
- An unsubscribe shortcut: Promotional email often includes unsubscribe headers that email apps can use to create an interface that makes unsubscribing easy.
- Editing of vacation auto-responses: Again, this task currently requires you to log in to Gmail, but that shouldn’t be necessary.
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: Sometimes you want to schedule a queued message to be sent at a specific future time.
- Conversation muting: Occasionally, a conversation will blow up and overwhelm you with notifications.
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 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.