Apple has held its annual World-Wide Developer Conference (WWDC), a five-day event in which it announces the latest updates in developing for its ecosystem. Due to the pandemic, the event was held, just like last year, 100% virtually.
It’s an exciting event for us, the devs, as it is a heads-up of what is coming! In this article, we picked out a few of what we believe are the most important announcements from WWDC 2021.
Focus, connect, explore and share.
Remember when you didn’t know the name of a song and Shazam came to the rescue? This app got so popular that Apple acquired it in 2018, and ever since, it has gotten integrated into their operating systems, meaning you can ask Siri to identify the songs you are listening to.
During this year’s WWDC, Apple has announced they will be opening Shazam to third-parties applications. As a result, developers will be able to integrate music recognition in their apps and “seamlessly connect users to Shazam’s catalog of music,” according to Apple. In addition to this, developers can now create their own custom catalogs, including more than just songs, such as videos, podcasts, or even lessons.
ShazamKit is a huge deal, taking into consideration that Apple is opening up to Android developers. Moreover, it can be helpful in educational apps. For instance, an app can use the lesson’s audio as a remote control, releasing new activities to the student as it understands that the person has finished the class.
In 2018, Apple introduced us to Screen Time, a new feature that lets users track their time spent in iOS apps and setting access limits with Parental Control. However, these benefits were exclusive to Apple integrated features, leaving third-parties apps with no other options than creating their own Screen Time, which in many cases risked users’ privacy.
This will no longer be a problem, as Apple announced that a new Screen Time API would be available for developers, allowing them to create more personalized and secure experiences.
The new API incorporates three main frameworks:
- Managed Settings: — restrict or gain access to certain features of the device or app while protecting users’ privacy.
- FamilyControls —let users authorize parental controls on a child’s device. In this way, they can prevent deleting Parental Control or making an accidental purchase.
- DeviceActivity – provides a privacy-preserving to monitor a user’s application and website activity.
Nearby Interaction was first presented in iOS 14. The framework lets users locate and interact with nearby devices using distance and direction. Although it is pretty new, Apple has already begun producing products integrating it, such as AirTags.
This technology used to be exclusive to Apple devices containing the U1 chip (Apple’s chip for Ultra-Wideband technology). However, Apple has now released a draft specification of its Nearby Interaction Accessory Protocol, allowing third-party accessory manufacturers to review preliminary hardware and software requirements for developing accessories that interact with the U1 chip.
In other words, third-parties manufacturers will be able to produce accessories using the Precision Finding feature and even interact with AirTags. Eventually, this could cause direct competition to AirTags, offering the same level of Precision Finding.
Furthermore, it was announced on the WWDC21 that there would be changes related to user security. These improvements can be seen in the user-permission flow. Before, the option to provide permissions was one-time in a new app lifetime. This year, the new “Nearby Interaction” permission prompt will ask the first time the app runs in the device if the user allows it. However, if users want to deny permissions later, they can, as starting on iOS 15, apps that use Nearby Interaction will appear in Settings.
Our way of sharing experiences has changed while traversing this pandemic. Technology and communication played key roles last year. For instance, we all have participated at least in one Zoom meeting.
To keep up with these changes, Apple has implemented new features. Let’s have a look at the most important ones.
Apple has been keen on working on sharing consumer experiences. They debuted SharePlay on iOS 15, a new feature that allows others apps to be integrated with FaceTime. These new features enable users to stream music, online videos, and movies with friends right inside FaceTime. It also supports third-party apps.
Furthermore, users can now send links and schedule FaceTime calls, similar to Zoom calls. To continue with this share and connect mindset, Apple is even letting FaceTime work on Android and Windows through a web browser.
Building great apps, effortlessly.
Being a developer conference, it is expected for a company like Apple to make significant updates to their technology stack, and this year was no exception. Apple announced many improvements and tools to help developers be more efficient, write better apps faster, with neater code and fewer errors.
Swift is the primary language that empowers development for the Apple ecosystem. As a modern language with a respectable audience, Swift gets many updates over time. Still, on WWDC21, Apple introduced support for a highly awaited feature in its SDKs that will make considerable improvements to one of the most common but complex problems in programming: concurrency.
Support for asynchronous functions, a pattern that’s commonly known as “async / await,” will provide developers with a much cleaner, shorter and safer code for tasks like loading images from a server or processing images. This is a big step forward to writing more comprehensive code.
For more details and technicalities about async/await, we suggest starting with the following links:
In 2019 Apple released SwiftUI, a declarative framework that completely changed the paradigm on how interfaces were built on Apple’s ecosystem. Being a new technology, there’s definitely a road to be traveled for SwiftUI. Yet, this framework is catching up fast to its older sibling UIKit, and the adoption has been significant.
This year, Apple released a new version of SwiftUI that includes various improvements and additions that will enrich experiences for users while saving time for developers. Some of the features and enhancements are:
- Text formatting features like the long-awaited AttributedString, and focus handling using the FocusState property wrapper.
- A new AsyncImage component that allows loading images from remote locations.
- A new Canvas component to draw rich and dynamic graphics inside a SwiftUI view
- Easy search integration through the searchable(…) modifier.
- Multi-column support for Tables on Mac OS using TableColumn API.
It is important to note that Apple is making a tremendous effort for SwiftUI to push multi-platform development within their ecosystem. Most of the additions have particular behaviors depending on the targeted device to accommodate different interface guidelines, such as iPhone vs MacOS vs tvOS.
For a complete walkthrough into what’s new, check out this WWDC21 session.
On our vast experience working with Apple technologies, we agree that continuous integration is probably where the platform was lacking the most. This year, after more than three years after announcing the acquisition of BuddyBuild, Apple released Xcode Cloud, a continuous integration and delivery service built into Xcode.
Xcode Cloud is still in beta, allowing developers to sign up and be part of its testing program, but at first glance, it is very promising. Testing on different devices, creating and distributing (properly signed) builds, and centralizing both developer and user feedback seems to be part of the ambitious scope of this new service.
As for now, Xcode Cloud is free for beta testers, and further this year, Apple will be providing more information about pricing and availability.
In conclusion, these are the new updates and improvements we consider to be the most relevant. As mobile app developers, we keep a close watch on these events as the enhancements could be later applied in better apps for our clients.
If you are interested to know more about the new reveals, we suggest watching the WWDC 21 sessions.
What are your thoughts regarding these new Apple announcements? Need a hand implementing any of these features? Get in touch! We’d love to help 😀