May 12, 2021
A few weeks ago I wrote a silly free utility for bakers that is designed to run on the iPhone.
Just for kicks I downloaded it onto my Mac and ran it. Amazingly, it just worked.
I didn't use a multiplatform target in Xcode when I created the project for my app. It started as an iOS App - what we used to call a single view App.
Apple has made a fuss these past couple of years about iPad being a separate platform than iPhone. iOS 14 and iPadOS 14 have different landing pages. The iPad's page begins, "iPadOS builds on the same powerful foundation as iOS, while offering distinct experiences designed just for the capabilities of iPad."
You can create a multiplatform project, an iOS project, a macOS project, a watchOS project, or a tvOS project.
You can't create a new iPadOS project.
Not even in the Xcode that shipped after the new M1 iPad.
Now all that could change in a month at WWDC when we get the new toys from Apple. As I've said here before, I am expecting big things from developer tools this year.
"Oooh, Daniel," you ask quietly, "do you think this is the year of Xcode on the iPad.
Honestly, I don't give a --
Hang on - let me say this differently.
I'm not one to want or care about Xcode on the iPad, but I can see a possible path to us getting one on the iPad.
Now, I'm prepared to eat my words in a month and this is just idle speculation, but I'll tell you why I think you might see Xcode on the iPad without seeing Xcode on iPadOS.
Remember my little app that just worked on the Mac?
Here's what Apple says about that, "iOS Apps on Mac runs your unmodified iPhone and iPad apps on Apple silicon with no porting process. Your apps use the same frameworks and infrastructure that Mac Catalyst apps use to run, but without the need to recompile for the Mac platform."
Oh, right. Catalyst.
Catalyst was Apple's way of helping us run iOS apps on a Mac - even an Intel Mac. For the M1 apps we don't need to do anything as developers.
So Catalyst is how we get iOS apps running on a Mac.
Except that Apple often tells us one story until they're ready to tell us the whole story.
If you watch the autolayout sessions from WWDC when it was introduced, you'd think that autolayout only existed to support internationalization. Most of the demos showed us an app running in English and then the same app running in German and the buttons and the rest of the UI resized to make everything right.
In September, when the OS shipped along side new hardware we saw that the real reason was that the iPhone they introduced was taller and didn't have the same aspect ratio of existing iPhones.
The same was true when they earlier told us to think of points not pixels.
Until then, most of us knew the exact dimensions of the iPhone screen in pixels and we knew the height a button should be and so on. These were constants that would never change. Why would we possibly need to switch from pixels to points.
Most of us knew to listen to Apple even if we didn't understand the reasoning, and sure enough that year the new iPhones were released with retina displays. The points as a unit of measure made sense but the same number of pixels covered a quarter of the square area as the ones we had memorized.
We watched Steve demo the genie effect in slow motion as he grew and shrank icons to the dock.
It wasn't until much later that we learned to embrace Core Animation on the iPhone.
Apple often shows us a technology in one context before showing it to us on the device where that techology will really matter.
So now the top of the line iPad has an M1 chip.
It also comes with 512GB storage with 8GB of RAM or you can get it with 1 or 2 TB with 16 GB RAM.
Combine that with the fancy keyboard and it even looks like a Mac.
So why not just put macOS on this puppy and be done with it.
Except that we all have a bunch of apps on our iPads already that we don't want to give up.
Remember when I said that my tiny little inconsequential iOS app just runs on my M1 Mac?
Seems to me that this could be setting us up for a machine that can run macOS and all of our existing iPad apps.
"But Daniel," you object, "Apple says they think Microsoft has it wrong with the Surface. That people want to either use a laptop or a touch screen not both.
Except, that Apple often says things like this until they ship their own.
People pointed to all that Steve said about the stylus. What he said was probably true for most of us when he said it. But Steve said what he did while knowing that he had engineers working on what would become the pencil.
Apple said there was no need for a new programming language while many beat up on Objective-C. That was likely true. There was no need for a new programming language, but I'm sure happy with Swift and all that it has brought us and will bring us.
I have no idea what we'll see at WW. This thought experiment came out of three things:
iOS app just worked on my M1 Mac.
There being a fuss about the difference between iPadOS and iOS without there being much support for developers outside of using specific technologies and APIs in their apps.
The ridiculous specs for the new iPad including a chip that does not have a different name or even a different family name than the Mac version.
This won't be something that appeals to everyone so I wonder if the M family of chips will be for iPad Pro models only and the A series will continue on the other iPads and only the Pro models will support macOS.
Isn't the month before WW a blast?