Categories
iOS Development

WWDC 2019 highlights

Last week Apple held its annual Worldwide Developer Conference (WWDC) in San Jose, California. WWDC (or dub-dub as it’s affectionately known) is the one event each year where, after 12 months of secrecy, Apple takes over the McEnery Convention Center to let us know what’s in store for the next releases of each of its major operating systems.

The hype leading up to this year’s WWDC suggested that Apple had something special in store, with lots of multi-year projects seemingly coming to fruition. What we actually got though surpassed even those lofty expectations, with Apple barely able to squeeze all of its major announcements into a marathon keynote. This was Apple firing on all cylinders to an extent we haven’t seen for years, and the end result was the biggest WWDC since Swift was introduced in 2014

Given the sheer volume of announcements this year, this post pulls out my top 5 highlights from WWDC 2019 – from both a developer and a user perspective.

1. Project Catalyst (aka Marzipan)

Before getting into Catalyst, let’s take a step back. Today if you want to develop an app that runs on both iOS and macOS you need to use two different UI frameworks; UIKit on iOS and AppKit on the Mac. While there’s been a huge boom in iOS development, as evidenced by the over 2 million apps that are now on sale in the App Store, there has been a growing feeling that the Mac is being left behind and overlooked by developers. This is perhaps best exemplified by the late Mac Twitter client, which after years of neglect was discontinued last year. Ultimately a large number of developers have concluded that it’s overly burdensome to maintain separate code bases for iOS and macOS, and have instead decided to focus their efforts exclusively on iOS.

With the launch of Project Catalyst at this year’s WWDC, developers now have the ability to bring iPad apps developed using UIKit to the Mac. Of course, if you want to build a good app there’s still work to do to adapt to the mouse and keyboard interface of the Mac; but the point is that you don’t need to learn a whole bunch of new AppKit APIs just to get started, and Apple makes the whole process as straightforward as possible.

The advent of Catalyst is great news for developers as the bar for bringing existing iOS apps to the Mac has suddenly become much, much lower than ever before. And it should be great for users too – who can expect to see a whole raft of new apps coming to the Mac when macOS Catalinalaunches this fall. Twitter have already confirmed that they’ll be bringing their app back to the Mac with a single, unified codebase, and many of the iOS world’s foremost developers – such as Overcast’s Marco Arment – have confirmed that they’re already working to bring their apps to the Mac.

The one big concern about Catalyst was that the iOS apps ported across might not be sufficiently Mac-like. In particular, the raft of apps that Apple brought to the Mac using an earlier version of the technology in macOS Mojave were heavily criticized for looking more like iPad apps running in a simulator than native Mac apps. Fortunately the initial signs on Catalyst are that the tools are now there to allow developers to build Mac-like apps if they want to, and Apple’s new Podcasts app (built using Catalyst) looks virtually indistinguishable from the iTunes-replacement Music app that was built using AppKit.

In short, Catalyst should be great news for anybody who cares about the Mac. As a user I’m excited to see my favourite iOS apps potentially coming to the Mac, and as developer I’m excited that the barrier to entry into the world of Mac development has just been lowered significantly. This announcement could bring back a level of vitality to the Mac ecosystem that just hasn’t been there for much of the past decade.

2. SwiftUI

When I was trying to decide which WWDC announcement to rank as the most significant it came down to a toss-up between Catalyst and SwiftUI. I ultimately picked Catalyst as my number one given the immediate impact it will have on both Mac users and developers; but over the coming decade there can be little doubt that SwiftUI is likely to prove the most transformative.

While UIKit and Catalyst are the present, SwiftUI is the future. Right at the end of this year’s keynote Apple took us by surprise with a completely new declarative UI framework for all its platforms. That’s right – a single set of APIs across everything from the Apple Watch on your wrist to the 60” Apple TV display in your living room. While this isn’t a user-facing change, SwiftUI is of huge significance to developers as it radically simplifies a lot of common programming tasks – such as building a table view – by providing automatic support for features such as accessibility and dark mode. Its declarative nature also changes the way that data flows through apps in a way that should help minimise UI bugs and eliminate the need for lots of code that is solely there to update the UI when the underlying data model changes. Lastly, the ubiquity of SwiftUI should make it much easier for developers to develop apps across all of Apple’s platforms rather than sticking to just one of two of them.

I’ve had a first chance to play with SwiftUI over the past week and am genuinely impressed by the improvements it looks like I’m going to be able to make to my developer workflow. In particular, live previews of UI without the need to constantly hit build and run has the potential to save a lot of time, and enable more creativity and experimentation throughout the development process.

One particular platform where SwiftUI could be a huge boon is watchOS. Up until now third party developers have been constrained to building their apps using WatchKit; all the while Apple has been using a different set of internal frameworks for its own apps. Now that independent developers can use the same set of tools as Apple, rather than the often criticized WatchKit, the hope is that this will lead to more and better watch apps coming to the App Store.

3. iPadOS

Another gift that WWDC brought us this year was a new operating system. Well… kind of. iOS13 on the iPad has now been rebranded as iPadOS. While this is primarily a marketing change, I’m taking this as a positive sign for the future of the platform. By moving to differentiate iPadOS from plain vanilla iOS, Apple has sent a clear signal that it sees the user experience of the two as distinct. It’s also a sign that we can expect to see further changes to iPadOS over the coming years to help improve productivity on the platform and make the most of the iPad’s vastly larger screen real estate.

As well as introducing the new branding, Apple brought a number of new features to iPadOS – such as changes to multitasking, allowing widgets on the home screen, and bringing support for external hard drives to the Files app. While some of these changes may be overdue, Apple is clearly moving to allow iPad do more of the things you’d expect from a ‘real computer’. I haven’t yet given in to the temptation to sacrifice my shiny 11” iPad Pro to the new beta OS, but am definitely looking forward to experimenting with all the new features later in the summer.

4. Mac Pro

It goes to show how packed this year’s WWDC was that the big hardware announcement is only fourth on my list, but after years of waiting Monday 3rd June was finally Mac Pro day.

The current Mac Pro was released just over 2,000 days ago in December 2013 (no, that’s not a typo – Apple are actually still selling a 5 year old computer). Then, in 2017, Apple admitted to a round table of journalists that they’d painted themselves into a thermal corner with the current ‘trash can’ design and had started work on a new modular Mac Pro to replace it. That new design was finally unveiled last week, and the machine we got exceeded expectations. It’s big, it’s powerful and it’s ridiculously expensive, but Apple has at last given us a true pro machine with a level of modularity that took almost all of us by surprise. It has 8 PCIe expansion slots, up to 24 processor cores and supports adding up to 1.5TB of RAM. Yes, that’s RAM.

In addition to the new Mac Pro, Apple unveiled its new Pro Display XDR (that’s extreme dynamic range, in case you were wondering). While first impressions of the display from tech journalists have been overwhelmingly positive, the $4999 price tag means you’re unlikely to be buying it as an accessory to your MacBook Air anytime soon. Oh, and I forgot to mention, if you want the accompanying stand Apple will charge you another $1000.

The prices are obviously eye watering, but if money is no object and you want the best computer money can buy, Apple now – finally – has you covered.

5. watchOS6

While this year’s watchOS updates weren’t as groundbreaking as some of the ones we’ve seen in the past (watchOS 3, for example), Apple nonetheless produced another solid iteration at this year’s WWDC. One thing I’m personally excited about is the continued push towards watch independence, and with this year’s update Apple will allow the watch to make better use of WiFi (rather than always defaulting to the Bluetooth connection to your phone) as well as giving developers access to streaming audio APIs. This should mean that come this fall you’ll be able to stream audio on third party music services and podcast players like Spotify.

When you combine these features with the introduction of SwiftUI what you get is a really good year for Apple Watch developers, and for the first time I’m now giving serious thought to developing a Watch app of my own.

Wrap-up

The fact I managed to get through this list without even mentioning the iPhone – which in any other year would be the big story – goes to underscore the sheer volume and strength of announcements across all of Apple’s platforms. It’s not that the iPhone doesn’t have new features – with iOS13 Apple is bringing support for system-wide dark mode and great improvements to Siri Shortcuts, among other things – it’s just that for once the iPhone has been overshadowed by what’s going on elsewhere. And that’s a good sign for those of us who want Apple to work on improving all of its platforms, rather than focussing narrowly on the iPhone.

The truth is there are a lot of great announcements that I haven’t had time to mention here. From multi-user support on the Apple TV and the HomePod (another finally), to some really cool new AirPods features (check out audio sharing), we’re all going to be seeing a lot of improvements to our favourite devices later this year.

Just spare a small thought this summer for the developers, who have a very busy few months ahead.