When Steve Jobs was working on the NeXTSTEP OS in the late 80’s and early 90’s, he and his team created the Cocoa API that serves as the basis for all of Apple’s modern computing platforms. One essential element of Cocoa is AppKit, a framework for developers that includes the underlying universal assets for graphic user interfaces on machines running the Cocoa AI. Ever since, all macOS apps are created using the AppKit framework for assets, allowing for a streamlined design throughout the operating system.
When Apple began work on the iPhone in 2005, Jobs famously had to decide between making an iPod that makes phone calls or a phone that runs a modified version OS X. Jobs went with OS X, and while the fundamentals of what would become iOS were Cocoa-based and shared the same structure as OS X, Apple created a new framework, UIKit, for the GUI aspects of the iPhone OS. UIKit assets, while sharing a similar design language to their Mac counterparts, were tailored to the iPhone’s design and re-invented for touch interaction.
As time passed, Apple continued to release more devices running iOS or some modified version of it, including the iPad, the Apple Watch and its watchOS, and the Apple TV and it’s tvOS. All of these platforms are iOS at their core, and all apps made for these devices and OS’s use a shared UIKit library for their apps. This means that when a developer makes an iPhone app, they can quickly create an iPad version by merely checking a box in Apple’s development application Xcode. While most developers would re-adjust some aspects for the larger device, a developer can hypothetically have an iPad version of their app without any need to change.
The App Store Paradox
In 2011, Apple released the Mac App Store. The move seemed evident following the success of the iPhone App Store, first released in 2008. The Mac already had an incredibly large developer community, and Apple had hoped to hone-in the community to create a more seamless experience for consumers and take 30% of the profits alongside it. Additionally, Apple had expected that, as it did with the iPhone, creating a Mac App Store would increase developer revenue, which would, in turn, result in better apps, which would result in more Mac sales, which would result in more developers. Some at the company even suspected the move could single-handedly triple or quadruple overall Mac sales. This turned out to be incorrect.
While there were and still are some issues with the Mac App Store, the most prominent deterrent for developers was the introduction of ‘sandboxing.’ The technology required that a Mac app work within certain limits of the macOS to be accepted to the App Store, and most developers found the functionality of their apps did not fall within these parameters. Even when it did, many developers eventually discovered that the exposure in the App Store was not worth the 30%-cut Apple takes from overall sales, and found better results selling their apps independently.
Subsequently, Apple’s other App Stores have continued to boom. Due to the shared assets and architectures of the platforms, a developer can now create one App Store listing and have iPhone, iPad, TV, and Watch versions in one bundle.
This year, Apple has a plan to fix the app situation on the Mac. As first reported by Bloomberg, Apple’s plans to unveil a new, shared framework for all of its platforms at this year’s WWDC, which is set to take place the first week of June, according to sources familiar with the plans.
The new shared framework will be a significant change to Apple’s app strategy, and the company hopes it will both revitalize Mac sales and the Mac App Store.
With the new framework, developers will be able to write one set of code and, with minimal changes, have it run on all Apple platforms, including macOS and iOS. This will be achieved via a new library of assets, redesigned to match on both platforms and match an overall design refresh which was expected to be released with iOS 12, however, may have been pushed back to 2019.
For example, a developer will be able to point to a toolbar view in their code, and the toolbar will show up with the identical functions on both macOS and iOS versions, however, will be reformatted to match the specific platform.
Apple will release new versions for all of its apps to adopt the new framework and introduce a number of these apps to the Mac for the first time, including Podcasts, TV, and others.
Once an app is re-written to support the new framework, the developer will be able to publish a universal binary for macOS, iOS, tvOS, and watchOS to the App Store. It is important to note that the Mac and all of Apple’s other devices run on different architectures, so while non-updated apps will not run on the Mac, the new framework should allow for a remarkably similar experience on all platforms.
Apple has also been considering loosening or completely removing the Mac App Store’s sandbox restrictions at this year’s WWDC. While the company is unlikely to opt for complete removal, developers will likely be able to have broader access to the Mac on the App Store.
A Unified Experience
Apple had initially planned to unveil significant design changes to both iOS 12 and macOS 10.14 at this year’s WWDC, however, delayed many of these changes following an internal decision to focus on bug fixes for this year’s updates. Nonetheless, Apple appears to be on track to introduce the new shared framework at WWDC, which includes some of the new design decisions, so the extent of design changes on this year’s updates in not entirely clear. Regardless, expect to see significant changes to iOS and macOS design by the end of 2019.
In addition to a new, unified app experience, Apple plans to unveil a number of other changes and improvements at this year’s WWDC, including a significant update to the Siri voice assistant with broader developer access, according to sources familiar with the matter.
Are you looking forward to a more unified experience from the Apple ecosystem?