Friday, July 7, 2023

iPad Pro for Coding

Jesse Peterman (via Hacker News):

The #1 reason I started to consider buying an iPad a few years ago was for one thing, and one thing only: to read coding books. I have a kindle and I love it, but for coding books it is terrible. The large color screen especially comes in handy with code snippets as well as for color syntax highlighting.

Indeed, the best uses I’ve found for my iPad are reading books/papers that don’t fit well on a Kindle and watching videos. It seems like I’m not really taking advantage of what the hardware and software can do, though I do use multitasking with OmniFocus.

The #2 reason I considered the iPad was because Apple had announced at WWDC 2021 that their Swift Playgrounds app would be updated to support SwiftUI and be able to release complete iOS apps on Apple’s AppStore.


If you’re just learning Swift in Swift Playgrounds then sure, you can use it for coding, but you could also do the same thing with the base model iPad for a fraction of the cost.


After buying a powerful pro model, a decent keyboard, and a pencil the price ended up being MORE than a laptop I could have used for even more coding activities.


The keyboard shortcuts and operating system aren’t quite as power-user friendly as I would prefer.

The MacBook Air is so good these days. For most use cases, it’s more capable, it weighs less despite having a larger screen and a full keyboard, and it costs less, too. If you’re choosing one or the other, it’s the better choice unless you really need something only iPad can do.


Update (2023-07-10): Dave Verwer:

I’ve never been very excited about the prospect of Xcode on iPad. I don’t think many people would get much done with it without attaching a hardware keyboard, and with one, it feels like the very best it could be would be a slightly worse version of using Xcode on a MacBook.

You may have to give me a minute to explain myself after reading what I’m about to speculate on, but is visionOS where we will see the first iOS-based version of Xcode? From everything we’ve seen of Apple’s new platform, it’s clear this is a project with a long-term vision, and I think a version of Xcode could make sense.

11 Comments RSS · Twitter · Mastodon

Articles like this are always interesting, but tend to under-estimate the ways in which an iPad might be better than a Mac. Most are written by users who have been using Macs or Windows machines for years and whose mindset has understandably been moulded by this experience.

After four years of using an iPad full-time, I am still learning new, iOS-native ways to do things I thought I had solved long ago on my Mac. The iPad is truly a different platform, for better and for worse.

Native cellular connectivity remains a big iPad-exclusive advantage. I also feel that iOS and iPadOS win in terms of system maintenance: bullet-proof app sandboxing and the fact that every component is signed and checked by the system makes it really hard for things to go wrong. The things that do are usually caused by system-level bugs that are intensely irritating but overall minor.

Sure, one loses a lot of flexibility on an iPad, but that lack of flexibility also makes it harder to shoot oneself in the foot or to create hyper-customised setups that Apple does not support and degrade slowly over time or require constant upkeep.

None of this makes the iPad superior to the Mac, but I do not think it is fair to call the Mac superior, either. They are two different platforms that pursue comparable but slightly different objectives in vastly different ways, in spite of their shared underpinnings. Neither platform will kill the other, and I do not think Apple’s current leadership team sees it this way, either — or the iPad would not have kept exclusive features for so long.

Cellular seems like one of the things that needn’t be an iPad-exclusive, as if Apple is using it to prop up the platform.

My experience is that when something goes wrong on iOS I have wipe the app (with no way to selectively restore it if it doesn’t sync) or wipe the whole phone (if it’s a system app like Mail). It’s much more disruptive than on macOS. I would guess that you can get most of the same benefits, without the drawbacks, by choosing to live a restricted life on macOS, too.

I agree with Tarsier that often times such pieces are written from the perspective of users who have been using Macs or Windows for a long time. I've lost track of the times I've come across posts by people that wanted to "try an iPad as my main computer" and then a week or month later they conclude it's not possible because it was a different experience from what they were used to. In a short time frame there's a lot more friction as a new-to-iPad user settles in. Windowing and multitasking seem to be be the initial primary obstacles but then also, sometimes, needed apps that are not available or if an app is available it's not an exactly match to the version they're used to.

I came to the iPad as a long time Mac user (A Color Classic and System 7.6). Like many I bought the first iPad and in those days was happy to use it as a tablet along side of my Mac. But I also bought it with the the Keyboard Stand accessory that Apple sold and within the first few months had found an app, Gusto, that was built for managing/coding websites. It had a very similar feel to Panic's Coda with a sites window with thumbnails, an excellent text/html editor and a built in ftp client. Well, that gave me my first taste of "using the iPad for real work". Given that much of my work then (and now) involved setting up and maintaining small, static websites in the old school html/css/ftp way, well, I was actually quite happy with that set-up.

Over the next few years I happily bounced back and forth between the Mac and iPad. In those early days I relied on the Mac for graphics focused work and the iPad for reading, writing, blogging and code. Around 2016 Serif started releasing iPad versions of their apps and that allowed me to switch over another chunk of my work. None of this was planned, I enjoyed using my Mac and iPad together. But when given the opportunity I usually chose the iPad if it was the right tool for the job. By that time I'd learned all of the gestures and with each new year I learned any new gestures, new features, etc.

Using the iPad beyond casual consumption requires mastery of its interface and an interest in taking advantage of what makes it different: the touch screen. This is really key and seems obvious but many seem to overlook it when discussing features, price and limitations. Of course a 13" iPad Pro is going to be quite expensive, its got a large glass touch screen. In some ways it is more limited and these days its battery life is less than the M-based Macs. And yes, it's heavier than some when you add in the keyboard.

I still keep a Mac Mini around as a file server and as a back-up but sold my MBP back in 2017. I feel a bit like a ninja or a wizard with the iPad. Being able to use it without a keyboard is something I really value. I long ago mastered the many multi-touch gestures that are available and my fingers are always dancing across the glass. I enjoy that experience. But the keyboard is always nearby and about 50% of the time is attached and I'm happily using the keyboard, trackpad and touchscreen together. And still other times I've also got an external monitor attached.

We're 8 years in since the release of the 1st iPad Pro and though the evolution of iPadOS has been too slow for some I've found the last three years of features have added up to a refined user experience that brings a more flexible, powerful range of possibilities for anyone that wants to take advantage of a touch screen, modular form factor. Really, at the end of the day, I like to celebrate the fact that we have so many Apple computers to choose from because it also means so many more people get to have the comfortable computing experience that lets them do more. It's a win for everyone.

Just a note, you recently shared my review of Affinity Publisher for iPad, thanks! I've written 100+ posts iPad focused posts on the blog and always adding more for the iPad curious:

Periodically I reconsider if to rely on an iPad for everything. And rent online services for anything not included.

But, as already pointed out in the post, a full setup is more expensive and less capable than a MacBook.

With time I discover the iPad is fit for an increasing number of specific purposes. Media consumption. Internet research. Books reading. Maps consultation. Documents consultation. Vacations planner. Personal annotations. Shortcuts creation with the addition of a keyboard.

This constant discovery and nimble expansion, aided by extreme portability and the many years of software upgrades guaranteed by Apple, is what works for me.

I could never see myself using an iPad for coding. I use the iPad
for casual web browsing, watching videos, etc. I consider the iPad to be a great device for those activities (better than a Mac).

With that said I would never spend the extra money to get an iPad that is as powerful as a Mac (hardware wise) when I know the software will limit the capability of the machine so much that I wouldn’t be able to tell if I was using a $250 iPad or a $1250 iPad.

But then again I’m not an iPad gesture ninja. I don’t draw either. I do have dozens of windows open at a time and iPadOS sucks at multitasking.

Like just about every else (Illustrators being an exception) I view the iPad as a device for consuming and the Mac as
as a device for creating.

Even though iPad is great for content consuming, it requires you to hold it with your hand, otherwise usually viewing angle suffers a bit.. I find laptop form factor more convenient when on a couch or in bed. (full disclose - I don't have stand for iPad, but not sure which one would help much in this case)

iPad is only more convenient when having to use it while standing

mmp: Agreed about the stand. I usually have my iPad in the Logitech Combo folio. It's a two piece case and detachable keyboard. The case has a kickstand built in. Makes for much more pleasant experience to just have it propped up and the kickstand covers almost any angle and no keyboard in the way if I don't need to use it.

Objc4Life: I found the multitasking improved a lot with the 2018 iPad Pro, it's even better on the M1 iPads that have a minimum of 8GB of memory. I regularly have 8-12 apps open and bounce between them with ease. No relaunching of apps or reloading of Safari tabs as was sometimes the case before. With a keyboard I can switch via Command-Tab (as on a Mac), the Dock or Globe key and up arrow brings up the multitasking view that is similar to the Mac's Mission Control or recently I just use Stage Manager. I find that I can easily multitask as quickly as I could previously on the Mac.

I code on an iPad, and have been doing so for years (first with an iPad mini 4 - - , now with a Pro). I do it both locally (using vim inside a-Shell, which can go amazingly far - even to the point of invoking OpenAI APIs inside the editor if you use the baked in Python interpreter) and remotely (via Remote Desktop to Linux machines). I just don't code _for_ the iPad, or for iOS, and I would love to see Apple support some sort of hypervisor on it (iSH is close, but can't run a lot of the tools I want).

There is a degree of stubbornness involved, sure, but I can code on anything with a terminal, so what draws me to the iPad is the flexibility and portability (it is still smaller and handier than an Air, especially since the "MacBook Adorable" became extinct). I don't expect Apple to ever support this use case explicitly, but hopefully they won't break things to the extent it becomes impossible.

@Rui You use vim with the on-screen keyboard?

He mentions using the Logitech Keys-to-Go in the linked article. By the way Rui, been following your blog for years. Hi!

Oh, hi. Took me a while to notice this. I _can_ use vim with the on-screen keyboard, but typically I use a compact Bluetooth keyboard (I now have taken that to another extreme with one that fits into an Altoids tin - - but I prefer to use pico or a GUI editor with that one, and it's more for late night note taking situations as I still have the Keys-to-Go and a few tentative replacements).

I'm also still rooting for some form of Linux VMs inside the iPad. I have plenty of sandboxed environments where I can run most Python and even some C and Rust, but it would be so much simpler if I could just get UTM off the App Store and have it run efficiently.

Leave a Comment