What's a computer?

I. The identity

The iPad’s identity crisis is not new. It was long thought to be the case that Apple wanted the iPad to eventually replace the Mac. In 2018, Apple released a series of ads, including one that's been mocked to death, in which a child uses her iPad Pro and infamously responds to her neighbor asking her "whatcha doing on your computer?" with "what's a computer?"

The tagline of one of those 2018 iPad Pro commercials was "Imagine what your computer could do if your computer was an iPad Pro." The tagline of the 2020 iPad Pro was "Your next computer is not a computer."

Apple was pushing hard on the idea that iPads could and should take the place of computers, and it seemed they truly believed the future of computers was in the iPad, and it made sense at the time. MacBooks were awful, riddled with problems, including horrible battery life, the notoriously awful Butterfly Keyboard, and a ton of overheating issues. They were selling poorly, reviewed harshly, and clearly in decline. You didn't have to look far for reasons Apple would want to make Macs look like the past and iPads look like the future.

All that changed in November of 2020 when Macs switched from Intel to Apple Silicon, making them so efficient, powerful, and cool that the MacBook Air's fan was completely unneeded and removed.

These Macs received near-universal praise from reviewers and started selling like hotcakes again.

For the next few years after that, Apple backed away from the "iPads are the next computer" idea in marketing and in software. They added tiny doses of Mac-like multitasking to iPadOS with underwhelming features like Stage Manager that were received poorly and criticized as janky and limited. At the same time, Apple was putting M-series chips, the same Apple Silicon chips that were in Macs, into iPads. There was large criticism among reviewers that iPads with comparable hardware and power to Macs had nothing to use that power on because of how limited their software was.

This year though, Apple finally gave into the requests for full window management, and iPad geeks, including me, celebrated that Apple was finally taking real steps to make the iPad usable as a computer.

I downloaded the 1st developer beta for iPadOS 26 on my 11" iPad Pro the day of WWDC because at the time, I relied very little on my iPad for work and wanted to install the beta on one of my devices. I played around with it a little, and it was a bit janky but overall cool, and it was super nice to see that Apple was finally, seemingly, back on track to make the iPad into a real computer, and with a bit of refinement, I believed it could get there.

II. The mistake

Fast forward to this past week. I'm in a program that put me in a hacker house with 12 other teenagers in San Francisco (this program ended up being very sketchy/illegal and was shut down, but that's another story) doing a ton of work for Spark & Airport, and we're accelerating fast. I have a ton of coding to do, and I'm juggling 10 Linear issues and 20 Slack messages at once.

This was when I spilled a glass of water on my Mac.

In my defense, it was an incredibly crowded house. There were 12 kids, 2 bedrooms, and one bathroom. It was certainly an experience.

I immediately panicked, wiped the water off, and put it lying slanted in front of the radiator for about 2 hours. The Mac was fine for about 1 and a half days, at which point the screen took its leave and stopped working. I took it to an Apple Store and gave it to them for what I was told would be a 3-5 day repair, which ended up being 8 days because of the 4th of July and the following weekend.

For these 8 incredibly long days, I was left with only one device on which to code: my iPad.

Anyone who's ever tried to code on an iPad knows it's a treacherous experience. But I had a keyboard case, I had updated to iPadOS 26 which supposedly made my iPad as good as a computer, and there were cloud tools like GitHub Codespaces that let me use a virtual code editor. How hard could it be?

III. The experience

iPadOS 26 is a puzzling little thing. On its surface, it's just uncanny valley macOS, but the best way to describe it after being forced to use it exclusively for a week is that it's what someone who has never used a computer but has seen pictures and screenshots of one would think a computer is.

You can do basic things. You can move windows wherever you want, resize them however you want, but a few minutes using it is enough to realize you don't actually want to. The 11" iPad is tiny. There is almost no reason you would want to not either have full-screened windows or a split screen between 2 or maybe three windows. I instantly wanted back the old split-screen option that is now exclusive to the full window management mode.

But window management is not what makes a computer. In the case of the iPad, as soon as you try to code something on it, that becomes clear.

The Swift Playgrounds app can build and run Swift Playgrounds apps, but every other app is limited in its own sandbox, unable to run a server locally or run any builds. Tools like GitHub Codespaces try to abstract these things away into a virtual environment in the cloud, and that works for basic tasks like web development, but when you try to build an app with any real tools, like React Native, Flutter, or even Apple's Xcode, you need to build an app locally and usually build it to a local device connected over WiFi or a cable.

None of this is possible on any iPad app because all apps are completely trapped, sandboxed into their own silos and unable to interact with the operating system.

Firebase Studio is another tool that promised to allow you to run your app on a virtual simulator, but it only works in very specific environments and only has Android Simulators.

It was clear to me that if the iPad wanted to be a place suitable for real workloads, including programming, it needed to be able to complete these tasks itself, not offload them to virtual environments that try to sidestep the limitations of the operating system.

So why can't iPad do these things itself?

IV. The Apple

All of this sandboxing is done because of the limitations put on by apps distributed through the App Store. They are done in the name of security and customer assurance, and it's true that 90% of apps won't need to interact with any systems outside of their app, but the other 10% provides a ton of value out of their apps.

Why is this done? Security, of course, and this is a noble cause, but this security clearly makes the platform much more dictated by what Apple implements as a service.

"If a third-party app needs to access information other than its own, it does so only by using services explicitly provided by iOS, iPadOS, and visionOS." This is exactly what stops iPad apps from taking full advantage of the OS, because the services provided are so limited.

The fact that what the iPad can be will always be dictated by what Apple chooses to allow developers to do, and not what they choose to make for the platform is what will continue to stop it from being a computer.

V. The computer

A few months ago, I found a Mac app that added flies flying around your trash can when you hadn't emptied it in a while. If you emptied your trash can or moved your mouse over to them, they would fly away.

The ability to do this was not thanks to explicit APIs Apple built into the OS to allow third-party apps to request access to the mouse position and to render custom graphics anywhere on the screen even while the app itself is closed, but rather thanks to clever engineering by an app developer on an OS that doesn't completely box its developers into using only 1st-party APIs.

This app couldn't have been distributed on the App Store because it wouldn't meet App Sandboxing standards, but that's okay, because on a computer, apps can be downloaded from anywhere.

Even if an app isn't approved or even notarized by Apple, it can always be opened with a few prompts into the command line.

What makes a real computer in my eyes is this ability for it to be molded by any developer who wants to make things for it, without waiting for permission from 1st Party APIs.

This is what a real computer is, in case that kid is wondering, and it will stop the iPad from becoming a real computer if Apple can't let go of the App Store's billions of dollars in revenue each year, which I am 99% sure will unfortunately be the case.

This is why the iPad won't become a real, usable, computer that anyone can hack on anytime soon, barring an insane shakeup at Apple, and it's why window management was fundamentally mistaken as the barrier to the iPad becoming a real computer when the real barrier lies at the OS and App Store level.

Until those barriers are broken, I'll happily be using my newly repaired 14" M2 MacBook Pro for any and all work-related tasks, with a new appreciation for my ability to run any software on it, and I'll keep using my iPad for what an iPad is used for: watching movies and occasional drawing or diagramming.

Make no mistake, the iPad is not a computer, and it will continue not to be for a very long time.