Wait, what about the iPad
March 30, 2023
I have been going to Apple's developer conference since before a lot of you were born and I try to listen to the direction they want us to move in.
Lately, the following messages have been clear.
Swift is the language of the present and future.
SwiftUI is the platform of the present and future.
SwiftUI makes it easier to build cross-platform apps so make sure your app targets more than just the iPhone.
The iPad is a separate device. It's not just a big iPhone so take advantage of its differences.
This advice has helped me make some decisions for the music app I've been writing for the iPhone.
Of course my app will run on the Mac and the iPad. In fact, I've been thinking about getting it to work on Apple TV, Apple Watch, and, if my application gets accepted, Car Play.
The Mac is a bit of a challenge. For technical reasons, song preview and song play use different music players. I assume it's because a full song is DRMed and the preview isn't. The preview player isn't available on the Mac.
But Apple has done a wonderful thing. If I target the iPad then I can make the iPad app available on Apple Silicon Macs using Catalyst. In fact, there's really nothing for me to do but check a box saying I want it to be available.
So the challenge will be to make it look right on the iPad (which I haven't done yet) and consider the different window sizes it will appear in on the Mac (which I haven't done yet).
I've taken some inspiration from Apple's Music app when it comes to some of the design decisions on the phone, tablet, and laptop.
My app differs from Music in many ways - but I want to present some of the elements and functionality in a way that feels familiar to the user and fits the way they use each device.
I think I understand the challenges of writing a music app for Apple platforms at least as well as others, and that could be why I'm so disappointed by the Apple Music Classical app.
I opened the app on my iPhone and I love it. It's a great way to consume classical music. I'm hoping MusicKit adds ways to search for classical music so I can expand my own app to take advantage of some of the content driving Classical in my own app.
Then I opened Apple Music Classical on my iPad and I gasped.
I'm not a "Steve would never" guy but this took my breath away.
I remember Steve on stage introducing the iPad. It was a brilliant moment.
While many journalists concentrated on what was on the device screen, Steve was really demonstrating how you would interact with the device. He sat on a couch with his iPad in his lap scrolling through this and entering that.
At launch, there weren't many apps that were available for the iPad.
But because it was so important to ship the iPad with apps that would run on it, Apple ensured that iPhone apps would run on it in special mode.
Back then, we didn't have a lot of different sizes and shapes of iPhones so the iPhone app would launch on the iPad in a window that was the screen size of the iPhone. Next to the app was a button that allowed you to tap it and grow the window to fit inside the iPad screen. In the early days, this meant that the images were usually a bit fuzzy and you knew that you were running an iPhone app on the iPad.
Years passed and we got ways of targeting different assets and sizes for different devices. An iPad app looked, felt, and navigated differently than an iPhone app. iPad spun off and got its own OS and its own place in the WWDC announcements.
And that's why I gasped when I saw Apple Music Classical running on the iPad.
It's not an iPad app. It's an iPhone app with that button next to it that let's it grow to fill the screen.
But it just grows - it doesn't present things differently in an iPad way. We just zoom in.
If I see five pieces on the screen in the iPhone mode then those same five pieces grow to fill the screen of the iPad when I tap the button. I'd expect to see another three or four.
Apple Music Classical is a much anticipated release by classical music fans. Not targeting the iPad or the Mac in the initial release is a decision that won't go unnoticed by developers.
The app isn't available at all on the Mac and doesn't look right on the iPad.
Then yesterday I got the email announcing this year's WWDC in June.
There has to be a connection between what Apple ships to customers and what Apple asks of developers.
If Apple really wants us to use SwiftUI to bring the best experiences to all of their platforms, then they should ship apps that show us how it's done.