Keep Two Thoughts

Personal essays


Inferring the 'D' in 'WWDC' - Essay from Newsletter 13

News from Apple’s Developer Conference

Not for us

There’s an iconic video of Steve Ballmer on stage at a Microsoft Developer Conference shouting “Developers, Developers, Developers”.

No one expects Tim Cook to do that on stage but, as expected, developers were not the focus of yesterday’s WWDC keynote. Analysts, media, investors, and consumers were higher up the list of people targeted.

As Graham Lee tweeted, “Well there’s the tell. ‘Developers’ are third person, when talking to developers at the developers conference.”

Last year Josh Shaffer had a significant portion of the keynote to show us SwiftUI and how our code will change. There was the year that Chris Lattner introduced Swift and I can still hear Bertrand Serlet’s explanation of Grand Central Dispatch.

Not this year.

This year there was plenty of news for developers in the keynote but you had to dig for specific developer content that tells you how the way we code will change. That was true in the keynote and the State of the Union (SOTU).

Clues

You often have to read between the lines to understand what’s being announced and what it means.

For example, early in the keynote the Siri introduction began with examples of asking Siri to play the morning news, ordering a coffee, getting directions… and on the screen for a moment during “getting directions” in between “Starbucks” as the coffee example and “Walmart” as the shopping example was “How do you get to Big Sur?”

Ahh, I texted to the group I was watching the keynote with, the name of the new macOS will be “Big Sur” as rumored. I know, that’s not a big deal. It was announced an hour later. It’s just an example of details being there for us to find.

More telling for me was when Josh Shaffer was introduced to demo the iPad his title was listed on screen as “Director, Swift Frameworks”. That’s big. That tells us that SwiftUI is going to be a very important part of our future.

As a developer, that’s what I wanted to hear about. Tough. Josh was in the keynote to show off the new consumer facing features of iPad OS.

The Mac

We were more than an hour into the keynote and heard about CarPlay and HomeKit but not a peep about the Mac. It was clear that this was going to be big.

In fact, skipping ahead a bit, when Craig opened up the “About This Mac” dialog, you could see the OS listed as “macOS Big Sur, Version 11.0”. Again, not a big deal. Apple would announce macOS 11 in the afternoon session, but they showed us before they showed us.

The Mac has a new look. It’s very iPad-like. Erica Sadun saw the new look and tweeted “Did Apple just sherlock…macOS?”

Swift and SwiftUI are the story about this new Mac and it’s look and how we will write for it. These are the technologies being embraced for the ARM transition.( I feel pretty good about my blog post “Understanding” from Friday about where we were heading.)

Sorry. Apple Silicon.

We’ll see the first Macs with this new chip by the end of the year and Apple says the transition will be complete within two years. They will still sell Intel Macs for a while but the future is clear. (Both Apple and Intel stock went up after this announcement.)

For developers, the news is that iPhone and iPad apps will work on the Mac and there is a kit for testing on actual devices available this week to certain developers.

SwiftUI

The afternoon session also had surprisingly little for developers. We were an hour in before we saw any code on the screen. It looks as if the templates have been simplified. The App Delegate and the newly introduced Scene Delegate aren’t in the template. They’ve been abstracted away to hide much of the boilerplate code.

Josh’s demo pointed out that there will be a little common code for the three platforms and you will just write conditionals for platform specific code.

I found this particularly ugly as presented. I think the common code should live in a file, ContentView.swift, for example. And the platform specific code should be in ContentView_Mac.swift or something like that. I didn’t like immediately messing up this room we’d just tidied.

There looks like a ton of changes to SwiftUI. Josh describes them as additive, but it looks as if the way we write SwiftUI will change and some of the data flow looks different.

I need to figure out whether to just update my book, update my book and write another one, or just add another one.

Combine

I’m surprised that there are no sessions on Combine. It may be that Apple doesn’t think there’s much new to talk about.

If you look at the changes you’ll see a bunch of modified files with some new methods (some new flatMaps, for example) and a handy method assign(to: publisher) that “Republishes elements received from a publisher, by assigning them to a property marked as a publisher.” I’m sure I’ll use that one.

But, many of us don’t really grok Combine yet. Even if there’s little new, it would be nice to have a session or two about how we should use the technology that goes beyond the two introductory sessions last year.

Unless Apple is saying, “no, there are community resources that explain Combine the way we want you to think about it.” Perhaps Apple sees the books by the Ray Wenderlich team and by Donny Walls and Joseph Heck as sufficient.

The week ahead Once the videos start dropping later today we’re going to be busy.

Thankfully, Apple published which videos will drop each day in the Developer app so we can make plans.

I plan on being excited, tired, and wired.


Essay from Dim Sum Thinking Newsletter 13. Read the rest of the Newsletter or subscribe


See also Dim Sum Thinking — Theme by @mattgraham — Subscribe with RSS