iOS 7 Table View Cell Highlighting

John Gruber:

In classic iOS, when you tapped down on list items or buttons, they’d instantly light up in vibrant color. The standard color was a bright cheerful blue. In iOS 7 through 12, the tapdown state is the color of dirty dishwater.

The table view cell highlighting behaviour is an example of how iOS 7’s design principles resulted in a design that is functional … but boring. There wasn’t anything whizz-bang about how it worked before. Just a few subtle choices to add that extra level of professionalism and sophistication.

The iOS 1-6 highlight was not simply a wash of blue, but a subtle gradient of blues shifting from light to dark. The variation in colour was just enough to suggest that the previously-dormant cell had been active and was popping off of the page.

Simultaneously, the cell content would invert. The black text and accessories, like the disclosure triangles, lit up as a white silhouette on the blue backdrop. The cell reacted as a unit, and the flash of vibrancy rewarded the user for interacting with the screen.

Most third-party developers — and some Apple apps — have already broken ranks with the official HIG and are on the path to more playful and lush designs. No one knows yet what form UIKit will take in iOS 13.

The standard set by iOS 7-12 is much more drab, almost clinical. It’s a flat, nondescript, grey that seems like it was chosen specifically because it would not draw the eye. The grey is close enough to white that anything white would not have sufficient contrast, so the illumination effect is also no longer present. Cell content no longer reacts in tandem. The whole interaction is a lot more lifeless. Rather than the UI egging the user on to complete the tap action, today’s iOS drearily yawns and says “okay, if you must”.

This is just one of the laundry list of things that people railed against in 2013. Criticism died down as people acquiesced to what was given to them. Many critics, myself included, accepted the iOS 7 design as a rush job and thought that Apple would obviously catch their breath and ‘fix it’ over the next couple of OS versions. I don’t think anyone at the time expected us to still be stuck with these missteps six years later.

Apple Pay Will Soon Support NFC Stickers For Payments

Steve Moser:

Apple announced support for NFC stickers/tags that trigger Apple Pay for payment without having an app installed. Imagine tapping your phone on a scooter or a parking-meter and paying for it without signing up or downloading an app first.

Apple is working with Bird scooters, Bonobos, and PayByPhone (parking-meters) on the initial rollout. Also instant-enrollment for loyalty cards in Apple Wallet is coming.

When you do Apple Pay at a brick-and-mortar store, the phone actually doesn’t do very much. The phone simply communicates a token which relates back to the card on file. It’s the merchant terminal that is connected to a server and sends off the transaction. This is why Apple Pay can be performed on a watch or phone with no network connectivity.

With a standalone NFC tag, it’s the sticker that is offline and inert and the phone does the heavy lifting of making the transaction and sending it to a server to be processed. I think what is happening here, essentially, is scanning the sticker with your device triggers an Apple Pay on-the-web transaction in the background. For the user, it’s convenient not to have needed to visit a website, download an app or otherwise login beforehand.

The same result could be achieved with a special-format QR code that encodes the payment data but that would add friction like needing to position the code in the camera frame — and would preclude the watch altogether.

What wasn’t clear is whether the NFC stickers are proprietary and will only work with Apple devices or if this is all based on some kind of industry standard. I assume it is the latter, though, as Jennifer Bailey showed the stickers bearing the generic contactless logo and not Apple Pay branding.

iOS 13 Reportedly Includes Redesigned Share Sheet


A more organized “share sheet” interface for sharing photos and web links. The software will suggest people to send content to based on how frequently you interact with them.

The share sheet has to be up there as one of the most used parts of the iOS system. As it is the only way for an app to expose all sharing services installed on the device to the user, pretty much every app shows a share sheet controller at some point in its flow. The component supports effectively no customisation points for its appearance or behaviour, so its presentation across every app looks the same. You see it a lot.

I’ve never been particularly thrilled by how the share sheet looks or works. Since iOS 7, the panel is split up into three sections; AirDrop, Share and Action. AirDrop is handy but doesn’t justify a row to itself. Really, AirDrop should be an option in the Share section. Nobody can adequately nail down whether an operation should be catalogued under the Share bucket or the Action bucket. The concepts are too closely intertwined. Sharing is an action and to share is an action. Customers and developers don’t know and don’t care in equal measures. It’s a jumble and people only learn where stuff is by rote, relying on muscle memory rather than any semblance of a sane ordering system.

The share sheet would be greatly improved if it was oriented around people first. Maybe have one section that is about sharing with others (Messages, Mail, Twitter) and then a separate section which is about sharing to yourself (Files, Notes). What if the share sheet showed a list of people rather than a list of apps? The Apple Clips app uses private APIs to do something custom along those lines, substituting the AirDrop row for a list of Messages contact to share your videos with a single tap.

What Gurman describes for iOS 13 sounds somewhat along these lines. It’d be cool if the recommendations would surface sharing shortcuts for people across all apps on the phone, but I wouldn’t be surprised if it was limited to Messages contacts only.

iOS 13 Includes Detachable Popovers System For iPad


There are many changes coming to iPad with iOS 13, including the ability for apps to have multiple windows. Each window will also be able to contain sheets that are initially attached to a portion of the screen, but can be detached with a drag gesture, becoming a card that can be moved around freely, similar to what an open-source project called “PanelKit” could do.

These cards can also be stacked on top of each other, and use a depth effect to indicate which cards are on top and which are on the bottom. Cards can be flung away to dismiss them.

Some people following up on this story quickly picked up on the fact that the creator of PanelKit, Louis Dhauwe, now works at Apple as if it is somehow meaningful. From my perspective, it’s more of a neat coincidence. Dhauwe joined the Xcode team in late 2018, a wholly separate department from the OS groups and months after the ideation and initial implementation for the upcoming ‘pro’ iPad features had happened.

PanelKit, or draggable panes, are not new inventions. There’s plenty of prior art for Apple to draw upon; they don’t need to hire a specific person to do it. In fact, this is all very much a touch translation of an AppKit concept; detachable popovers are used liberally throughout macOS and have existed since Lion. (Popovers originate from the iOS domain since iPhone OS 3.2, and the AppKit equivalent came later with additional features.)

I love the whole idea and the addition of detachability adds a lot of power to an iPad UI without burning screen real estate or requiring vast diversions from the idiomatic touch/gesture vocabulary. I doubt you even need to add a single element of visible interface to support it. Just show a popover, drag on the titlebar, and boom. You’re in.

A common issue with getting stuff done on the iPad is that you are always digging into and out of menus, dismissing menus only to open them again a minute later. The desktop solves this with multiple floating windows that can overlap and occlude windows not currently being used. A lot of those same benefits can be derived from floating panels. It’s worth restating that no single change will turn the iPad into a competent productivity machine that can rival a Mac. It’s an iterative process, every positive addition eating away at more of the outstanding (and ever-dwindling) pain points.

Of course, any third party app can roll their own detachable popovers today — PanelKit is the proof — but the reality is nobody does because it’s too much effort. Making it a system feature will coerce all developers into using it and make the overall platform experience more intuitive for users with the same learned behaviours carrying over across apps from different developers.

One aspect that is not confirmed nor denied in Rambo’s reporting is whether a detached panel can escape the bounds of the application. This is something that no third-party developer can do. An app today cannot draw outside of its window rectangle, whether it’s full-screen, in Slide Over, or in a Split View. I would hope that Apple’s approach does allow for that capability, particularly for Split View contexts. It means that a user could drag a panel over on top of the sibling app for safekeeping, without covering the active app at all. In my imagination of how this would work, these panels would still be transient such that they go away when the app is backgrounded, but whilst an app is front-most, I think the detached panels should be able to placed anywhere on screen.

I made a rough mockup to demonstrate my vision. In the example, I am busy writing an article in Pages and using Safari in Split View to lookup things for references. I detach the Pages formatting popover and place it to the side, temporarily covering Safari whilst I work on my document. These formatting controls are now always available to me with a tap, unlike the current status quo where it would require repeated taps on the toolbar button to show and hide the modal popover. When I’m done with it, I just flick the popover off the side of the screen and it automatically dismisses.

Apple TV+ And Apple TV Channels

The Netflix edge is that you pay one monthly fee and you can watch everything. There are no restrictions on the content library. If you see something in the app, either overtly recommended or found through search, you can just watch it.

The Apple TV proposition is not that. Apple is reselling ‘channels’ from networks like HBO and Showtime, and essentially offering its own channel of original content in the form of Apple TV+. As the TV app synthesises content from many sources, looking for something to watch will involve skipping past a lot of recommendations that are not accessible to you.

Let’s say you pay up the as-yet-undisclosed monthly bill for Apple TV+. You can’t freely browse inside the TV app. The TV app is going to show you content from other sources that you don’t yet pay for. Content that you can’t watch unless you cough up. Apple TV+ will only include new Apple exclusive shows — about two dozen at launch. There’s no back catalogue to fall back to. The TV app will have to recommend other sources otherwise the app will feel like a barren wasteland. Apple is also financially incentivised to advertise Apple TV Channels to its users.

The latest iOS and tvOS betas include the new TV app and demonstrate exactly this. Scroll around and you quickly run into banners for Showtime with one-click buttons to sign up and subscribe. It is contradictory to me that Apple designed the TV app in this way, a pseudo-advertising platform, at a time when many people are switching to streaming services because they want to get away from ads and commercial breaks. This factor alone will limit the enjoyment of the Apple TV+ service and impair its adoption.

I believe Apple TV+ will foster talent and debut many incredible shows, but I don’t like the idea of navigating past buy buttons when I just want to watch TV. As it stands, Apple will not provide that experience. I would like to be able to tell the TV app to only show me stuff I am subscribed to, but I am not convinced that Apple will ever include an option like that as it would hurt the sales of Apple TV Channels.

AirPower Cancelled


“After much effort, we’ve concluded AirPower will not achieve our high standards and we have cancelled the project. We apologize to those customers who were looking forward to this launch. We continue to believe that the future is wireless and are committed to push the wireless experience forward,” said Dan Riccio, Apple’s senior vice president of Hardware Engineering in an emailed statement today.

The AirPower mat is the perfect example of how hard it can be to make something simple. You can get very close easily, there are plenty of multi-device chargers on the market obviously, but doing it in the way Apple envisioned is clearly so difficult that Apple itself has given up. It is saddening because I had bought into the uncompromising wireless charging vision the moment that Schiller presented it alongside the iPhone X. The dream is now dead. Apple is one of very few companies that cares enough about the finer details of this experience and has the money to fund the development effort. Realistically, no one else is going to try.

The AirPower mat was not going to be financially significant for the company but it heralded real advantages of wireless charging and would have been a fantastic complementary product for Apple customers who constantly juggle the charging their iPhones, Watches and AirPods on their nightstand. This is the reason why Apple showed it at the September 2017 event. It was a true step into the future. The iPhone X was the ‘future’ phone. One backed up the messaging of the other.

This justification makes it no less embarrassing for them. AirPower was important enough to share stage time with the 2017 iPhone lineup, so it’s a big miss however you slice it. It’s also a first in the company’s modern history. I can’t think of another product that Apple announced and simply never, ever, shipped. The 3GHz Power Mac G5 is the closest parallel I can think of and that was merely a failure to deliver a single configuration of a product line. In 2003, Apple released Power Mac G5s and promised that they would debut 3 GHz CPU options within a year. The 3GHz Power Mac G5 never materialised, highlighting limitations in the PowerPC architecture, and Apple transitioned the Mac to run on Intel CPUs not long thereafter.

I’m sad that the product will not exist and I’m also not thrilled with how Apple handled the cancellation. When Apple finally decided to release the AirPods wireless charging case earlier this month, which carried a hefty premium over the normal second-generation AirPods, they clearly knew that they had given up on the mat. They decided to wait until after the rush of AirPods orders had gone through to announce AirPower’s fate. Therefore, plenty of people bought the wireless charging model with the AirPower mat use case in mind, none the wiser to Apple’s internal plans. I am one of those buyers. Apple made more money by making its announcements public in that order. Even if the total of those purchases is small, it is a bit sketchy. I know I regret paying the extra £40 for my new AirPods.

Apple Releases New iPad Mini, iPad Air And AirPods

I don’t believe that Apple planned to release three product updates in three successive days in March. At the very least, the new AirPods seems like something that was meant to be out for Christmas. The iMac spec bump might have been intended to be a 2018 thing too. However, the company wanted to draw a line in the ground and make its Monday event solely about software and services.

So, Apple made the best of a bad situation and engendered excitement for relatively-minor announcements in a way that I haven’t seen them do in a long time. The Tim Cook sketch memes on Twitter were great and community was actively excited to see what was coming the day after. The hype train came to a halt when Apple ended the streak on Thursday but as they never promised to have something new for every day of the week, no one really came away feeling disappointed.

I mean, we all know how interesting credit cards are.

It also acts as a nice backstop for the services bonanza taking place on Monday. Apple has already paid some attention to its hardware user base so if you watch the spring event and are completely disinterested in news, games, TV or the credit card project, at least you have already been throne a bone the week before.

The shared motif of all three product category updates was the feeling that these teams were told to do whatever update you can without needing to change the chassis design. For the iPad Air and Mini, this is passable. The bezels are big but it is reasonable to keep the new-generation design as a ‘Pro’ differentiator for a year. The 2018 iPad Pro models only just came out after all. The Air represents good value for money and the Mini carves its own niche (a la Mac mini). The bifurcation of the Apple Pencil accessory is annoying and inelegant. It doesn’t feel like asking too much for Apple to flatten the edges and add a magnetic charger into these models, but alas they did not do this.

The iMac update is so incremental it’s almost insulting. The only change to the default configurations is the inclusion of eighth- and ninth-generation Intel CPUs. The Radeon Pro Vega GPU option is a $750 upgrade. I wasn’t expecting a chassis redesign (although one is very much warranted almost a decade deep with the same design) but the lack of SSD-only / T2 equipped iMac configuration was a disappointing shock.

The new AirPods are cool. I’ve ordered a pair, primarily so I have the wireless charging case at hand for whenever the AirPower mat arrives. My number one complaint with the current AirPods is that, sometimes, it can take like 20 seconds to switch from my iPhone to my iPad. When it looks like it is behaving normally, this action takes about three-to-five seconds. Apple markets the H1 chip as halving the average connection time, and I hope the reliability is improved too.

The new AirPods are described in documentation as ‘second-generation’ but these are more like AirPods 1.2 plus the wireless charging case. Nothing wrong with that but I’d expect more significant change next year. The pricing is a bit awkward. $159 for the new AirPods with the standard charging case, or $199 for the new AirPods with the wireless charging case. I saw plenty of people who were confused by this and thought it was an Apple TV-esque stunt where the old model was continuing to be sold at the same price point. You pay an extra $40 just for the wireless charging function. That is a pretty steep premium for what you currently get in exchange. I predict, maybe next year, the wireless charging case will become standard across the line and the $199 model will be more differentiated, perhaps using features like noise cancellation as the up-sell. The $199 price point isn’t going to disappear.

The Siri Shortcut

Shortcuts is an overloaded term in the Apple world. What I am referring to in this article is the Siri Shortcuts system, not the Shortcuts app that allows users to make their own workflows. You can make Siri Shortcuts from shortcuts made in the Shortcuts app.

What I am focusing on is the mechanism by which apps, first or third-party, can expose shortcut actions to iOS that can then be ‘added into Siri’ and activated using your voice. The shortcuts can be presented to the user by each individual app or found in a list of recommendations in the Siri pane of the Settings app.

This means Siri can now be smarter by drawing on the capabilities of many more apps. You can order coffee. Control third party audio apps like Overcast or Pandora. Plan travel itineraries with Kayak. All with your voice talking to your intelligent personal assistant.

Except that’s not really true. That is how Apple likes to market the feature but it’s a twisted form of reality. Shortcuts are not making Siri smarter, in fact they are dumber than pretty much anything Siri has done to date. Shortcuts put the burden on the user to do the legwork of synthesising data sources and integrating the apps into the voice service.

Shortcuts require registration and administration to do anything at all with Siri. The user has to pre-emptively search out every command available in a certain app and then add each in turn to Siri. Registration requires the user to think up the phrase they want to use to trigger the command on the spot. Siri can then trigger these actions when that same phrase is said back to it at a later date.

There is no intelligence here. Siri transcribes the user’s voice and looks for an exact text match of that phrase in the database of voice shortcut phrases that the user has generated off their own back. If a match is found, it proceeds. Otherwise, failure.

There is no leeway in what can be asked. There is no flexibility in how a command can be impromptu formulated. Any sequence of words other than what was inputted when the shortcut was first registered is not understood. That’s the point, there is no understanding. The Siri interpreter has no understanding of semantics or meaning when you are interacting with an app shortcut. It is a dictionary text lookup and nothing more.

It is disappointing that Apple is leaning so heavily on shortcuts as a mainstream way for customers to get more from Siri. It flies in the face of how you want a voice assistant to work and behaves differently from every other type of Siri interaction. When you ask Siri for the weather, you can say ‘What’s the weather?’ or ‘What’s the weather on Friday?’ or ‘tell me the forecast’ or ‘do I need to wear sunglasses?’ or just ‘weather’. The whole point is the user does not have to revise a set list of triggers. Apple has made entire ad campaigns to this effect, promoting the flexibility. Forget custom variables, the Shortcuts system cannot support multiple ways of saying the same thing. A truly good voice assistant does not require the user to remember something.

This philosophy is exactly what drove Apple to design the SiriKit API in the way they did. SiriKit abstracts aways the parsing or semantics of a snippet of speech. It is the responsibility of Apple engineering to enable the understanding, across English locales and foreign languages. Under SiriKit, the third-party apps only supply the data for the response. All of the work Apple puts in to improve Siri’s understanding of commands automatically benefits every SiriKit app, and every SiriKit app of the same domain should respond consistently to the same commands. The downside to SiriKit is that it can only work with a subset of applications, those which Apple has done the legwork to create a domain for. So, a user has to know which of the apps on their phone works with Siri, but they don’t have to register a corpus of commands and can interact with the app through Siri with an order of magnitude more freedom.

By relying on the Shortcuts system so heavily, Apple risks breeding even more hatred for Siri than what already exists in the community, as people inevitably forget the exact words they used when they made the shortcut four months ago, and blame it on Siri being dumb instead. If you want to call Siri dumb, then Shortcuts is primordial in comparison.

I am worried that Siri Shortcuts has usurped favour in Apple’s product marketing groups to the point where engineering resources on SiriKit have been sidelined. Siri Shortcuts certainly requires less effort on the part of Apple to maintain. It’s the lazy way out for them versus SiriKit which necessitates continuous advancement and development of new domains. I care about the end user experience and SiriKit provides superior results. I want them to invest in supporting more domains. At best, Apple should consider Siri Shortcuts as a companion feature to Siri and not a substitute for SiriKit.

Bloomberg Reports Three Step Rollout For Marzipan


Later this year, Apple plans to let developers port their iPad apps to Mac computers via a new software development kit that the company will release as early as June at its annual developer conference. Developers will still need to submit separate versions of the app to Apple’s iOS and Mac App Stores, but the new kit will mean they don’t have to write the underlying software code twice, said the people familiar with the plan.

In 2020, Apple plans to expand the kit so iPhone applications can be converted into Mac apps in the same way. Apple engineers have found this challenging because iPhone screens are so much smaller than Mac computer displays.

The distinction between iPhone and iPad support sticks out. In the age of Split View, iPad app have to be ready to adapt to skinny columns, square, and full-screen layouts at any time. They are programmed to be continuously resizable. Even fixed size iPhone apps on macOS would be alright; they’d just be small windows amongst your other windows.

In an attempt to decipher the Chinese whispers here, I think what this actually means is that this year’s Marzipan system will not let you shrink windows into single-column designs. At a technical level, apps running under Marzipan on macOS 10.15 will not transition to compact width size classes. In fact, this is exactly how News, Stocks, Voice Memos and Home work on Mojave. Try it right now. Although the windows are resizable, they have minimum size constraints in both width and height. It is not possible to compress the interface enough to collapse the sidebars.

I don’t know why they chose to enforce this restriction as many actual Mac apps, like Finder, do happily morph into skinny column layouts when their windows are made small, and I can’t think up a technical reason that would prevent it from being implemented.

Kuo Outlines Apple's 2019 Hardware Updates


Reliable Apple analyst Ming-Chi Kuo is out with a wide-reaching new investor note this evening. Kuo says that Apple will release new iPads, a new 16-inch MacBook Pro, a 31-inch 6K monitor, iPhones with bilateral charging, and more in 2019.

I love Kuo. He can go silent for three months and then, out of the blue, drop a wide-reaching report about seemingly every major new Apple hardware product coming this year. On a Sunday.

Kuo believes there will be a new MacBook Pro update with a 16 to 16.5-inch display. This is apparently an “all-new design” which, in Kuo parlance, means a substantial change to the chassis. This isn’t going to be the same MacBook Pro chassis we know today made to accommodate a 16-inch display. The obvious direction is to make the bezels smaller. Kuo provides no more details, but let’s hope the keyboard is “all-new” too.

Interestingly, a 16-inch panel implies that the laptop will almost certainly get larger. Even if you removed 100% of the black frame surrounding the current MacBook Pro screen, you would just reach a 16-inch diagonal. In reality, there is of course going to be some minimal expanse of bezel, and the report has enough wiggle room that screen could be up to 16.5-inches, so the dimensions simply have to be getting a little longer and wider. Maybe this will be a MacBook Pro that does not tout thinner, lighter and smaller as one of its flagship improvements. That’s significant in itself.

The other morsel in the Mac category is details about Apple’s upcoming external display, expected to ship alongside the Mac Pro. Kuo describes its as a 31.6-inch ‘6k3k’ high-resolution panel with a backlight similar to Mini LED. Unlike typical LCD monitors, Mini LED backlights enables portions of the display to be turned on and off independently. This results in a similar effect to OLED with high-contrast black levels. Mini LED lighting is also thinner and power efficient than standard LCD backlight components. All of these features firmly differentiate the Apple display from the LG UltraFine range. It certainly fits the bill of Apple’s promises that it would be a ‘high-end pro’ display. Also, expect a big bill when you buy it.

Kuo says that Apple will an Apple Watch ceramic body option after an Edition hiatus with the Series 4. He reiterates that AirPower is shipping in the first half of the year, and accompanying wireless charging AirPods case, so that’s good news. The 9.7-inch iPad is being bumped up to 10.2-inches but it’s not clear if the screen bezel is shrinking with that product as Apple still has to contend with the Touch ID home button. The iPad Pro, iPad mini and iPod touch are getting the short end of the product marketing stick, with mere processor upgrades anticipated.

Regarding iPhones, the report says that the iPhones will have a new ‘frosted glass’ casing finish. This sounds like a similar material to the Pixel 3’s matte glass back. I haven’t actually handled a Pixel 3 in person, but the matte glass is cool to look at in photos. Kuo says the triple camera setup will mean the addition of an ultra-wide lens. A fair few Android phones offer ultra-wide cameras currently, I don’t know how useful they are in the real world. I feel like it’s more niche than the zoom lens. Kuo calls out ‘larger batteries’ as a new feature. The XR embarrasses the iPhone XS (non-Max) so much when it comes to battery life it is actually insane. Hopefully, the 11 can bring those models closer together. The bilateral charging feature benefits from a bigger internal battery too, as you can use any excess juice to wirelessly charge up your AirPods in a pinch.

The other major thing Kuo highlights is support for ‘Ultra-Wide Band’ indoor positioning. UWB involves venues setting up little antennas in the corners of rooms, which the phone can talk to and locate itself with a very high degree of accuracy (often better than a 1 metre radius). Apple has been slowly expanding its indoor mapping features in Apple Maps, and I bet that this is the year they push it big time. Here comes augmented reality Maps navigation.

Making A Mac App

When I was finishing up Daily Dictionary for iPad, App Review decided that it no longer found my subscription upgrade screen acceptable despite its design not changing. They took issue with the verbiage in the fine print, they complained that Terms and Privacy Policy link must not be blended together and instead separated into two independent links, etcetera etcetera.

This is annoying but it is not unusual. App Review loves to changes its mind and never more so than with the renewing subscription requirements. On this occasion, I had ‘nothing’ to do whilst I was waiting in the metaphorical App Store Connect line. It was a weekend.

For some reason, I channeled my frustration from the repeated delays into making a Mac app. I booted up a new Xcode project and tried to learn AppKit on the spot. I had approximately zero prior knowledge about Mac development, and it seemed like a terrible time to start given the turbulent state of macOS apps framework, but I had nothing better to do.

AppKit is funky. I have now made a Mac app, but I admit I don’t know what I’m doing. When you get stuck with AppKit, you really do get stuck. Googling doesn’t really help you as there simply is a lack of online posts and forum threads for Mac-specific topics. I basically followed UIKit idioms whenever the most obvious path was not apparent.

Some stuff came very naturally. Other stuff seemed inane, or at least I don’t have the context or berth to understand the choices that have been made.

I thought it was really cool that behaviours like alternate menu items in the menubar are built-in automatic features of the AppKit framework. (This is the thing where you can hold down a modifier key, like Option, whilst in a menu and see how some of the items dynamically update to show an alternate-but-related action that depends on the modifier key being held.) As a developer, you just add two menu items with concomitant keyboard shortcuts, set a flag, and it shows and hides the secondary one automatically. In general, AppKit has a much larger library of controls and interface elements than UIKit such that the need for coding custom view subclasses is greatly reduced. Also, macOS standard elements look prettier than the stock iOS counterparts, so that helps a lot too.

In the ‘stupid stuff’ camp, it is ridiculous that you can’t zoom in or out of a Mac storyboard in Interface Builder. I was flummoxed when it came to making an action that could be executed with a keyboard shortcut without having an activatable control on the screen. I also struggled to work out how I was supposed to organise my Mac project. How do I funnel menu items from a storyboard into outlets for my window controller? The solution I found is to make outlets on the AppDelegate that I then expose as public properties. Yuck.

Despite the bumpy road, my familiarity and ten year knowledge of iOS app development meant that I could complete the work. I have made a single window utility Mac app, and doing it was really fun. I originally made it as a personal proof of concept but it turned out so good that I polished it up into a shipping app.

What is that app? Tabs to Links. It detects open windows and tabs in Safari and lets you export those tabs as a list of links. In one step, you can make a bulleted list in Notes or just send the links in an email. There’s also an integrated suffix algorithm, which allows the app to strip redundant text from the links. This comes up a lot as many websites include their name and/or slogan in the page title. Just check the ‘Trim titles’ box and the app finds such repetition and will not include it when sharing. Click the Share Links button to see all compatible sharing services. If Tabs to Links is frontmost, you can press Command+C to instantly copy to the clipboard, ready for pasting into any Mac app.

You can get it now from the Mac App Store. Watch this 15-second demo video I made using my incredible (read: terrible) iMovie and QuickTime skills. It works with Safari only; I could make it work for Chrome too if there is demand.

Here’s an amusing aside. Years ago, I made this feature as a tabs-to-links Safari extension. It would take the open tabs and spit out a HTML list. Me and Zac have used it for ages to create the show notes for the Happy Hour podcast.

Apple’s migration to Safari app extensions, from Safari JS extensions, removed the capability to detect all opens tab in a window; you could only get the name and URL of the active window. Hence, my hacked-together JavaScript extension did not have a future. This was the underlying motivation to remake the project when I decided to dive into AppKit; I knew it would be relatively simple but also useful.

Sods law is such, that upon completing the native Mac version, Safari Technology Preview added an API for app extensions to retrieve data for all windows and tabs. This means Tabs to Links could live as an app extension after all. In any case, the Mac app is way nicer to use. AppKit enables more features, a prettier UI, and access to system sharing services. Down the road, I could integrate a Safari extension into Tabs to Links as an alternative option.

Apple Retail Employees Aggressively Pushing iPhone Upgrades


I explained that my device was randomly shutting down and wouldn’t come back on for several hours. As soon as I finished the explanation, the greeter said, “Have you considered upgrading to a new iPhone recently?”

The Apple Store is a store. It’s a place to buy something, and a place for Apple to sell something. However, the Apple Store has never been defined by the hard sell. In fact, it boldly fought against it. Apple retail employees have never earned commission because the goal was to give shoppers the right advice, and match person to product based on need and wants, not which one gives the biggest kickback.

These new initiatives to juice iPhone XS and iPhone XR fly in the face of the principled stance Apple has established in the past. Staff advice is distorted by upper management marketing pressure, rather than monetary incentives, but the result is the same for the customer. The advice is currently biased towards hitting Apple’s targets, not what the person walking in the shop really wants.

Miller’s anecdote is a great example of how this damages the retail experience and, by extension, the whole of the Apple brand. He is walking to get his iPhone XS Max fixed. He’s literally Apple’s best iPhone customer coming in for a support query on his new phone. Yet, the representative is immediately initiating a sales pitch. It honestly sounds like to me the employee did not even look to see what phone he had before starting to read robotically from the sales patter. Even if the person did mistake it for an iPhone X, that’s still a new model (with an associated $1000 outlay only one year ago). Nobody giving genuine advice would be recommending an upgrade in this scenario.

If you are a customer browsing the devices on the product tables, you expect the Apple employees on duty to expound the benefits of the best iPhones. A couple of mentions during Today at Apple sessions is also borderline acceptable; it’s a free session otherwise. That stuff is just about okay. It’s the fact Apple is instructing retail staff to also prey on people coming in to get help at the Genius Bar that is unequivocally distasteful, and not something that you expect from a premium brand. It’s offensive behaviour. These are tactics that try to inflate iPhone sales in the short term that risk damaging Apple’s long-term reputation and image. Tim Cook loves to advocate to investors that the company management look beyond the 90-day clicks, but this is certainly not that.

Apple Rumoured To Be Exploring Game Subscription Service


Apple is planning a subscription service for games, according to five people familiar with the matter.

The service would function like Netflix for games, allowing users who pay a subscription fee to access a bundled list of titles. Apple began privately discussing a subscription service with game developers in the second half of 2018, said the people, all of whom requested anonymity to discuss unannounced plans.

The company has also discussed partnering with developers as a publisher, according to two people familiar with the talks, which could signal Apple’s ambition to assume distribution, marketing, and other related costs for select games.

At a high-level, there isn’t much strategic difference between an original content TV service and a games service. You just need leadership with good taste to hunt out games, and sign the exclusivity deals. One distinction is that modern TV production can be expensive but the budgets of AAA console titles can be even bigger than TV.

Apple has deep pockets but even they will be hesitant dropping three hundred million dollars on a single game. You have to aim your sights slightly lower; you can certainly make visually rich and engaging mobile titles with much less financial backing.

You could even make a service with zero exclusives and instead push discovery of what’s already there. I can imagine a compelling discovery/rental proposition. What if you paid a dollar a week, and you can play any game featured in the “Games We Love” section of the App Store. The titles appear automatically in a special folder on your iOS’s home screen and it continuously refreshes. No freemium games, full proper games. When the title goes out of rotation, you can choose to buy it to keep, at a reduced price. I think an idea along those lines could have legs. It brings discovery outside of the App Store app, and feels like value of money to boot. A similar model could be rolled out for apps too.

Apple Expands AirPlay 2 Video Streaming To TV Sets


Leading TV manufacturers are integrating AirPlay 2 directly into their TVs, so now you can effortlessly share or mirror almost anything from your iOS device or Mac directly to your AirPlay 2–enabled smart TV. You can even play music on the TV and sync it with other AirPlay 2–compatible speakers anywhere in your home.

With AirPlay 2 and HomeKit, you can use Siri on your iPhone to send a video to your TV. Better yet, ask Siri to play a specific show in a specific room.

I was pretty snarky about this on Twitter when the news hit on the weekend, which I think gave people the impression that I thought Apple was making the wrong moves here. I actually think the opposite. This is great for everyone.

I have been asking for Apple to license video AirPlay to third-parties since it launched on Apple TV in late 2010; in fact, there were reports all the way back in 2011 that Apple was negotiating with TV set manufacturers to do exactly that.

Businesses and schools have been buying Apple TVs in droves just to enable wireless projection of iOS device screens. It’s such a big part of the product’s appeal that Apple added a Conference Room mode to support this usage. I think around 60 million Apple TVs have been sold, and I’d guess 10% of them are only used for AirPlay.

On the mainstream angle, a lot of smart TVs integrate a technology called DLNA to enable wireless video streaming from Windows computers and Android devices. Apple has essentially held back experiences to Apple devices that customers using other manufacturer’s products can already enjoy, and have been enjoying for half a decade. No normal person buys an Apple TV just for AirPlay, it’s simply too pricey.

If Apple had licensed AirPlay video more liberally from the get-go, every TV screen and projector would have it built in already. No need to buy a $100+ peripheral. No need to switch to the Apple TV input. No setup needed.

I am so pleased that Apple has changed their stance here. These partnerships bind Apple customers more closely to the iPhones, iPads and Macs they already own, and improve customer satisfaction and loyalty rates. It will take time for the number of AirPlay 2-enabled TVs sold to be meaningful, but in the course of time, it will be commonplace.

This includes access to iTunes' 4K HDR content, something even the Mac cannot do. And yes, obviously, iTunes is a placeholder until the new Apple video service is launched.

For Samsung TVs, Apple is going further and will release an iTunes Movies and TV Shows app, representing the first time Apple is bringing its video services to non-Apple platforms. It won’t be the last time either.

These rollouts erode some hitherto exclusive features of tvOS and will cannibalise Apple TV sales substantially. I saw people draw comparisons to Apple Music launching on Amazon Echo but I actually feel that this is more ‘severe’; these announcements marginalise the Apple TV way more than the HomePod is impacted by the Amazon deal.

In the absence of Apple making its own television set, Apple’s overall business is bettered by having a universal presence in the living room with these partnerships, rather than not just to protect the appeal of its middlingly successful set-top box. People are going to be amazed when they can ask their iPhone to play a TV show and it just starts playing on the TV. They will buy more iPhones and sign up to the Apple video service because of it. Even discarding the imminent Services onslaught, I would still argue that this is the right thing to do.

The Apple TV hardware proposition needs to change. The Apple TV is not a competitive product in its current form. With Apple giving away the crown jewels to Samsung, LG, Sony and Vizio, it is going to require a radical overhaul. Maybe they start bundling Apple TVs with its video subscription service, maybe they change to a Chromecast-like form factor. I love the tvOS interface — it’s the best Plex client available — but I can also recognise that the idea of a $150+ set-top box is closer to irrelevance than it ever has been before.

Apple Lowers Revenue Guidance Due To iPhone Sales Weakness


Lower than anticipated iPhone revenue, primarily in Greater China, accounts for all of our revenue shortfall to our guidance and for much more than our entire year-over-year revenue decline. In fact, categories outside of iPhone (Services, Mac, iPad, Wearables/Home/Accessories) combined to grow almost 19 percent year-over-year.

While Greater China and other emerging markets accounted for the vast majority of the year-over-year iPhone revenue decline, in some developed markets, iPhone upgrades also were not as strong as we thought they would be. While macroeconomic challenges in some markets were a key contributor to this trend, we believe there are other factors broadly impacting our iPhone performance, including consumers adapting to a world with fewer carrier subsidies, US dollar strength-related price increases, and some customers taking advantage of significantly reduced pricing for iPhone battery replacements.

Apple’s initial revenue projections were lower than many analysts had predicted, and now it transpires the reality is even worse than Apple’s original estimates. On top of the year-over-year revenue decline, companies have to be able to show that they understand their business and can forecast results reliably. Apple’s corporate team screwed up on that part, plain and simple.

Getting guidance wrong spreads investor uncertainty and it’s much harder to dig out the seeds of doubt from the ground than it is to plant them. This is why Cook’s letter is as fastidious and detailed as it is. It’s serious stuff. The problem with a letter this long is that people get lazy, pull out one part that confirms their own beliefs, and essentially ignore every other word.

I think if you read this report and come away with the idea that Apple’s strategy of jacking up iPhone prices to the $1000 level has backfired, you are not interpreting what Cook wrote accurately.

Nowhere does it allude to Apple pricing its products out of reach of consumers. In fact, it says “categories outside of iPhone combined to grow almost 19 percent year-over-year”. Apple raised prices on basically every product last year, and it seems to be mostly working. They are going to hit all-time revenue records in many regions, including the United States. If iPhones were 10% cheaper, they would have sold more of them of course, but would they have sold >10% more units to increase the overall total? That is not a sure thing.

The note does call out foreign exchange fluctuations causing price increases in some international developed markets, which compounded the rise in the US dollar prices. Perhaps we will see price cuts in select markets which are particularly impacted by tariffs and/or unfavourable exchange rates. Notably, Apple did not include the United Kingdom in the list of record-setting regions, a market where the iPhone is usually resilient. Weakness in the pound hasn’t helped Apple’s sales performance here recently.

The China issue is hard to parse. It is staggering to me that sales in a region could change course so quickly, so much more dramatically than any worldwide trend. I guess we will wait and see whether other smartphone companies announce similar shortfalls in China, to determine if it really is a macroeconomic concern or a fundamental weakness in the appeal of the iPhone.

Most interestingly, Cook mentions the iPhone battery replacement program as a factor for iPhone upgrades not being as strong in some developed markets. A year ago, on the Q1 2018 earnings call, Cook said that “we did not consider in any way, shape, or form what it would do to upgrade rates … we did it because we thought it was the right thing to do … I don’t know what effect it will have”.

With this letter, Apple acknowledges that some people elected to upgrade their battery for $29 and opted not to buy a new iPhone which would cost them hundreds of dollars. Shocker. The combination of iOS 12 and fresh batteries is of course going to make some people hold off. This is absolutely fine. A couple million units lost in short-term sales should pay back in spades with the loyalty earned by these policy efforts. Apple also loves to expand the install base at the moment, which has a positive knock-on effort on services income.

To be fair, Cook’s writing does not say that the battery replacement program is a problem. It’s candidly mentioned because it is a contributing, secondary, factor to lower demand in the current quarter and they have to be transparent about it. Some investors will no doubt get upset about it, but Apple should never cave to that kind of opportunistic pressure.

Overall, I think the letter is a pretty good reply to a bad situation, which arose primarily by Apple’s own errors in forecasting. The next earnings call is going to be a great listen, and I can’t wait to see how “undertaking and accelerating other initiatives to improve our results” comes to fruition over the next few months.

macOS Mojave Dark Mode

It’s funny. I don’t like Dark Mode enough to change to it full time but there are definitely parts of the appearance which are better than the Light appearance. I love how certain apps and panels look with dark styling, but I don’t prefer enough components to switch over wholesale.

The harsh white borders that spring up on window frames and other bars is particularly obnoxious. I get why they did it but it feels overdone for my tastes. I almost want to pick and choose a combination of light and dark components.

The header image is an example of something which is much improved in Dark Mode. The style of the volume HUD has irked me ever since the Yosemite bleaching. The grey blurry panel is just unattractive, reminiscent of blotchy mud. However, in Dark Mode, the blurred backdrop is much better with its darkened palette. The white glyph pops over the background, and the black surround doesn’t steal focus. The contrast of the elements is simply superior.