Apple held its yearly Worldwide Developers Conference again last week for the developers on their platforms. It always starts with a big keynote on Monday, where Apple shows the rest of the world what's coming up for all of its platforms in the near future. Contrary to, say, their yearly iPhone event in September, this keynote always puts the focus on their software. Likewise, I follow these events very closely to see what will change for me in the next months, both as a developer and as a user of their systems.
You can watch the full Keynote on Apple's website, and if you're interested in learning more in depth, you're free to check their developer portal for a list of all presentations of the week (if you just want to see a more in depth presentation of their software updates, I can highly recommend their Platforms State of the Union talk).
For me, these were the things that interested me the most:
iOS 13 (for iPhone)
This was - in my opinion - a rather small update. It's not really surprising as iOS is getting pretty mature by this point, so I don't really mind it. The system is finally getting a dark mode (which I probably won't use), the Photos app is getting revamped (with an algorithmic overview of your images, and video editing capabilities - you can finally crop and apply filters to your clips), and the other built-in apps are getting small but useful tweaks. Nothing earth shattering, but iOS is already very robust.
The new operating system for iPad is getting a significant overhaul this time around, and it will also sport a new name: iPadOS. We'll have to see what this name change will really mean for the development of the platform. Does this new name only signify that the iPad will have a slightly different feature set as the iPhone? Or will this allow Apple to release new versions of iPadOS on a different schedule than iOS? Only time will tell.
This update was something that I was looking forward to, as I tend to use my iPad for basically everything that's not client related work. I write and update this website from my iPad, I edit all my photos and videos on this device, I do my drawings and design mockups with the Apple Pencil and I do most of my web surfing and email from this tablet. If I could, I would like to use my iPad way more in a professional setting, but at the time there are just too many roadblocks to make this feasible.
This upcoming release of iPadOS brings the ecosystem a whole lot closer to a full blown productivity device, and it's basically everything I wanted to happen (except for an iPad version of Xcode, but oh well):
- Better multitasking: it will be a ton easier to change between apps in multitasking by swiping at the bottom of the app to switch. Apps also get the ability to open multiple windows which you can put next to each other or next to other apps.
- Mouse support: this was not shown during the keynote, but you can now connect a Bluetooth mouse to your iPad as an accessibility option. You can even assign shortcuts to each button on the mouse.
- System wide Apple Pencil palettes: Apple now provides an API to give developers the possibility to add Pencil support without having to write their own system. The Apple Pencil is not widely supported in apps for the moment, so this is a welcome addition.
- USB drive support: this is the biggest new feature for me. I use my iPad as my only computer when I'm traveling, and this will help tremendously with transfering RAW images from my camera or videos from my phone to my iPad to edit them and back them up. You can already plug in USB devices, but you can only import images/videos directly to your Photo Library. This makes it clunky and confusing, as I don't want these raw files cluttering up my library before I edit them. This new feature gives the user the option to just copy these files in a directory in the Files app, and it's also not limited to photos/videos anymore.
- Zip and unzip archives: the Files app now also supports extracting files from .zip archives. It's not something I will use daily, but I've had situations where people send me zip files and I didn't have my laptop with me, so it will be great to review these files in a pinch (this was possible before via other apps too, but it was not user friendly at all).
- Scroll bars: you can now touch the scroll bars on the right side of the screen, so you can jump where you need to go directly, without having to swipe 10 times in a row to get to the bottom of the page.
- Updates to Safari: Safari on iPad used to be more or less the same on iPhone and iPad, and this meant that a lot of sites (like Google Drive and Figma) would just serve their mobile sites to iPad users. Most sites weren't affected all that much (as having a fully responsive website shouldn't differentiate between devices anyway), but a lot of those that didn't are used intensively by their users (as they're often quite complex web apps).
iPadOS changes this by forcing websites to use their desktop versions when you use Safari in full screen mode. This brings the browser much closer to Safari on the Mac, so web apps will now function correctly and will behave like they should on a large screen. This upgrade of the browser also brings a slew of other changes to drastically improve the user experience:
- Safari now has a download manager, so you can download files from sites like WeTransfer and Box straight to the file system (instead of having to juggle with the share sheet).
- The user can set their desired preferences per site (like zoom levels).
- The number of shortcuts is greatly expanded when using a physical keyboard (you can now zoom in and out with the keyboard, save pages, download links via a shortcut, etc…).
- Interestingly, Safari automatically adjusts to the mobile version of a website if the screen gets small enough (like when you are multitasking). You can also force to load the mobile version of websites by holding down on the refresh button for a while.
- Hover events: as tablets don't have the possibility to check if the user is hovering over an element (you're either touching the element or you're not), Safari changes hover events to click events if the resulting changes to the page are meaningful (e.g. if hovering over an element only changes the color of the element Safari will ignore the hover, but if it changes the content of the page it will trigger this change when the user clicks on the element). This works in most instances, but sometimes it doesn't detect these events correctly, causing the page to ignore important stuff. The latest version of Safari will optimise this behaviour to be more reliable.
- Frames inside of a page will now be automatically hardware accelerated. In the current version these subframes are not accelerated, causing them to be a stuttery mess when you try to scroll through them.
It's worth it to check out the full presentation on Safari for iPad if you're interested in the details of these changes.
Each update to WatchOS brings small changes that make the Watch a tiny bit better, but these things add up. It's a slow but steady process that makes the device more interesting to own each passing year (and it caused me to finally bite the bullet and get a Series 3 Watch a year ago).
This year is no different: most of the changes don't drastically overhaul the functionality of the Watch, but they are nice nonetheless:
- The Watch now supports fully independent apps: you don't need your iPhone anymore to install and run apps, so your entire app can live and breath on your wrist.
- Extended runtime: apps are now also allowed to keep on running in the background (instead of getting shut down after a relatively short time right now). This is a great change that will make tracking apps a lot more useful (like sleep trackers that wake you up after a certain point in the morning)
- Apple also added a bunch of new health related features:
- Apple Watch will get a decibel meter: as someone who spent way too much time at concerts in the past, I'm fully aware of the risks of loud environments, and having an app that automatically alerts you in potentially dangerous situations is a great feature. I'm curious to see how accurate this meter will be, though.
- Activity Trends: the Health app will put your activity on a timeline, so you can check if you're improving your workout routine or if you're slacking.
- Menstrual cycle tracking: this is also a small yet great feature to keep track of your menstrual cycle.
Mac Pro and Pro Display XDR
So yeah, these new pro devices are super cool and look ridiculously powerful, but there's no way for me to justify getting them (and I also don't have the funds to make this even remotely possible). If you're in the niche that Apple is trying to serve (medium to high end media production on tight deadlines) you're probably already making room on your desk for this huge screen and heavy tower.
Like most years prior to 2019, the Mac doesn't get as much flashy updates as the other platforms, but there are a few things of note for power users:
- The default Bash Unix Shell is getting replaced by Zsh for new users. Zsh has some nice usability features over Bash (like better autocompletion, colors and case insensitivity).
- Safari gets a CPU Usage Timeline where developers can easily monitor CPU usage for drawing and running scripts. (You can already try this out in the Technology Preview
- Changes to security: macOS Catalina will be stored on a separate volume on the drive, Kernel Extensions will run separately from the protected OS environment (greatly reducing security threats), and apps will need to ask for permission to access user folders, so they can't silently go through your personal files.
- You can now use your iPad as a second monitor with Sidecar. You could already do this with other apps (like Astropad and Duet Display), but it's nice that it's fully integrated right into the operating system. Like Astropad, you can also use your pencil to basically turn your iPad into a Wacom Cintiq, so you can draw directly on the screen in Photoshop and Illustrator.
- Project Catalyst: developers can now (relatively) easily convert their iPad apps to Mac apps by adding the Mac as a build target in Xcode. The interface paradigm between both platforms vastly differs, so developers will still need to put in quite a lot of work to make their apps feel at home on the Mac, but this hopefully gives them more incentive to create apps for the Mac, something that's getting increasingly rare during the last few years.
This was the biggest thing for developers: instead of relying on two separate frameworks for creating interfaces (AppKit for the Mac, UIKit for iOS - which will also work on the Mac via Catalyst), Apple is creating a whole new framework for all their devices at once, and simplifies the process immensely.
What does this mean for us? Developers can now write the same interface code for all Apple devices, from the tiny Apple Watch to the giant new 6k Mac screens. These different platforms all used to have their own frameworks, which meant that you had to switch around different code bases for each device category, adding a ton of work for those that had to implement these interfaces.
SwiftUI instead promises to streamline this process by vastly simplifying the code needed to create interfaces and, more importantly, by making this same code run on each of their platforms. It also has a fantastic looking preview tool that runs in real time in a simulator and on your devices themselves. It brings creating interfaces much closer to HTML and React, making it so much easier for a whole group of aspiring developers to jump in on the platform.
Focus on privacy
Another big theme at WWDC was a huge focus on privacy, which is great:
- Sign In With Apple: Apple is offering an alternative to the ubiquitous Google/Facebook sign in buttons by creating their own API, with a neat feature: users can hide their own email addresses by having Apple generate a random email address (per app/site) that redirects incoming mail from the app/site to the regular address of the user, effectively making email addresses fully anonymous.
- HomeKit data (like video streams from home security cameras) will get encrypted on the device of the users themselves and not on the servers of Apple, effectively making spying on users much harder.
- Location data usage by apps will be much more transparent: if an app uses your location in the background, the operating system will periodically show the user a map where all their location data for that app was retrieved. This screen will of course allow the user to opt out of this tracking straight away. It's a neat way to visualise data collection and to make users aware of what is being tracked.
For a project I'm working on I tried out the accessibility features of iOS a few weeks ago, and more specifically the VoiceOver function that reads the content of the screen to the user. It's great that you can use your phone without being able to look at your screen, but it took me quite some time to figure out how the controls work.
The new Voice Control feature switches this up and brings accessibility to a whole new level. This system (for iOS, iPadOS and macOS) gives the user full control over their device by dictating straight forward sentences to do anything they want. For example: users can ask the device to click on a specific button anywhere on the page without having to navigate there, or they can simulate touch gestures like zooming in by asking the OS to perform that action. It's a big step up for accessibility.
All images are © Apple 2019.