WWDC23 Day Four
Quick Summary
Progress report: 21 of 177 videos watched and summarized, 11.86% of videos viewed.
I'm closing in on finishing everything in the “Essentials” category, so in a day or two I'll start focusing on whatever areas of tech catch my eye. And probably rotating between sessions I'm very interested in, and sessions that will be great to follow along with while painting or doing other hobby related things.
Build an app with SwiftData
This was a detailed walkthrough of setting up a very basic SwiftData App. There wasn't much new to learn compared to the Meet SwiftData session, but this will probably be useful for future reference. The one big takeaway was how easy it is to set up a document based app that's backed by SwiftData.
Make features discoverable with TipKit
How to add onboarding hints is something that I've had to implement in lots of apps. Having a rules based system for choosing when to display tips is great, and looks like there's a lot of customizability and granularity to only show tips at the right time. Plus it has an option to sync tip state via iCloud so users don't get duplicate onboarding across multiple devices.
Meet MapKit for SwiftUI
I used to find working with MapKit in UIKit very cumbersome, so all of the SwiftUI updates for MapKit look really nice to me. In particular it looks like there's a lot of affordances to make positioning the map “correctly” easier, and it should also make managing annotations simpler. If I need to do anything with maps in an app, this is definitely the tool that I'm going to want to use.
Build spatial experiences with RealityKit
Really impressive demo of how to add RealityKit backed content a spatial computing app. Good info on how to bridge with SwiftUI gestures, and how to non-destructively work with USDZ files via nesting. When I have a chance to play with a spatial computing app I'll be giving this another watch to pick up more details.
Bring your game to Mac, Part 1: Make a game plan
I'm not a game developer, so this was mostly interesting to me in terms of how much attention Apple is paying to gaming. Having a easy to use translation layer is really interesting, and it may mean games get ported over to Apple platforms faster.
Meet Reality Composer Pro
Reality composer pro looks like a fascinating tool for building 3d scenes, but without the complexity of a game dev environment or 3d modeling and animation set up. I have some fun ideas for things to do involving assembling virtual dioramas and integrating models created using object capture.
Meet Safari for spatial computing
Another not directly applicable to me talk, but seeing the push for a support to USDZ models directly in browser is interesting, and has potential applications in regular desktop browsers. I also look forward to seeing the fun ways that sites break when windows are resized to be larger than the virtual screen.
Meet watchOS 10
It looks like there's a lot of thought that went into how the updates to watchOS are structured. Vertical pagination looks like it will make breaking UI into usable chunks on the watch easier.
Discover String Catalogs
This adds a much nicer UI to working with strings, especially pluralized strings. I'm very interested in seeing how this integrates with 3rd party localization tools. Also of interest, it can detect potentially unused strings and make it easier to clean up stale translations.
Run your iPad and iPhone apps in the Shared Space
Another talk on integrating with visionOS. This a nail in the coffin on Storyboards as they're not supported natively in visionOS, only in iPad compatibility mode which is limited compared to a full port.
Develop your first immersive app
A super high level demo of building something for visonOS from scratch. One of the most interesting details is that the export format from Reality Composer into Xcode is a Swift package. Aside from that, it's something that will be good to refer back to when the visionOS SDK is available and I can try things out.
Modeling progress
Here's the results of the first round of painting for the day. I base coated on rack of parts and did detail highlights on the other.
Then the second round of painting, which adds detail highlights to the rack that was base coated last time, and varnish to the rack that had detail coats in place.
Finally, here's the parts that were varnished have had panel liner added, were assembled, and are now sitting with the rest of the kit that's been put together.