10 Clues to the Future of Universal Apps and the Apple App Store

The other day I told you about how OS X may become a legacy operating system. That won’t happen overnight; it’ll take a few years. Today I’d like to discuss what might happen in the meantime. I’ll take a bunch of seemingly unrelated facts and see if I can form a realistic story out of them.

I’ve been thinking a lot about Apple’s App Stores lately, especially the Mac App Store which has had so much grumbling about it on Twitter and the blogosphere. In case you haven’t heard, the main complaints are: the Mac App Store doesn’t have as many features as the iOS App Store, apps seem to sit in the queue for longer periods before being approved, apps are sandboxed much like iOS apps, there’s no upgrade pricing for apps, there are no free trials available, and it’s hard to discover new apps based on a very primitive search mechanism.

When a piece of software, such as the Mac App Store appears to be abandoned by Apple, two things immediately spring to mind: either it really is being abandoned and Apple is quietly suggesting you move along without it, or Apple has a huge redesign in progress and doesn’t want to expend time & money on the old version but the new version isn’t ready yet. So they just stay quiet.

A subset of the second option (or, perhaps, a combination of the two options) is that the Mac App Store is going to be abandoned because OS X apps will become more like iOS apps, and there will be a grand unification of the app stores into one App Store.

It’s not too hard to conjure up a story for a unified App Store; here’s some evidence for that.

  1. Apple has been moving to 64-bit OSes and apps for several years. OS X apps have been 64-bit for several years and even iOS apps have been allowed to be 64-bit since the A7 CPU was announced in the iPhone 5S.
  2. Over a year ago, Apple required that iOS apps uploaded to the App Store be 64-bit (even if they also included a 32-bit version). Thus both iOS and OS X apps are 64-bit.
  3. As of Xcode 7, Apple has allowed iOS developers to specify that their apps work only on 64-bit devices. So even though iOS 9 runs on older 32-bit CPUs, iPhones and iPads that contain 32-bit CPUs would not be able to run certain performance-hungry 64-bit apps. App compatibility is no longer just based on iOS version.
  4. For the past couple years, the release notes for Xcode have mentioned that Apple has deprecated “garbage collected” apps on OS X. They’ve even given us a timeline: These older apps, which use a type of memory management that is not supported on iOS, will no longer work in OS X 10.12. This means Apple could make iOS and OS X even more alike next year at WWDC 2016, since both types of apps will use ARC, a more efficient technique that allows iOS devices to use less RAM than Windows 10 or Android apps. Thus both iOS and OS X apps use ARC memory management.
  5. Unlike Microsoft, which came out with the completely new Windows 8 and forced both desktop and mobile users and developers to adapt to a completely new interaction model and APIs, Apple has been gradually—but purposefully—making iOS and OS X more and more similar. They’ve been doing this to users by adding iOS features to OS X, adding OS X features to iOS, and adding new features to both simultaneously (such as Extensions). Likewise, for developers, Apple has been adding iOS APIs to OS X (such as table views, collection views, & tab views.), adding OS X APIs to iOS (TypeKit, JavaScript Core, etc.), and adding new APIs to both (CloudKit, HomeKit, etc.). Thus, year by year, iOS and OS X APIs become more and more similar.
  6. Apple already has “unified” apps for iOS and tvOS by allowing developers to specify that buying an app on iOS results in the same app being free on tvOS and vice versa. An educated guess would be that this is a half-step to a truly unified app, but some infrastructure wasn’t ready yet so Apple had to invent this temporary solution. So Apple is clearly looking at unification.
  7. There’s been a lot of developer angst about how different WatchKit is from standard iOS development (watchOS and tvOS are basically iOS with some libraries removed and new UI paradigms added). But remember that this first Apple Watch uses a 32-bit CPU. In fact the Apple Watch is the only device Apple still sells that’s 32-bit. Perhaps Apple is waiting to open up the APIs a little bit until the Watch CPU and WatchKit APIs are 64-bit.
  8. At WWDC 2015, Apple announced that one feature of App Thinning is BitCode, which allows developers to upload an intermediate form of their app, which Apple can later optimize for different CPUs. Yes, I know that Apple’s Chris Lattner has disavowed this possibility, so it’s not a key requirement of my theory, but then again he could be saying that because they don’t want to give away their plan. Remember how Apple was never going to have a stylus? Another possibility is that Apple will be coming out with a B-series of CPUs, but instead of being optimized for battery life like the A9 and A9X, they’re optimized for desktops and laptops. BitCode might make more sense in this scenario, allowing apps written for iOS to also work on AppleOS (see point #10, below).
  9. Also at WWDC 2015, Apple merged their iOS and OS X developer programs. If you create iOS apps you can now create OS X apps, and vice versa, at no additional cost. This would also be a key component of a unified App Store.
  10. Apple is presumably working on a laptop and/or convertible laptop/tablet that will feature an ARM CPU and run a derivative of iOS, much like tvOS and watchOS are derivatives of iOS. Perhaps it will be called iOS or perhaps AppleOS (iOS with an OS X-like UI, optimized for keyboards & mice) which might run on an AppleBook laptop. In any case, iOS will need to be modified to be more keyboard- and mouse-friendly. Apple is part way there already—iOS features keyboard shortcuts prominently on the iPad Pro with Smart Keyboard, and Apple has “focus” figured out for tvOS. “Focus” is the ability to move from one control to another (say, from a button to a text field) without using a touchscreen. On tvOS it’s done through swiping on the Siri Remote; on a laptop, it would be done by using the Tab key on a keyboard. Stephen Troughton-Smith has done some interesting investigative work showing how these features are already in iOS 9, they just haven’t been exposed publicly. He’s also show that tvOS has a built-in web browser, but it’s lacking a mouse cursor because Apple TV doesn’t have a mouse.

https://twitter.com/stroughtonsmith/status/664633260434157568

Now, it’s possible that I’m conjuring up theories out of thin air, but all these data points seem to make sense when you think that Apple is working on a unified App Store with unified apps that run on iOS, watchOS, tvOS, AppleOS(?), and OS X.

There would be a collection of APIs that, if developers stick to them, apps would run on all Apple devices and OSes. This API collection would comprise most or all of iOS as well as a large subset of OS X (the parts shared with iOS). Of course there will still be some platform- and device-specific abilities, since a Watch is not a TV.

Apps could use non-UI libraries that are shared across all devices, perhaps having different sets of storyboards to define the UI specifically for each type of device. (Even if you unify the APIs, it’s unreasonable to expect a Watch app to look or work the same as a TV app.)

Once the app was uploaded to the App Store, Apple could use the BitCode intermediate format to compile it for Ax ARM (iOS, tvOS, watchOS), Bx ARM (AppleOS, which otherwise would have no apps on Day One) and, possibly, Intel (OS X).

Developers and enterprises that create iOS or OS X apps have to start thinking about a unified system.

So what might the timeline be for this unified API, App Store, and ARM-based laptop- or desktop-like devices?

Apple is rumored to be releasing Apple Watch 2 in March 2016 or thereabouts. It would be unlikely that a unified API would debut at that announcement since too many other things would need to happen. But WWDC 2016 could see a big push with OS X 10.12 and iOS 10 becoming even more alike and more shared APIs and Xcode 8. Then, of course, autumn 2016 could see new hardware, perhaps an ARM (A10X or a new B1 CPU) convertible tablet/laptop hybrid, or even an ARM-based MacBook running iOS or AppleOS. And that would be a good time to debut a unified App Store for iOS, tvOS, AppleOS, and OS X.

Certainly, I’ve gotten some details wrong and over-interpreted a few data points. But I think it’s clear that something big is coming, whether it’s actually a unified API and App Stores, or just steps along the way.

(As I’m writing this, Apple announced that Phil Schiller will now be in charge of the App Store, along with most other developer functions.)

I believe it’s a mistake to continue thinking that OS X will live on forever as its own separate OS and App Store. Apple is too incentivized to make things easier for itself and third party apps by unifying CPU architectures, APIs, OSes, and App Stores. How exactly it’s going to work and what the timelines are is open to speculation.

Developers and enterprises that create iOS or OS X apps have to start thinking about a unified system.

Don’t think iOS apps never have to worry about non-touch screens or laptops or desktops. Don’t think OS X apps can be kept out of the App Store forever, or that they won’t be required to be sandboxed, or that OS X apps will be priced differently from iOS apps.

These will be challenging times for developers, businesses, and business models. It’s a very different world from even 10 years ago. Look to the future and embrace change. It’s coming.

Standard

Should You Port Your iPhone/iPad App to Apple TV?

Your business or enterprise has an iOS app for iPhone and/or iPad, and you’re intrigued by the new app support on Apple TV and tvOS. Should you port your app to tvOS?

It seems like a fairly easy decision. Despite its different name, tvOS is very similar to iOS and has many of the same foundational building blocks. Much like Apple Watch and watchOS, Apple TV and tvOS allow you to build much of your app without changes.

But there are both technical and user experience reasons that feed into the decision on whether to port your app.

Continue reading

Standard

Was Apple’s $1 Apple TV Dev Kit a Success?

Apple did something very un-Apple-like for the debut of Apple TV. About 6 weeks before the Apple TV debuted, Apple held a lottery and sent some (many?) iOS developers a genuine 4th edition Apple TV for testing. For just a buck. This allowed developers to use a real TV and a real Siri Remote during development.

Apple TV and Siri Remote. Image courtesy of Apple.

Apple TV and Siri Remote. Image courtesy of Apple.

This may not seem like a big deal, since Apple provides simulators for iPhones, iPads, Apple Watches, and Apple TVs. But it was clear with the launch of the Apple Watch that not having a real device with a new user interaction model was a handicap to many developers.

The initial batch of Apple Watch apps were, well, let’s just say uneven. Now there were some technical reasons for that beyond developers’ control but, still, not having a Watch handicapped many an app.

Was the launch of Apple TV any different?

Continue reading

Standard

Yes, Virginia, There is Such a Thing as HTML-formatted Text in tvOS

There’s been a lot of hand-wringing about the lack of web view functionality on the new 4th generation Apple TV. If your company is planning a tvOS app, you may be concerned that there is no way to display HTML on the new Apple TV because it doesn’t have a web browser. Even though many iOS apps don’t display a browser window per se, they do use a “web view” to show static but highly formatted HTML text. It’s just a lot easier than creating “attributed text” by hand or a complex series of labels in your app.

Well, fear not, because this is very possible on tvOS.

Apple TV screenshot of Greann Gaeilge app, showing HTML-formatted text.

Apple TV screenshot of Greann Gaeilge app, showing HTML-formatted text.

I’ll explain how my app Greann Gaeilge did just that.

Continue reading

Standard