Delivering Blown Minds: What the WWDC 2019 Keynote Means For You
“I’m excited, I’m curious, I’m terrified, I’m angry, all at once…”
Opening its Worldwide Developer Conference for a 33rd year, Apple’s keynote Monday did its best to rival Avengers: Endgame both in duration and in eliciting gasps from an enraptured audience. By the frequency of applause lines alone, Apple’s announcements for 2019 have knocked us at Big Nerd Ranch off our feet.
For developers or the developer-adjacent in the Apple community, there’s no shortage of news affecting each of the platforms that will affect the work you do this year and in the years ahead.
With 14 new frameworks and hundreds of new APIs, you’d hardly be alone in feeling overwhelmed. We want to share with you what announcements we’ve been thinking about the most, and dive into them deeper over the coming days and weeks here on our blog.
I Want to Break Free
As is now tradition, the satellites — Apple TV, Apple Watch, and HomePod — lead the event as an appetizer. All three devices are being given room to leave their awkward adolescence and grow into their own.
Apple TV will allow associating users of a device with their preferences and tastes in your app, making it function far better as a device for the whole family (both in your own homes and in your customers’ homes!). So too follows HomePod, using the messages, music, and, most importantly, Siri Shortcuts for the correct user in a home. Enhanced single sign-on, including support for more telecoms and a new Sign in with Apple, grease the wheels on what is probably the hardest part of building Apple TV apps today.
Apple Watch will soon set off on its own, gaining more independence from a paired iPhone. Your apps can sever ties with their containing iPhone apps and be installed from a new fun-size App Store directly on the watch. Apps will install — and data will sync — far faster in this new world: no more waiting painfully long for that Bluetooth connection! Streaming audio and extended background time also top the list of making speedier and more useful wrist-based apps.
Finally, a major frustration with watch development is being tackled: say goodbye to the constraints and limitations of building out your app’s UI with WatchKit, and say hello to SwiftUI. It hopes to marry the best parts of WatchKit’s ease of getting started with the real scale of Apple’s other platforms. We’ll talk more about SwiftUI by the end of this post.
Long Dark Mode Tea-Time of the Soul
Mobile platforms exist in a paradox of maturity and progress — where we rely on them to be with us all day, yet excitedly awaiting the shiny new thing every year like clockwork. This is no better representation of this than in Dark Mode for iPhone and iPad, coming to iOS 13 in its 12th iteration what took the Mac 18 years. Finally, checking your texts from bed won’t sear your eyes.
But these design changes aren’t simply a new coat of paint. They give developers a renewed opportunity to embrace iOS adaptivity and meets their users where they are, whether they have vision impairment, motor limitations, or are simply in a dark room. Your customers will notice when your app meets their needs in this way.
So, too, will they notice speed when they’re trying to get things done. A whole host of launch time, download time, and download size improvements enable packing even more into your apps. With improvements like this year-over-year, it’s no wonder that iOS 12 sits at an 85% penetration: users love using the apps you make on their devices that are constantly getting better.
For developers, we’ve seen a theme of addressing common pain points. The SDK has been updated massively for affecting how you build, react to changes, and update the content in your UI, taking inspiration from popular patterns from the open-source community. These areas are sources of bugs in all our apps, and the iOS SDKs are here to help with data transform in the Combine framework, diffing for
UICollectionView, and layout composition in
It’s not just iOS, anymore, either. iPad has restored its birthright with iPadOS — the same iOS we already know, souped up for larger screens just like tvOS is for TVs. Banner features include multi-window support and further integration of drag and drop. With a simple shift in API, your one app will be able to host multiple instances of its UI without all the bookkeeping traditional window management entails.
Developers that deal with any kind of user input will benefit from deep changes to text input, particularly with rich text support that would previously take hundreds of developer hours. And with still deeper file management, applications that work with a document paradigm become more useful and allow you to focus on what makes your app great.
There’s also been major developments to address the frustrations from last year’s launch of Siri Shortcuts. Parameterizing shortcuts lets you make your app offer more of its features to voice interaction, without the typical headaches of user discovery.
Mac Coming Off The Mountain
For years, the Mac has been on walkabout, learning what it means to be a desktop platform in an age of friendliness, security, and stability. At times, the refocusing on simplicity and user consent have left the Mac passionate in the cold. Developers have felt this cold shoulder too, and often avoided what they saw as a platform of cruft and complexity.
But it’s time to remember what makes the Mac great: customization, automation, and performance. Of course, the elephant in the room here is Project Catalyst — Apple’s new method of deploying iPad apps as great Mac apps, with augmentations to handle all the features that make the Mac, the Mac. With the simplicity, convenience, and passion mobile apps have brought to users, your team can benefit from your investment in mobile on the desktop as well.
Swift Takes Flight
Now five years old, Swift is ready to take a major leap forward. By shipping it with and integrated into the OS, Apple is ready to share the Swift innovations they’ve been working on internally all this time.
Many of this years’ brand new frameworks are in Swift, and these are no small additions. Combine is a new generation of data flow management. CryptoKit brings a stable API to the world-class cryptography implementation on Apple’s platforms. RealityKit further lowers the barrier to entry of putting 3D content into AR. All of these are made to make your applications simpler, safer, and faster — just like Swift brought to your application code itself.
A great, big, heaving, “Finally!” was heard as Xcode fully integrates with the open-source Swift Package Manager and its package ecosystem. For years, we’ve relied on third-party tools to manage dependencies for our apps. And though the efforts of those volunteer teams have been incredible, there’s nothing quite like being built into the platform IDE.
With an uncompromised UI in Xcode, you can integrate, audit, and build dependency code from your team or open-source into your app. You can even use Swift packages to organize your own app code easier than ever. (And, yes, we can hear you Java folks snickering in the corner!) It’s hard to overstate how much of an effect this will have on our day-to-day work as developers.
Then, much like Swift’s unveiling in 2014, Apple decided to surprise (and terrify) us a bit. SwiftUI is clearly inspired by the functional-reactive wave affecting much of the software industry, but with additional Swift flavor, embracing the safety and performance that are a big part of the language. It eschews the traditional compile-run-debug loop of Apple’s platforms with a supercharged next generation of the Interface Builder that responds live to changes in your code, and can even manipulate your Swift code directly.
The things that make a modern mobile app great — speed, interactivity, localization, and reacting to changes from the internet or the device environment — are all defaults in SwiftUI. And the most common sources of bugs, errors, and crashes? Like in Swift itself — gone, by design. There’s a huge opportunity for us as developers to learn how to leverage this in the future to make better apps in less time and with less code, and we’re going to have a lot to say about it over the coming weeks and months.
What’s important to keep in mind is that your investment in Apple’s platforms — in learning UIKit, in learning Swift, and more — has not been in vain. Opportunities abound for being able to simplify the complex parts of your apps, but that’s the further-off future. Today, Swift improvements also reflect back into the native UI toolkits and will remain first-class for many years.
Signed, Sealed, Delivered
In building a platform, you make a kind of a promise. You promise flexibility and customers, sure, to get folks in the door — but to you keep them around, you make a promise to keep making things better.
Sometimes these promises go ignored. Sometimes they get broken. And sometimes, dramatically, they are fulfilled. If you read our WWDC Expectations: Hopes and Dreams, we’ve seen nearly all of our expectations and 5 of our out-of-this-world dreams.
Nothing speaks to Apple’s investment in these platforms quite like this years’ announcements. Problems that have plagued us as developers for years have been solved in novel and exciting ways. And for the years to come, we can watch as the future of app development unfolds, making our jobs easier, allowing us to focus on what matters in our applications, and maybe — every so often — blow a few minds.