WWDC22: What we think you should know
Live from Apple’s developer conference in Apple Park, Cupertino, CA
WWDC, Apple’s annual developer conference, got started Monday with a keynote presentation previewing the new major versions of their software platforms, such as iOS 16 and macOS 13 Ventura. The last couple of years, the conference has been conducted remotely in its entirety, due to the global pandemic. This year, a special in-person event at Apple Park with roughly a thousand invited developers in attendance kicked off the first day of the conference, which will be followed by four days of online sessions and forums.
At Bontouch, we were fortunate enough to be able to send two representatives to watch the keynote video in person at Apple Park, along with around one thousand Apple engineers and designers. As usual, we’ve kept up with the online sessions throughout the week.
The WWDC week started with a packed keynote summarizing all major developments on-site in Apple Park. The past two years, the rest of the week was filled with online sessions and labs that went into more detail about all the news, with a focus on design and development. This year’s edition of WWDC is no different, although, just like the previous two years, all sessions are pre-recorded and released in bulk once a day.
In addition to the video sessions, developers and designers can register for 1-on-1 meetings with Apple developers and designers about many different topics. There are also “digital lounges”, which are basically online chat forums, where developers can ask Apple representatives questions.
Let’s get this part out of the way first. As WWDC is a software developer focused conference, Apple does not always announce new hardware during the conference, but this year they introduced a new MacBook Air, a new MacBook Pro 13”, and the proprietary Apple Silicon M2 processor that powers them. Its predecessor M1 shook up the industry a year and a half ago with its low power consumption, yet high performance. The M2 is basically more of the same, with iterative enhancements.
The announcement of the M2 processor is not expected to make the same splash, but it’s a solid update of the Apple Silicon line of chips and we expect more souped up versions of the M2 chip to appear over the next year or so, when Apple announces an expected refresh of the 14” and 16” editions of the MacBook Pro this fall.
Still, the launch of Apple Silicon remains a significant achievement for Apple and their entire product line now uses the same type of ARM-based processor architecture, which allows Apple to bring their different platforms closer in a more cohesive ecosystem.
While the news from the keynote is widely reported, we like to take some time and think about the deeper implications of what was presented, both in terms of the apps we are working on, as well as the industry as a whole. We made a few notable observations that we would like to discuss in the following sections.
Concurrency and Distributed Computing
Concurrency is a complicated topic in development, but it is rapidly growing in importance. Modern processors primarily add performance by adding more cores, which means that that they can do more things simultaneously. How do you best use this ability to run several tasks in parallel in an efficient way in your apps?
This is something Apple addressed last year by adding new capabilities to their Swift programming language for running tasks concurrently in ways that reduce the complexity of the code compared to previous approaches. The new functionality goes under the name Swift Concurrency. The hypothesis was that the reduced complexity would in turn lead to safer, more maintainable parallel code.
Now, a year later, the results are in. Swift Concurrency has proven to be immensely popular with developers. There are already over 40 000 apps in the App Store that have adopted the new concurrency functionality. At Bontouch, we have gradually started introducing Swift Concurrency in many of the apps we work on with a significant boost in productivity as a result, while fewer bugs were introduced.
However, this is not where the story ends. Apple is now working on the second phase of Swift Concurrency, by adding something known as “distributed actors”. It is an extension of Swift Concurrency’s existing actor model that simplifies development of distributed systems. In such a system, different apps can communicate with each other, both between processes on one device and between devices connected via the network.
What this means for developers is that they will be able to leverage concepts that they are now already familiar with to make a seamless transition to writing distributed systems.
In a day and age where most distributed computing is of the simpler client/server variety, Apple’s push towards more general distributed systems could very well disrupt the status quo in the long term. Apple usually does not make this kind of move without having a long term reason for it, and they specifically hired people that have previously developed distributed actor systems, so they may have an intended purpose for pursuing distributed computing that we don’t yet know about. We will be monitoring these developments with great interest.
Passkeys – The New Industry Standard
Apple proclaimed that a traditional password for online services is a thing of the past and announced that they are taking a big leap towards a new paradigm. A common issue for online security is password recycling across a multitude of services and websites, making the password sensitive to potential server leaks. If the password is compromised in one service, the leaked data could potentially be used to access many other services as well. Phishing is another security risk that users face with traditional passwords.
To address these security challenges Apple introduced Passkeys, their latest addition to the privacy and security strategy. It offers an easy-to-use public key cryptographic system that generates a unique key for each service and solves authentication on-device using biometric verification such as FaceID or TouchID. This initiative is in line with the new open industry standard that adopts WebAuthn, like other actors, such as Google Chrome and Mozilla Firefox, making this widely supported across services and can be used on any device.
Within the Apple ecosystem it will work seamlessly alongside existing passwords through the iCloud Keychain, while for third-party services there will be a QR code style login flow, similar to what we are familiar with in Sweden when accessing “Mobilt BankID”, enabling the user to use their phone for identifying themselves without giving away any private information.
We can see a trend of more functionality being run on-device, such as Siri and image recognition. Many of these new feature are made possible with Apple’s neural engine that is hosted in the newer devices, opening up for endless possibilities going forward.
The Rise of SwiftUI
Apple has had a long standing strategy of making building apps as inclusive and accessible to as many developers as possible. As WWDC is testament to, the success of their ecosystem is in no small part due to the apps and successes of third party developers.
In line with that strategy, Apple introduced the new programming language Swift in 2014, and later a framework for programmatically building beautiful and responsive UIs called SwiftUI in 2019, in order to simplify and streamline development. This declarative UI framework has also decreased the gap between developing and designing apps, something that is inline with Apple’s visions and was noticeable at WWDC with more designers getting into code.
While the adoption of Swift has reached far and wide, in large parts thanks to its backwards compatibility with existing code, SwiftUI still has some way to go before it can completely replace the older methods. However, many developers are introducing it gradually into their apps, as interoperability between the new and old way is something that is built-in.
The Way Forward
This year, Apple has clearly proclaimed that Swift and SwiftUI are the way forward, not only for new apps, but also for existing ones. While it is hard to imagine that older tools such as AppKit and UIKit will be discontinued anytime soon, it is clear that Apple regards these frameworks as legacy tools, and future support for these will likely be greatly reduced going forward. SwiftUI provides a much greater future compatibility and cross-platform support, and there are now even some features, such as widgets and a new framework for drawing charts, that are only available through the use of SwiftUI. It is also likely that when Apple inevitably releases its VR/AR devices, SwiftUI will be a part of it.
The promise of a true cross-platform UI environment offers benefits such as reduced development time and costs, allowing for a more responsive development cycle, and giving us the opportunity to target an even larger audience. Similar advances in UI technology have been made on the Android platform in recent years, and the argument for writing native apps is growing stronger, because of the productivity boost SwiftUI and its Android counterpart Jetpack Compose provide.
The Platforms are growing closer
While it has been hinted at for a while, it seems Apple might continue to move towards merging their MacOS and iPadOS platforms. Not only is this supported by the proclamation that cross-platform UI development through SwiftUI is the way forward for both existing and new apps, but also with the introduction of desktop like features into iPadOS. One can only speculate that we might be closer to a “when” rather than an “if”.
In conjunction with the focus previous years on multitasking on the iPad, Apple is now introducing a windows-manager-like system seen on desktop. It will be possible to resize and move apps around on the iPad, while also being able to use the new Stage Manager to organize, group and switch between apps in an intuitive way. The same Stage Manager feature will be introduced into macOS 13 Ventura simultaneously, as a more streamlined alternative to arrange apps over multiple desktops or screens.
On the hardware side, iPad support for device drivers for third part accessories has been announced, as well as support for connecting an external screen to the device, further blurring the lines. We also expect an iPad model based on the new M2 processor chip to be announced soon, which will make the iPad based on more or less the same hardware as the newly announced generation of laptops, and give the iPad a large performance boost which makes the platform much more viable to be positioned as a full fledged alternative or companion to a traditional laptop.
Utilizing multiple platforms
There is no doubt that the pandemic has had a major impact on what features have been in focus. The new way of working remotely has changed how we utilize our devices and flexibility is of greater important. Many features that further blur the lines between various platforms in the Apple ecosystem have been announced in the past, such as Continuity, Family Share and Car Play. At this year’s WWDC these were reiterated and improved, also integrating different devices further with each other.
The continuity camera is one example of this. You can switch between different devices seamlessly while being in a video call and it allows you to pair your best camera to you largest screen to improve the quality of remote meetings. Apple has also introduced more options to collaborate while in meetings new Share functionalities, such as viewing browser tabs collaboratively and having indication of where your collaborators are looking.
Other Notable News from WWDC22
We made a conscious choice to exclude some of the otherwise more covered features announced to focus on the ones we see as most impactful long-term. One notable feature that we should still briefly mention is the new customizable lock screen with support for widgets. This was one of the more crowd-thrilling announcements Apple made during WWDC and we suspect that its purpose is to be more of a smoke screen that will drive upgrades to iOS 16, since users may be particularly intrigued by the new design and flexibility.
However, since Apple has been known for not allowing for much customization in the past, one can speculate about whether this is their first step towards a more personalized experience going forward, in which case this would be a small teaser for a new exciting chapter.
To get an overview of all the new features and platforms, we recommend watching a 3 minute WWDC video summary produced by Apple.
For some years now, Apple has been moving toward promoting a shared codebase across all platforms, at the same time as the platforms themselves become more specialized and diverge in terms of interaction models. The term “cross-platform” has been re-defined as meaning not multiple implementations of the same UI paradigm—like how both iOS and Android implements multi-touch—but how the same code base can support multiple UI paradigms.
An astonishing array of this year’s announcements—from Live Text support in video, massively improved Dictation and Live Translation, new always on Widgets, Live Activities and App Intents to reduce the need for touch interactions to access information in apps, to Continuity features for handing over things like FaceTime calls from one screen to another, and StageManager for seemingly managing 2D content in a 3D environment—point to a future where a new immersive UI interaction model enters the stage.
That is further supported by Apple’s proclamation, for the first time‚ that the future of development for Apple platforms is without equivocation Swift and SwiftUI. Presumably those will be the only language and UI framework supported by Apple’s rumored new “realityOS”. When it launches, next year?
Images: Bontouch, Apple (Apple Newsroom)