I (honestly) don't understand the appeal of writing code on an iPad. Feels like the Air or Macbook Pro already do that: a keyboard with a screen. I'd feel cramped if I had to develop on something like iPad OS.
Because it is a locked down supercomputer that could do a lot of things, if it wasn't artificially dumbed down. I completely understand why some people want to undumb it. It is light, powerful and more robust and portable than any notebook.
The iPad Pro + Magic Keyboard weights more then the MacBook Air [1]. I want to say I once read it was thicker as well. It's also just as much money, if not more.
The benefit of the iPad is the touch screen, that's it. The size/weight argument is only valid for those who aren't loading it up with a keyboard cover. I assume everyone talking about coding on it are going to be using the Magic Keyboard.
Do I use it to code, no, but that is because I don’t really code anymore. I have used it along with parallels access to remote in to my Air from literally across the world, and run VSCode to troubleshoot some code for a friend. It worked fine. Anymore it’s become my travel machine.
Yes, but that's only helpful because it has a touch screen. I don't think detraching a screen from it's input devices would be a helpful feature. Touch makes that possible.
The Magic Keyboard is not a portable device. It is built and obviously intended to be a desk-based “dock” for your iPad. It’s weight isn’t really relevant, in fact I expect that they added weight as a counterbalance. I use the Smart Folio Keyboard for my iPad as it is lighter and more portable. Not as good for typing but I don’t type as much on the iPad as on a laptop.
I think there are two camps. Those who are constaintly removing their iPad from the Magic Keyboard for using it with touch and those who never it connected all the time.
If you are going somewhere and will want to type when you get there, the Magic Keyboard is coming with you. It folds up to act as a case for your iPad during transit... it is a portable device.
It’s ergonomic if you set it up right. I have a stand that I attach my IPAD to and pull out my mini mouse and keyboard and don’t have neck pains. With a laptop, you have to crane your neck down to look at it. I see it as like a laptop with a detachable screen.
It’s also less invasive that way, you can get a laptop stand but it looks ridiculous in coffee shops.
This might have been a valid complaint years ago, but now I think the app store rules (and well... sideloading) means that, if you want, you could build out all the apps needed to do this stuff!
There is almost nothing stopping people from writing up iPad apps for coding things up, except for the fact that there is no market. Apple is no longer standing in the way IMO (stuff like Pythonista exists after all)
Sideloading is not accessible to everyone, even though it's fairly easy to achieve. Most users, even technical, would not want to rely on such methods for installing a development environment (or customising their devices for example); Any tentative for monetising an application that depends on sideloading would be bound to fail at scale.
Is the context I described responsible for the lack of market? It may be.
I still think that iOS is the best mobile experience out there, but it's
Turning the iPad into a MacBook is far more than some artificial lock.
It requires consciously designing everything to work as both a fully fledged computer and content consumption device. That touches everything from product design, internal hardware, thermals, operating systems, frameworks etc.
It has a processor, ram, storage, video output, Bluetooth and network connectivity. I'd say it's already fully functioning computer designed to do any computing task. Of course, manufacturer wants it to be a locked down appliance, but its predatory behaviour is not a reason to sheepishly accept the status quo.
And what you say about 'consciously designed ...' amounts to nothing meaningful. Have you seen what hardware people have been running Doom on?
iPad's hardware is already a perfectly usable general purpose computer. It is very portable, unlike your fridge, and has powerful processor and high-capacity battery, unlike your watch. The only problem preventing its use as a general purpose computer in a sense of Macbook is a lock by the manufacturer, which prevents loading a proper OS on it, and the absence of hardware specs, nothing more.
Reductio ad absurdum just to drown out the merits of the parent post. Your iPad is far more capable than those three devices. It should be able to do what the user would like to do.
And an iPad is nowhere close to the safety-critical nature of the other computers. There is no defence for its locked down nature.
People understand this usually. The problem is that when we try to put the same restrictions upon developers of all users there's going to be a lot of friction with the assumptions in design and UX that make it so great for grandma. Bifurcating iPad OS into a pro v consumer version is probably going to result in worse issues for both groups as well, so building something that can be unlocked once in power user mode seems like the better option longer term. There's speculation about _why_ it's been so hard to get this right and only Apple can definitively say what the reasons are.
I want a linux/mac compatible terminal environment sandboxed in iPad OS. I don't need them to be the root OS or try to use a mouse-centric UI via a touchscreen.
Right. I actually do understand and accept the security argument for the locked-down nature of iOS. But with iSH already approved by Apple, WebAssembly already providing a sandboxed VM for untrusted native code, and Google offering VMs on their phones today, full support for untrusted VMs seems like a very reasonable request. If those VMs had graphics support, that might well make the difference between me purchasing an iPad Pro and not—for example, WSL2 is the reason why I've been on Windows lately.
I would guess that Apple fears that Epic will start using untrusted VMs to distribute Fortnite outside the App Store. Though, honestly, they're not far from being able to do that with a hypothetical WebAssembly/WebGL version already.
Sadly, it would probably be memory starved. There isn’t much RAM on those devices. When I tried UTM, a year or so ago, it was difficult to get a functional VM on an iPad Pro.
It makes me wonder how much life my 2018 iPad Pro has left. I think it only has 3GB of RAM, which I could see being more important, as Apple adds more multitasking to the OS.
> iPad OS 16 also adds virtual memory for the first time on an iOS device.
I have also seen that claim, but I have a really hard time believing they didn’t have swap before. Like hell, I’m sure they must have used memory compression as well..
As far as I know iOS dealt with memory by ruthlessly ejecting background apps from memory as needed. If your foreground app exceeded memory limits and all background apps had already been freed then your foreground app is killed.
The latter is pretty rare given how much work has been put into notifying apps about memory pressure, making them easily suspend/resume, and not using garbage collection.
Well, in a way it is a form of swap (just a program-controlled one over an automatic), to tell it to save its state because it is gonna be killed. And to be honest, it is a very fair way of working that should be moved to the desktop as well (plenty of apps have no reason to run in the background - though memory eviction is not needed there when ample memory is available).
Also, sorry to be pedantic but reference counting is a garbage collector algorithm, but I do understand what you mean here (RC needs less memory at the price of not being able to defer work to a concurrent thread)
Not necessarily. I'd be curious to see a slightly different take on the programming environments I'm used to. I like macOS more than iPadOS but regardless, right now I couldn't work on the iPad if I wanted to.
It's a more flexible form factor that can handle things like taking written notes, marking up PDFs, couch surfing extremely well which traditional laptops fail at. And with a Bluetooth keyboard it's perfectly serviceable for typing at a desk. Literally all it's restrictions are completely artificial which makes it doubly frustrating.
I think it depends on the scope of what a user wants to code.
I have a Mac Mini at home, but lately while doing some prep for interviews (sigh, leetcode), I’ve been going to the library or other places with my iPad and a BT keyboard, and it’s not half-bad to write some code. Unfortunately (or fortunately depending on who you ask) I’ve been mostly writing code on a DigitalOcean instance that I SSH to. That can be trickier if Wi-Fi is shaky where I am since my iPad doesn’t have access to mobile networks and my phone doesn’t do tethering.
Nowadays newer iPads can even hook up to external displays. So form-factor wise, you’re not necessarily missing much, even if you prefer more screen real-estate.
It would definitely be nice to have a native Terminal shell, though.
BTW, if you haven't tried it already, look at Blink as an SSH client. It also supports Mosh, which is a godsend for working from flaky networks. I can literally open a connection from my house, close my iPad, get onto a bus using its WiFi or my phone tether, close it, walk into my office, and continue with the same connection. It's brilliant.
I write a lot of python. A fair chunk of inside Jupiter notebooks. Safari is a capable browser for accessing remotes juypter lab servers and there are a couple developers one-upping each other & producing pretty good options for local development with native libraries.
When I'm home I don't really need the iPad for this (much). There a few use cases where it's clearly better than my MacBook Pro though: the screen is veerry nice outside and I've written more in a hammock than you'd think. Also - airplanes which I am on more often than I'd like to be. an iPad Pro with the magic keyboard is fantastically shallow. It fits on a tray better than anything else.
Forget about writing code, simply having the ability to compile would be a huge improvement. It's obscene that I have a $1500 iPad Pro with hardware/software perfectly capable of building iOS apps, but Apple demands that I buy yet another one of their overpriced machines to do so.
It's not even about the money, it's the sheer audacity and arrogance that shits me.
For someone like me who travels and digital nomads, the 14” MacBook Pro is perfect. iPad is definitely not in my interests but while I definitely can be more productive with more displays, I surprised myself how quickly I got used to using just the MacBook screen.
It's stupid to say this, but I think I work better with just one screen. The temptation to put Slack and email on the second screen and have too many things going on at once is too great. Using a single screen (the MBP display) makes it easier to focus.
I'd say the question is "Can I code iPad apps on an iPad?" I would not really expect iPadOS to become a regular developer enviroment for, like Java, Python or C#. I understand Swift Playgrounds can create some types of apps, but are iPadOS apps written on iPads?
Until I can plug a screen and a keyboard to my iPad and write something as sophisticated as Cultured Code's Things on it, there is still ways to go.
I (honestly) don't understand the appeal of writing code on an iPad. Feels like the Air or Macbook Pro already do that: a keyboard with a screen. I'd feel cramped if I had to develop on something like iPad OS.