About iPads and Developers


So WWDC 2022 just started and the keynote got a ton of threads spinning in Hacker News, Lobste.rs, and many other outlets. Recently, I’ve posted about developers never being happy with Linux laptops. Reading those WWDC threads made me feel the same way I did when I wrote that article.

Every time Apple does anything related to the iPad, no matter what, people will write long treatises about how they can’t be a developer on an iPad. How they want to run Docker, VS Code, PostgreSQL, k8s, Linux, or whatever in their beloved tablets; and how since they can’t, the iPad is useless.

Of course anyone has the right to voice their opinion. If you totally feel so strongly about these topics that you must vent, be my guest. I’ll make space for you and listen to you trying to understand your point-of-view. I’m not here to say you’re wrong, I just want to present my understanding of things and why I think I some people can’t see the solution to their problems even when it is right there.

Apple is an Experience Company. Much like Disney, what Apple sells is dreams. It sells you on an idea, on a curated experience of what computing should be in their vision. It doesn’t matter if your own personal vision clashes with that, what matters is that their business is based on this idea and everything they make is done in favour of supporting this vision.

When Apple makes a tablet, they don’t want it to be a laptop. They want it to be the truest Apple tablet it can be. Whatever that means, I’m not even sure they know, but that is their guiding star. Apple wants their devices to be true to themselves. That means that a tablet is a tablet, a phone is a phone, and a mac is a mac. Their experiences complement each other, but they are not necessarily interchangeable. Some workflows are present in all of them, but others are not.

Looking for experiences that Apple want to keep in one device class while using another is a recipe for frustration. That is not how Apple rolls.

The iPad is getting a lot smarter and more flexible since they decided to decouple iPadOS from iOS. My own beloved iPad Mini is getting a ton more usage than what I thought it would, but an iPad is not a Mac. You can use Swift Playgrounds, and have some development apps such as Working Copy and others. It is still not a Mac. That doesn’t mean it is not useful. Stop looking for the Mac in your iPad, and instead find your iPad in it.

Apple is firmly in the Two Boxes camp. Instead of a single convergent device, they want to build discreet separate devices with different experiences because that is what they sell. They sell experiences.

Now, most of those criticisms I mentioned above could be coalesced into a single category of people who want a Single Box convergent solution. They want their tablet to be their computer and more. They are looking at the wrong company for that.

The convergence company is not Apple, it is Microsoft.

Hear me out! don’t close the tab! Keep reading, I’m going to unpack this.

If you’re a frequent reader here, you might have seen previous posts of mine in which I was using a Surface machine as my primary machine. I’ve rocked a totally underpowered Microsoft Surface Go as my main development machine for more than a year. I had a ton of fun pre-COVID with working from anywhere with a 4G-enabled Surface Pro X.

The Surface Pro is what these people are looking for. It is a tablet and a laptop. It can have keyboard, mouse, touch, and pen input. It can transition between those experiences on the fly. It can run both Windows and Linux at the same time. Heck, these days WSL can even run graphical Linux apps.

It can be your development laptop, your notetaking tablet, your media consumption gizmo. Surfaces are damn awesome. I just stopped one because I wanted macOS development tools over Windows development tools (I mean for native apps and stuff), but I still think that in terms of form-factor, hardware design, and flexibility that a Surface trumps everything else. It is a wonderful machine.

The Surface is a worse laptop than a Macbook Pro. It is also a worse tablet than an iPad, but it is a better laptop than an iPad and a better tablet than a Macbook. If you want a single device to be your tablet and laptop, go with Surface.

You can even remove Windows and go full Linux with many Surface models if that is your jam.

People keep asking why they can’t run VS Code, containers, RDBMS, Linux on their iPads and all I can think is why don’t you use a Surface? It can do all of that.

Did you enjoyed reading this content? Want to support me?

You can buy me a coffee at ko-fi.

Comments? Questions? Feedback?

You can reach out to me on Twitter, or Mastodon, Secure Scuttlebutt, or through WebMentions.