Issue 647
9th February 2024
Written by Dave Verwer
Comment
From Stuart Varrall’s recent article on Inspiring Apple Vision Pro Apps:
Apps such as Mercury Weather and Longplay change the information displayed in a window depending on the size.
Every iOS-based platform so far has imposed a space limitation on apps. On iPhone, it’s a challenge to design apps that need to present lots of information. On iPad it’s sometimes hard to know what to do with all that space, and on watchOS and tvOS … well, the problem is even more extreme.
visionOS is the first iOS-based platform to remove that restriction, bringing it much closer in line with how macOS works, and people are very comfortable with windowing in macOS and Microsoft Windows.
But the parallels between the windowing systems on visionOS and macOS don’t end there. There’s another similarity: Windows stay where you left them. On macOS, this really helps people build mental models around what they are doing in a way that flipping through pages or “cards” of apps on other iOS-based platforms can’t match. You could even argue that visionOS goes further here than macOS does by using transparency and spreading out windows in 3D space.
I’m sure you’ve also heard pundits wondering out loud whether this platform is the “future of computing” in the last couple of weeks. 🙄 I don’t think anyone should be going anywhere near that kind of statement yet, but I think visionOS gets some things about window management really right, and that’s a solid basis to build on. 👍
Dave Verwer
Sponsored Link
Build with unwavering confidence thanks to BitriseOur promise: we’ll always be first to market with Xcode versions/betas available within 24 hours post-release so you’re always ahead! Find out more.
News
Introducing PklI liked Daniel Jalkut’s humourous take on Apple’s announcement of Pkl, a new “programming language for configuration”. It looks larger than I’d expect for a language described like that to be, and even allows the definition and importing of other Pkl packages!
I guess I should finish by making a joke about it being developed in the kitchen? 🫣
Apply for the Swift Student Challenge
This year’s Swift Student Challenge is open for applications! There’s no explicit mention of WWDC, but if I had to guess, the “extraordinary experience” of the 50-person winner’s event will probably happen sometime around this year’s conference. So, check your eligibility, and get your application in. 👍
Tools
Inside Code SigningCode signing problems are much less common for Apple platform developers than they used to be, and you could go for years without needing to uncheck that magic “Automatic signing” box. If you ever find your mouse hovering over it, though, make sure to have this document on certificates and the associated ones covering requirements, provisioning profiles, and hashes to hand. 😍
Code
New GitHub Copilot Research Finds a Downward Pressure on Code QualityI’ve not been using Copilot for Swift code much, but I use it regularly when I need a little script or utility, and it’s very impressive. Both Copilot and ChatGPT (because they use the same underlying model) are extremely good at “understanding” and creating code to solve coding problems. That said, I am not surprised to see the conclusion of David Ramel’s report saying code quality overall is down after using these tools. They don’t have enough context to consider a larger codebase, so it’s obvious they would fail at things like code reuse. It’s worth reading the whole article.
Disabling Core Data CloudKit Logging
Remember when the Xcode console used to be completely silent unless you added some logging of your own? Keith Harrison shows you how to get back there if you use CloudKit with Core Data or SwiftData. I especially liked the tip about streaming logs to the console. 👍
Screen vs View in SwiftUI
So, hey, you’ve read an article about a naming convention.
I’m also a little surprised that I’m linking to a post about naming conventions 🫣 but I found myself nodding along the whole way through this one. If you’re writing with SwiftUI, this is a sensible, pragmatic approach to organising your View types.
Design
Q&A with the Apple UX writing teamThere’s some excellent advice from the Apple UX writing team in this summary of their Q&A session from last year’s WWDC. Picking my favourite tip was easy, as it’s something I’ve done for years:
… you can always read out loud to yourself — it’s an invaluable way to make your writing sound conversational, and a great way to find and cut unnecessary words.
Read the whole thing, and also watch the linked WWDC video. 👍
Jobs
Senior Mobile Software Engineer, iOS (Swift) @ Doximity – We are looking for a talented iOS Software Engineer to join our growing team of developers. We have built and maintain a suite of fully-native iOS and Android apps that healthcare professionals use on a daily basis to increase productivity and provide better patient care. – Remote (within US timezones)
iOS Developer @ KURZ Digital Solutions GmbH – Join KURZ Digital Solutions! Take the lead in developing innovative apps as an iOS developer and explore modern technologies in a dynamic team. Experience a culture of learning and creativity that combines tradition with digital innovation. – Remote (within European timezones) with some on-site work (Germany)
Are you hiring? Post open Swift and Apple platform positions for free over at iOS Dev Jobs!
And finally...
I predict this will be the most creative app you’ll see this week! 🦘