WWDC ’21 First Impressions

Here are a few assorted impressions I have about WWDC 2021.

General Impressions First

  • I watched both the Keynote and SOTU, and the production quality of these videos just goes up & up. Disappearing iPads, Craig Federighi appearing and disappearing in a whiff of smoke, and smooth transitions throughout.
  • A great tidbit here is how much feature parity is there this year between macOS and iOS. Apple’s bet on unifying the underlying bits of their operating systems (and not on the frontend UIs like Windows tried to do) seems to really be paying off.

macOS

  • Safari looks really sweet, but I wonder if Tab Groups will get any adoption. I really wish more extensions come over to Safari though, as I especially miss things for web development, like React Developer tools, and better debugging support in editors like Visual Studio Code. Without which, using Safari is a no-go for me.
  • Drag & Drop and keyboard mouse software KVM between all Apple devices is kinda insane. I wonder how people will end up using this.
  • Focus mode is just really nice. I’m really going to use this a lot: having a different Work mode and Play mode would be lovely to have on a laptop, or when you simply don’t have access to multiple devices for work and play.
  • There is an unsubtle hint in the SOTU that new Macs will come with beefier graphics processors. There are multiple references to AAA games, and a heavy focus on increasing graphics fidelity parity with PCs.

iCloud & Siri

  • iCloud+’s not a VPN feature is… interesting. And their email now supports custom domains, who would have thought!
  • Siri is finally on-device, and doesn’t need a network connection to recognize speech. Finally! Android has had this for ages.
  • There are some minor Siri updates, but it doesn’t seem like there is any big Siri overhaul. With how both Amazon and Google are leapfrogging Apple in natural language speech, recognition, and apps, I’m disappointed. There’s no reason really to buy anything Siri when you have both Alexa and Google devices.

iPad & iPhone

  • Safari extensions now work on iOS and iPadOS. That’s a pretty significant reason for folks not to use other browsers. I wonder if there will be an API for this for other browsers to adopt.
  • iPad multi-tasking really seems pretty sweet. The Shelf in particular seems to be a miniaturized Exposè view, and that’s pretty cool. Also: keyboard shortcuts for all of these!
  • Live Text is pretty cool, and it’s pretty similar to the contextual Google search on Android devices that searches what’s on the whole screen for content, but limited to images in your photos library and other apps. It’s pretty cool how the same text selection UI works inside a photo though.
  • There seemed to be a real big focus on making FaceTime & Messages more capable. I so wish I had more friends generally using Apple devices, because most of these I wouldn’t ever use because it’s a Whastapp world all the way here.

Apple Watch

  • The Health features are probably best in class for any platform. Apple Watch continues to be an enduring advantage for Apple here.
  • I really liked the perspective photo watch faces.
  • watchOS seems to have the smallest feature set of all the OSs, and it’s the newest. I wonder what it says about Apple Watch as a platform going forward.

Swift & Programming

  • Swift Concurrency using actors and async await is just sweet. In many ways, Swift is turning out to be a really great language with static typing, safe memory access, and now, great concurrency primitives.
  • You can now develop iPad and iPhone apps on an iPad. It’s marketed as an extension to Swift Playgrounds, so it’s pitched as being “less capable” than a full XCode install on a Mac, but I’m excited for when this gap will get closer.

I’m looking forward to the rest of the week for sessions as there’s something juicy in pretty much every session.


As an aside, I am not an Apple developer, so most of these thoughts are just outside perspectives, but I’ve loved the platforms for so long and started (& not finished) CS193p what seems like hundreds of times. Sometime down the line, I do want to develop an app for an Apple platform, if only to make my experience more real.

Sharing a File Link from iCloud Drive

In more ways where iCloud Drive is becoming more useful and a viable replacement to Dropbox, here’s how sharing links to files stored in iCloud Drive is a pretty cool experience when you are on a Mac. Here’s a short video demo:

As you can see it’s a pretty surprising experience:

  1. I’m just clicking a link from an Obsidian document. It can be any app that supports a hyperlink, there’s nothing special about this.
  2. There’s no interstitial browser popup. macOS seems to figure out it’s an iCloud link, fetches it in real-time if it’s not downloaded, and opens the associated app.
  3. It’s super fast, probably the fastest way to hyperlink to files on a Mac I’ve found.

Now, Creating these Links is Clunky

As you can see it’s a weird process:

  1. It’s only available through the Share menu in Finder.
  2. And it’s only available if you make the link publicly available to anybody. There’s no way I’ve found to easily share a link visible only to yourself.
  3. I really wish there was a Google Drive-like “Copy Link” right-click item for any file in iCloud Drive.

But it’s pretty cool the way it works now, and the tight integration with macOS is a winner!

Moving Downloads to iCloud Drive

If you have an iPhone, you’ll notice that any downloads from Safari creates a Downloads folder in iCloud Drive.

However, all Macs have a default Downloads folder that is not in iCloud Drive, and is just in your home user folder. This means that unlike Documents and Desktop which is shared between Macs and iPhones, Downloads isn’t. Especially if you have multiple Macs, here’s a trick to make sharing downloads more convenient:

  1. First: right-click your Downloads folder in iCloud Drive and click Make Alias. You’ll get a new folder with a wiggly arrow around it called Downloads Alias.
  2. Next, move this Downloads Alias to your home user folder, the same folder that has a Downloads folder.
  3. Now, move all Downloads from your original folder to the new Downloads Alias folder.
  4. Next, delete the Downloads folder and rename your alias back to Downloads.
  5. That’s pretty much it, now all your Downloads will be shared between Macs and iPhones.

Note: if you have large file downloads, you can easily eat up the space in your iCloud Drive. But for me, this is an added layer of convenience as I never have to remember if I downloaded a file in my work Mac Mini or my personal laptop, or on my phone. It also gives you a good excuse to regularly prune your Downloads folder for things you don’t want in there (for e.g. large OS disk images, videos or RAW images).