It’s that time of year again where Apple developers make the migration to San Jose to find out what changes are coming to the Apple platforms this fall. This year is supposed to be one of the biggest years for Apple due to large architectural projects coming to fruition with the Marzipan SDK releasing to developers (and maybe a hint of ARM based Macs). Additionally, it is looking very likely that iTunes is going away in favor of separate applications. Apple has been releasing hardware prior to WWDC, so I am expecting the keynote to be full of software announcements (which is preferred), but there is a small glimmer of hope for the Mac Pro to finally make its debut. Let’s take a closer look at each platform.

tvOS

So, in terms of engagement, I see this as Apple’s weakest platform. With Apple now making Air Play 2 available on 3rd party TVs (plus HomeKit and iTunes TV and Movies) they’re expanding to make their catalog available on non-Apple hardware. So what does an Apple TV do now? Well, games are played on PlayStation, Xbox, & Nintendo consoles and movies are streamed from Hulu, Netflix, & Amazon Prime on the smart TV itself so it doesn’t do a whole lot other than act as a HomeKit bridge. Now, the UI is definitely the strongest aspect, but, in terms of market share, this is a niche device with very little developer interest. I don’t foresee any major announcements as last year the only real announcement was Dolby Atmos support.

watchOS

This year could see watchOS get promoted to an adult platform (decoupled from iOS). Today, the Apple Watch requires a paired iPhone to get the App Store and the watchOS apps are embedded in the iOS application. This is inconvenient for users as well as developers as you need another device as well as an iOS app in order to make the watch functional. If Apple does decouple the watch, it should be a boost to development on the platform (hopefully) as watch app development over the past two years has dropped significantly (including apps disappearing). The main announcement that I think developers are looking forward to is if UIKit is coming to watchOS. WatchKit is still very much hated by developers as it is so limited and Apple doesn’t even use it in their applications so it would be nice to see Apple realize that they need to provide better tooling and SDKs.

iOS

iOS enhancements this year are probably iPad focused. With the new iPad Pros being advertised as replacements for typically computers as well as having USB-C means that Apple wants professional applications on iOS. However, iOS itself was designed to hide a lot of stuff from users (e.g. file management) and the multitasking workflow allows for multiple applications (not windows). So, in order for more professional features/workflows to be developed, iOS has to grow up. This will likely mean a redesigned SpringBoard for iPad and new multitasking modes will be released. I hope that mouse support is added as well (keyboard support already exists).

In general, though, dark mode is pretty much confirmed to be in this release so it will be interesting to see what kind of APIs are made available to interact with system-wide themeing (probably an extension of UIAppearance.) Other than that, iOS is a very mature OS so I don’t think a lot of new system features will be unveiled, rather, a lot of enhancements to the system apps to make the UX more consistent across apps and maybe some more advanced features.

macOS

This year’s release will most likely see the end of 32-bit app support, the removal of OpenGL & OpenCL, and maybe the death of Carbon-based APIs. This would thin out a lot of legacy cruft, but also get rid of a lot of older applications that have not switched to 64-bit and Metal 2. This is in addition to the notarization requirement introduced in 10.14.5 killing off older kernel extensions. This is a good thing as this allows Apple to focus on moving macOS forward and maybe addressing the core rot that has been plaguing the platform ever since iOS became the focus of the company.

Outside of the lower level details (there is a rumor for a new driver/kernel extension API), more iOS applications will be making their way over to macOS with the Mazipan SDK (which will need an official name). Most notably will be what happens to iTunes. I suspect that the Music app will not have syncing, so maybe their will be a dedicated iOS device management app. If not, iTunes will need to stick around for a while until one exists since I really hope Apple will not remove the ability to sync your devices to your Mac since iCloud storage space is expensive and backups over the Internet are slow (and it local backups are more secure/private).

Xcode

I’ll keep this one simple: Apple, please just focus on the stability of Xcode. The syntax highlighter constantly stops working and Interface Builder is still a mess. What I would like is an iOS 12 approach applied to Xcode (i.e. performance and stability fixes). If Apple can cut out a lot of legacy code from Xcode to shrink it as well as ensure it works correctly, I think every developer would be very happy.

The main problem is that Swift has taken a lot of development time away from improving the developer tools in order just to get feature parity with the Objective-C tools. Now that Swift has reached ABI stability and module stability coming soon, new features/debugging tools should be the next priority.


Overall, this year should be full of goodies to play with, but it will be interesting to see what direction Apple has planned for iOS and macOS since they previously said that one would not supplant the other, but more and more merging continues.