Hacker News new | past | comments | ask | show | jobs | submit login
iPad Pro as Development Machine (arslan.io)
139 points by tosh on March 16, 2019 | hide | past | favorite | 147 comments



This topic comes up every month or so, and there's always this catch:

> we need to first create a remote workstation which we can start using as our main development machine.

A dumb terminal isn't a development machine. That's like saying "Using my DEC VT100 terminal to develop in Go", let me just hook it up to an actual computer


> A dumb terminal isn't a development machine. That's like saying "Using my DEC VT100 terminal to develop in Go", let me just hook it up to an actual compute

And to be clear: The iPad Pro does not even achieve the level of "dumb terminal": It does not pass control sequences intelligently, so even running remote emacs is not possible without major remappings (and the remappings are so major as to reduce functionality.)

That said, the iPadPro is good for what it's good for. I love having a portable library, and note taking with the pen is kinda nice. It just doesn't achieve the level of development machine for any intelligent definition of the word "development".


There is a way of emulating an x86 machine on ios now

https://ish.app/

https://news.ycombinator.com/item?id=18430031

Still doesn't convince me to swap my 8 core ryzen 1700 laptop with 32gb ram and 1.5tb ssd and a RX580 for an ipad pro.


What laptop is this?


I think it's a 8 core ryzen 1700 laptop with 32gb ram and 1.5tb ssd and a RX580


A simple google reveals that the ROG Strix GL720ZC has exactly those specs.


I came here to say the same thing. This article got me all excited. I made my coffee and sat down for the long read. And the first damn section killed all my excitement.

It drives me god damn bonkers that the iPad is such an unbelievably powerful piece of hardware... that is practically unusable due to arbitrary OS limitations. Unusable for certain types of tasks that is.

Le sigh.

I dream of the day when an iPad can dual boot iOS and OSX.


OP here: Thanks for making the coffee at least :) I also wish iOS wouldn't be limiting and Apple would allows us to develop locally. I think we're getting there slowly and I'm looking forward to that day.


I still read the whole thing. You know, after ranting on HN for a minute. Thanks for sharing! :)


This is not a very good argument. I do my development work on my company issued macbook, but its not like I'm doing my work locally. My several thousand dollar macbook pro acts as a terminal interface for me for a HUGE proportion of my work. All my code is developed/built/run/tested on remote machines and my laptop is just a fancy interface to them.


It all depends on the type of work you do. I work on the latest top of the line macbook pro issued by work as well, and for me it's too slow. Running the company's php app along with all the other dependencies like MySQL/Redis/etc takes a significant amount of resources. All development is done locally on the dev laptops, bugs are reproduced and fixed on local dev laptops. At this point I almost wish that my laptop was a terminal so that I could have access to more resources like RAM (currently at 16 GB).


Exactly the reason why we've started setting up remote (in-house) servers for devs - for the cost of the latest MBP you can buy a server machine with tons of ram that will run all you services super smooth with any old laptop that can run your editor.


32GB of RAM is top for the MBP, not 16.

Edit: OP said he had the latest top of the line. Latest, top of the line has 32.


Oh sweet, I am gonna ask for an upgrade then. Thanks for the info.


Only for the new models.


Backend developer then? Even in that case I would need IntelliJ idea/visual Studio/ whatever IDE, unless you are just working on “small” projects under 500kloc where vi is maybe enough...


There is web based visual studio at https://coder.com

I use C9 which is another web based IDE.. it doesn't have all the power features of a jetbrains ide but it is nifty and should meet the needs of most developers.

Lots of options outside of vi!


VS Code and Visual Studio are different beasts, though.


Hold my beer...

In all seriousness, I use (neo)vim as my full-time editor for several very large projects.


Devops/Secops/ITops ppl seem to fall into this usage pattern.

i assumed OP is talking about "development" machine implying some code writing.


Not only code writing, but debugging, compiling, testing, deploying to physical devices via usb, coding thermal printer, barcode scanners or other input hardware support support, and the list goes on...


And if I wanted a dumb terminal I'd much prefer a MacBook Air, with its sturdier keyboard and at least the option of having it not be a dumb terminal sometimes


12” MacBook is a near perfect portable machine when upgraded to Mac specs and paired with a new Anker GaN 30w charger.


Agreed. I would be interested in seeing Samsung DeX reviewed for development as DeX can run regular Ubuntu.


Link for the curious: https://www.samsung.com/us/business/solutions/samsung-dex/

Ubuntu: https://www.linuxondex.com/ "Linux on DeX beta is only supported on Galaxy Note9 and Tab S4"

I'm thinking about getting a Tab S4 so I can play with it.


This is nice, can it also run it without any extra stuff attached? I assume it will only run ARM software?


Yeah according to https://www.linuxondex.com/ :

"To operate properly, packages (apps and programs) must be built for ARM 64-bit and must comply with Android security policy."


The input methods available do matter, and affect the practicality of doing tasks pretty substantially. And a great deal of development involves the building/running of code happening remotely anyway. Although in this case all of the editing seems to be happening on the VM as well, so it's more of a pure dumb terminal.


Yea but if you phrase it that way you don't get on the front page of HN and get all that sweet sweet self promotion marketing goodness.


For me, it 80% is. But I am the kind of a person, who edits his .git/config in VS Code through vim in the embedded terminal :)


Are you referring to the vim emulation plugin in VS Code?


He/She's running actual vim in the VS Code terminal.


Yes. Few times I even started vim in tmux inside VS Code terminal :)


The device you're developing with is a developer machine. There's even people working on Citrix remote desktop Windows systems who have nothing but a thin client who develop software as their daily business. Who cares if you're building your application locally or somewhere remotely.


Ad soon as I saw the stand and keyboard I had exactly the same thought.


This falls under fetish category.

Steve Jobs' Post PC world analogy was off in that PCs are the cars, trucks, convertibles etc. and tablets are the scooter. Yes you can do all your grocery shopping on the scooter given the groceries fit, the shop isn't too far away, it's not raining, the mileage will be good etc - you making that one successful grocery trip doesn't mean scooter is a car replacement.


Back when I was helping people quite a bit about general computing support, I actually got frustrated by someone making bad judgement in this regard. Essentially, people get frustrated for things that iPad is just not fit for their job, in your analogy, complaining that their scooter won't work well over unpaved roads.

It's one thing if that user choose to make a wrong choice but they can service it themselves, but it becomes a nightmare story if someone's forced to support that.


That analogy works pretty good: For many people a scooter is all they need for day-to-day life, and when they need car they borrow/rent one.


OP probably wrote it from point of view of a typical American who lives in a neighbourhood outside a city.

In general, if you don't have the shops close by, a car is more practical.


Your comment reminds me that (AFAIK) there aren’t really great rental sources for many pieces of gear. I have often wished something like this existed, and not even for computers (considering I am a dev and have a MBP). But, it would be nice to be able to rent a high end tool that you may only need for one small project, or a high end piece of music gear - like a $2,000 microphone, or guitar amp, etc. - from a well-known and trusted supplier with simple shipping techniques and easy return process (ship back in original packaging with included label, etc).

I suppose enough people use Amazon like this, but they will eventually ban you for abusing their return process.


There have been a few companies trying to fill the need you speak of. Two that I'm aware of https://fatllama.com and https://www.beomni.com. I believe the latter is currently only in San Francisco.


The 'many' part is questionable - some sure. But yes scooter analogy works better than the original! (9.5 million scooters and motorcycles sold in 2017 in ASEAN region where they are most popular - vs 80M cars globally.)


I'd say your own analogy is a little off too. PCs are more of the commercial vehicles: semi trucks, tractors, and industrial equipment. They're mostly used by professionals doing work in some way (also in education and gaming). Mobile phones are the cars - for the average person, most of their interaction with technology is through their smartphone, and for most people, other computing devices aren't really necessary to do what they want to do. I think it's getting pretty common now for people to forgo desktops and laptops not because they can't afford them, but because they don't need them.


And servers are trains and planes :)


I'm a scooter owner, and your comment made me fill my one gallon gas tank with tears.


These articles are always hilarious.

The way most people use iPads as 'dev machines' could be just as easily configured using a $199 netbook from Best Buy and a copy of PuTTY. (Or, buying any not-broken laptop from Craigslist for $50 and saving yourself $1100.)

Granted, as a sysadmin, most of my job could be done on an iPad too (SSH, RDP, web browser, and messaging applications), but every few days I need USB, Serial, VGA, or Ethernet (along with manual config of the adapter), among other things.

So, with these iPad there are always caveats: you end up needing to keep a "real computer" around for all the cases the iPad can't cover, which is most of them.

A few days ago there was a discussion about Termux (https://termux.com/) on Android here, and with things like USB OTG and removable storage that are commonly featured in Android, a Kindle Fire tablet (which cost about $50-150, regularly on sale) would be more usable, even, than an iPad.


> could be just as easily configured using a $199 netbook from Best Buy

Except then when not using PuTTY, you aren’t able to use it as an iPad.


Another incredibly good point. Tablets are great at things like watching videos, reading comics, and if you're not doing any typing, are really good 'couch computers'. Rotating the display provides a whole new set of functionality that you just can't get on a laptop, where it's incredibly awkward to do so.


The convertible laptop market has had this for a while now. I for one just pull the screen off of my surface book whenever I am in need of a reading device.


And still, they're happy to pay extra for great software, regular software updates, a big ecosystem, the best displays on the market and a fit and finish that no one has yet reached completely.


There's no bigger software ecosystem than a laptop running Windows that can be converted into a laptop running a Linux distro.

But, you've got me on the 'best displays' portion. I think the iPads have 120hz displays? They're amazing and threre's nothing like them. They most certainly are "all that", but despite having the opportunity and the spare cash, I still prefer the trashy, ghosting, dim, low-rez display that I have attached to a real laptop.


What about a Mac with Windows (bootcamp or VM), the BSD subsystem, XCode with the iOS emulator and Android studio with an Android emulator?


Everyone is so defensive about laptops here that you’d think they feel threatened by this post. Isn’t it in the spirit of the hacker community to be open to new modes of using computers? This is an experiment, that’s why they documented it and stated clearly that it’s an experiment. It’s something to think about and discuss, not a statement that you should throw your laptop out.


People are worried of a "war on general purpose computing" scenario if even development work can be moved to locked down devices, I think


Phones have completely replaced the use case of PCs for most people, we've accidentally reached a point where it's normal to grow up without a PC in the house.

A friend of mine is a university tutor and complained about students showing up to work with only their phones. A growing-fraction of people are even writing long essays using only google docs on their phone (without even a bluetooth keyboard).


People who use phones instead of PC are handicapped on ways they may not even notice. People who have PCs notice the plunge in personal productivity when they try to do all their activities with a 5% size screen and typing with 20% of their fingers


Indeed. There will probably "always" be something like personal computers that give you full freedom, but the choices and prices are going to suck compared to now in case we enter a real post-PC world for the masses.


OP here: Thanks for the comment. I thought I was clear that this was an experiment and that I wanted to try out things. Now that I'm using it for couple of months, I have even more things to share that are not covered by my blog post.


To be fair, this experiment has been run many many times since the the introduction of the iPad. I even tried it a few years ago because I liked the long battery life and the form factor (and after an HN article about iPad/Linode Dev setup[1]). Turns out lack of proper multitasking and multi-window management, and even lack of mouse support made everything cumbersome. Always needing a remote machine got old really fast too.

No real benefit over a decent laptop.

[1]http://yieldthought.com/post/12239282034/swapped-my-macbook-...


Would you be willing to try:

a) some IOS-native IDE, i.e. http://continuous.codes/ ?

b) how would android fare in comparison? I.e. I really like termux project, it seems to have much more installable packages than i.e. blink, and it could alleviate the need to run separate session in a separate box over the internet. Similarly, because android is based on linux, there are projects for running linux distros alongside (mostly in chroot?).

I am currently trying to learn Ocaml on my android phone on my way to work with Termux :)


Termux is awesome. iSH (https://ish.app) is trying to accomplish the same thing for iOS, but it might not be approved by Apple because it may break the current set of App Store policies. Termux also does not have the overhead of running a complete x86 emulator. I’ve never needed to, but the possibility of running Xorg (with a real window manager) on my phone is mind-blowing, even if it’s uncomfortable without a keyboard and mouse.


Thanks for the article - as a developer with an iPad Pro, it was fun reading your thoughts. I haven't tried coding on it, but I love it as a supplementary machine.


Mind expanding on how you use it as a supplementary machine? Any specific workflow you can share?


I use my iPad for email (reading and sorting; I write it so rarely anyway), HN-browsing, and as another screen for documentation or whatever. I think that’s about the limit of its capabilities. My biggest complaint is still how limited the interaction between apps is and how walled-off they are from one another: https://news.ycombinator.com/item?id=19207796


+1 thanks for the writeup, I have a similar setup and reading the previous posts on blink et al was super helpful as well


If I'm "defensive", it's about ensuring a market for devices that are controlled by the user rather than a central authority. I'm all for investigating new form factors; personally I'm hoping for an unobtrusive heads-up display that can replicate an HD display anywhere. But I'm strongly opposed to abandoning computing freedom in such a transition.


People who work in tech can be surprisingly resistant to change. Anything that threatens to alter someone's workflow will see a huge backlash from people who will always equate "different" with "worse". It's what happens when a cargo cult forms around Zen and the Art of Motorcycle Maintenance.


I disagree. Programmers tend to go overboard when it comes to their dev machines. But if an iPad could really improve development, you can bet programmers would dump their $3k laptop workstations in a heartbeat.


Using an iPad right now, but not for development. I’ve tried it. It just doesn’t work. I don’t feel threatened, just exasperated by the limits. The hardware is severely constrained by the OS and software.

One thing the iPad Pro is really good for is reading documentation. 13”, portrait mode, retina screen, sitting on the couch or in some quiet corner - it’s the bees knees.


> It’s something to think about and discuss, not a statement that you should throw your laptop out.

But that's exactly what the current marketing push is all about.

When the first iPad Pro was released, nobody batted an eye because it wasn't pushed as a laptop replacement.


I get excited every time I see an article about using the iPad Pro for development. But then it always turns out that people just use blink to ssh/mosh into another machine.

I really wish I could have native Emacs on the iPad. It is one of the fastest and lightest machines around, phenomenally lightweight and with a great battery life. It has a pretty good keyboard attachment. And Emacs even without a native shell would work pretty well (using Tramp for editing remote files).

And no, Emacs via a shell is not nearly enough. You can't get enough modifiers through the TTY, so it ends up being crippled. And no, Apple is not likely to reject it, apps with interpreters have been getting in for several years now. And even if Apple were to reject it, there is nothing that prevents people (as in, me, for example) from compiling Emacs myself and loading it onto my iPad (these are common misconceptions, so I'd rather clear them up right away).

I think I might end up funding a bounty, perhaps someone is willing to shave this yak.


i tried a cloud-based editor & dev environment when the ipad pro first came out, and the biggest problem was missing/hard-to-emulate keyboard shortcuts (even with the keyboard cover). after that, the awkwardness of having to use touch in place of a mouse was also difficult to adjust to.

i've mainly used the ipad pro as my companion notebook replacement, using the notes app with a pencil. i had hoped by now that all handwritten text would be OCR'ed and searchable, but alas that's been limited to one mode of the notes app so far.

such a promising machine crippled by the indecision of not knowing what it wants to be when it grows up!


Wouldn’t the locked-down filesystem be a problem?


I don't see why it would be: I don't want to share data with other applications, I just want to edit stuff within Emacs. The sandbox doesn't prevent me from doing that.


In more ways than one, yes.


Too much configuration to even get started!! and the fact that you can't work offline makes this setup so much worse than a regular laptop for my regular use :( I wish there was a better dev environment on the ipad already


Why do you wish that? It sounds horrible. Why not just use a laptop (the right tool for the job).


It sounds horrible because, right now, it is horrible. But if someone enjoys the form factor it could likely be made not / less horrible. I mean ultimately it has most of the hardware of a laptop, minus the keyboard. There is no reason development couldn't be made at least decent on it.

I don't imagine ever wanting to give up my laptop for such a development environment but I could see myself using it when traveling to tinker / test out things or maybe making emergency / urgent changes.


By your own definition, if that commenter got their wish, the iPad would be a laptop.


Agreed. I don't know why anyone would want that. It's almost the equivalent of getting DOOM running on random devices.


You say that like it's a bad thing. You do know the title of the forum you're on right now, right?


I'm not saying it's a bad thing. It's just not very useful in a practical sense.


>If you’re using the iPad Pro in the mindset of “This is going to be my main work machine”, then you’ll be living in constant fear.

I feel like this should be the opening line, not buried in the ending notes.


Tried this a few weeks ago. The iPad Pro has the power but iOS is just too limiting still. You still need a remote system to do any real work on so it is just a £1000+ dumb terminal with a really dodgy keyboard (if using the Apple Smart Folio one anyway).

I am hoping Apple will update the 12" MacBook this year so I can try that out for an ultra-portable dev machine. I like the current model but the CPU options are poor/dated.


I use a proper desktop when working from home, and an iPad Pro with blink+mosh+tmux to a chunky server when I'm on the move and to be honest I have no problem at all with the keyboard (only nit -- after a day or three heavy use it sometimes takes me a while to stop hitting capslock for escape on my regular keyboard when I'm home) -- What's your problem with it?

Edit: Hitting the little... "world" key is sometimes quite annoying, it pops up some kind of emoji keyboard? Alas.


Mostly I didn't like the keyboard and key design. I am fine with the butterfly switches as I have them on my MBP but the rubber texture that introduces a slight wobble/tilt on the keys I found very hard to adapt too. Also lack of backlight option seems a missed opportunity considering it is powered from the iPad. Would be a nice addition.

Also as mentioned in this post the lack of Escape key is frustrating.

Finally the lack of angles for the iPad makes it feel old compared to the Surface Pro and ThinkPad X1 Tablet with their many angle kick stands.

Microsoft's Surface Pro 6 type cover is a far superior keyboard cover than Apple's Folio one. Probably the X1 Tablet one is as well although I have not used it enough to state that for sure.


> (only nit -- after a day or three heavy use it sometimes takes me a while to stop hitting capslock for escape on my regular keyboard when I'm home)

Why don't you rebind your Caps Lock to Esc? For Windows there's uncap <https://github.com/susam/uncap>; on Linux you can find it in your KDE/Gnome settings or look at the uncap Github page for other methods.

Or if you do use the Caps Lock key frequently, what for?


I just never got around to it. I have a .xmodmap somewhere which will probably do the trick. I'm using OpenBSD on the desktop :)


> I am hoping Apple will update the 12" MacBook this year so I can try that out for an ultra-portable dev machine. I like the current model but the CPU options are poor/dated.

And drop the price while they are at it. The form factor is enticing but I won't pay that much for it if I can get the Air or Pro for a little bit more.


I've done this before, just not with an iPad Pro.

I used Blink (because of Mosh support), a Digitalocean droplet running docker and Dropbox for syncing local and remote files. Very similar approach to what's been mentioned in this article.

Some of my experiences as a full-stack web developer:

- Front-end development sucks. You can use Coda for iOS but it doesn't help much. What I was missing was Chrome's inspector. You can do some basic DOM manipulation and console logging via apps and firebug but it's not productive.

- Manipulating image assets. I didn't use the official Dropbox client (I think at the time Linux support wasn't very good) I instead opted for a small script written in bash that talked to the Dropbox api. If there was an image that needed manipulating, I would push that image to a folder in Dropbox, which I could then open in Pixelmator in iOS. Pixelmator would update and sync to Dropbox and I'd run the bash script on the server to pull the updated file.

- Browserstack didn't work on mobile Safari. I don't know if it does now but at the time, I couldn't get it working.

- Lack of multi-tasking. Granted, iOS now supports split screen so maybe this isn't a big deal anymore. I'm ok with looking at one app at a time but app switching in iOS was horribly slow.

This was over 2 years ago and things may be better now but overall as a full-stack web dev, I wouldn't recommend it. It was a frustrating experiment.


Can you not just use a Surface Pro? I've never used one but I thought it had a full-fledged OS so you could use it as a development machine, albeit with smaller HD and RAM than a typical notebook.


Windows 10... a full-fledged OS? Mind you, there are tablets/convertibles that can support a full-fledged OS with relative ease. I just don't think the Surface is one of them, unless you're willing to wait until the hacks that are involved in making it work under Linux are included in the kernel mainline, and thus in distros. The SP 3 is there now, possibly the 4 as well. But what's the point when you can just pick something else and it'll probably work out of the box?


The Surface line is actually, out of the box, a very good Linux development machine, if one is ok with not having camera and sleep.

The surface line was not Linux-friendly at the beginning, then around Ubuntu 17.04, the mainline kernel and the firmware started to give the required support for working daily.

The linux-surface kernel (https://github.com/jakeday/linux-surface) gives extra functionality - mainly the touchpad.


The Surface Pros are full fledged machines and quite powerful if bought with the right spec (not cheap though). Just get the keyboard cover. No idea how they work with Linux though.


> No idea how they work with Linux though.

On the Surface Pro 1 you can forget using the pen input and sometimes the wifi will just disconnect until you reboot. Aside from that Linux will run pretty smoothly.

From what I've read so far I get the impression it works better on the newer models though(SP3 and up).


Many Linux distros don't seem to support display scaling (Ubuntu in particular), so the Surface Pro's high resolution display makes for tiny text. There are some work-arounds like setting custom font sizes, but none that work well.


The very newest models seem to have quite a few issues with WiFi/BT and touchscreen support. This is not really acceptable for a development machine, or for that matter a tablet. A lesser issue is that most Surface devices do not support plain old ACPI standby in hardware; rather it's replaced by something called "Connected Standby" where the OS is tasked with minimizing power drain. Support for that is also lacking AIUI, but at least we can expect this to improve in the future.


Apple missed the boat on a tablet running macOS. It's pointless to even try and fill the gap created by their mistake. Because when I boot my device, I want to get to work ASAP rather than configuring 10 things.


I’ve found an iPad Pro to be perfectly acceptable for web development.

Working Copy is an excellent git client, and combining it with Textastic proved a good workflow. Textastic allows you to add any folder, including a Working Copy repo, as a source in the file browser, so no more swapping files between apps.

Using this, I built my personal portfolio site with Jekyll while commuting on the tube.

Other apps are available: DraftCode provides a full PHP/MySQL stack, I got Django running on Pythonista, found iSh could run Bundler and Jekyll and got a long way towards getting Rails working. Also Processing runs, well, Processing. Play.js does react and Node and Continuous does .NET and C#.

There are also Vim and Emacs apps, though I don’t know how good they are.


Thanks for mentioning that you got Django running on Pythonista. I just spent a few minutes web searching and fiddling and now I have a small Flask web app running on my iPad using Pythonista. There is no hot reload, so if I change code I need to restart the Flask app and then refresh the web page on Safari. I had no idea this was possible, or that there was anything like StaSh.


So... this is just another one of those "create a remote server to use as the main development machine"?

What if I want to work in areas of little or rubbish connectivity?

Tools such as docker, etc don't exist just to run things on a remote server.


Lightbox, VSCode, or an •XCode Light” is needed. Anything else to me is just a terminal app.

Code editing, highlighting, syntax checking, and a compiler. The iPad is pretty damn powerful, but Apple just won’t let it off the leash.

I bought the gen 2 pro in 2017, and while it’s a fantastic iPad, it sucks for doing work. I should have just gotten a Mac laptop.

And that disappointment is completely due to software - the hardware is fantastic.


And all you really need for development is relatively cheap ThinkPad laptop.


I've been using an iPad Pro (2018 12.9") as my main/only computer for 2 months on a sort of vacation. With the Apple Pencil 2, a detached bluetooth keyboard (because it's sometimes easier to keep it to the side instead of front, especially when working with the Pencil) and the Smart Folio to keep it upright.

It's generally surprisingly capable for a vast number of tasks, and I love using this in bed/on the couch/outdoors more than a laptop, but iOS remains the biggest hurdle. Too many limitations and quirks, and it's frustrating that you have to wait for a year at a time to receive any major changes.

I even tried brainstorming some coding ideas in Swift Playgrounds, but gods it's terrible for that. You can't even really `print` some simple output without awkward UI fumbling as there doesn't seem to be a "console" window without creating views.


Isn’t it easier to just carry a MacBook Pro 13” instead of an iPad, folio keyboard, pencil etc? You basically making it harder to carry and lose a lot in terms of productivity, since you were working anyway on your vacation


I actually sold my last MacBook before going away and got this because I loved the form factor and wanted to try it.

Now I've decided to keep it as a secondary display for my next Mac, which might be a Mini:

https://lunadisplay.com/pages/using-luna-with-mac-mini


If you frequently use your iPad to access remote servers, check out Fredericco's post[1] at Macstories: there he mentions using FileExplorer[2], which lets you access and copy files to and from remote servers (SCP, SMB, etc) without leaving Apple's Files app.

1: https://www.macstories.net/ipad-diaries/ipad-diaries-using-a... 2: https://itunes.apple.com/us/app/id499470113?at=10l6nh&ct=ms_...

---

My iPad Pro has been my only computer for nearly a year, and I miss my Windows Machine and VMs. Some things that help me make do:

1. a VPS with a VNC server installed: I connect with Screens and, for example, can use Firefox's Dev tools. Performance could be better (I'm a ways from my VPS), but it's much better than nothing.

2. A Google Pixel 2 (or any Android phone) + a USB-C to USB adapter. This lets me put files on a flash drive, or even write Linux ISOs. I've found that, in a pinch, I can often do on my phone what I would have used my desktop to do.

3. Termux[1] was mentioned here recently, and I installed it, then loaded vim and tmux. SSHing into my phone from my iPad, I have lightning fast (low latency) Linux environment. Have just started using Termux, but for those with similar setups (iOS + Android), it may be worth a look.

4. Exploit the iPad's strengths. LiquidText[2] is, as they say on the site, "Better than paper". It's been revolutionary for reading my PDFs and extracting and connecting and cross-referencing information in them.

1: https://termux.com/


Why would anyone use iPod Pro as a development machine, when Google Pixelbook is of a similar weight, size, power and price, and comes with a standard keyboard and a native Linux support built-in? Tablets are for consumption, not creation.


Maybe because Pixelbook is on its way out.

In any case I do agree, only 2-1 and laptops are viable propositions for coding on the go.


> Tablets are for consumption, not creation.

I agree, but it’s worth pointing out that Tim Cook doesn’t see it that way.


I still prefer using my Laptop in most cases, connect it to a nice big 4K screen at home and the office. I also love my iPad for the usecases it is great at, like taking notes and casual browsing/reading but i would not want to use one device for all. If you do that, a Surface Pro is arguably the better choice.

A lot of apps offer seamless syncing which makes using multiple devices really easy. I can throw PDFs on my iPad via Airdrop, annotate them with the Pencil in Notability and see the changes synced immediately back to my Macbook with Notabilitys icloud sync.


Well I don't want to be a prude here but if you want to develop on an iPad pro, just get a surface?


I don't think the remote workstation idea is a bad idea. For me, in order to be a proper development machine it would need to have a fully local IDE with a remote terminal so I can run docker, test cases, database commands, etc.

The VSCode Docker image recently discussed is a huge next step if the input and scroll were to be fixed.

I used to use the dev version of cloud 9 on my VMs and code in the browser. It worked really, really well. Getting that right for the iPad would be quite exciting.


I'd like someone to build a service and offer native apps for Windows, Mac and iPad, with the data stored on the cloud. Everything should work offline and on flaky networks, with zero latency. Sync should happen in the background.


literally can't wait until the scroll and input get fixed


machine? more like a gimmick. machine is what you remotely connect the your pad to to handle all the heavy lifting


I still have trouble taking developers in the Apple walled garden seriously, this kind of article certainly doesn't help their credibility in my mind.


I could still see something like this as the future of development in some ways -- powerful pro workstation level resources somewhere off in the cloud that you connect to via a super portable client. Maybe even over 5G or some other next generation wireless technology to truly enable an untethered development experience that's not limited by local resources.

But that continues to feel like something many years away.


I have been using a similar setup for a while (I use Ansible and Azure ARM templates to provision my remote machine), and it’s pretty usable for back-end development if you’re used to vim+tmux.

It’s not a mainstream solution, though, and for other kinds of development I’ve found that Jump Desktop and the Citrix X1 mouse (https://taoofmac.com/space/blog/2016/11/06/1930) are a great alternative—I can VNC or RDP to a Remote Desktop via an SSH tunnel and run literally anything (mostly VSCode and Firefox).

Doing fully local development with the likes of Working Copy and Textastic is also quite feasible (at least for back-end stuff), but it’s always a pain to test and compile stuff.

Things are getting better (https://github.com/holzschu/Carnets lets you run Jupyter notebooks locally, which is awesome), but we’re not quite there yet.


No way Jose! I am about to update my iOS app, for both iPhone and iPad. I need to add some sounds. That means find an online library, get/buy the sounds, then use Audacity to tweak them. Then watch some Udemy video-classes I bought, then take screenshots/notes and star updating my SWIFT code. The only thing I am doing on my Mac is to type the code on Xcode and run the simulator (and then ofc pack, sign, and upload to Apple).

Everything else (downloading, tweaking sounds, watching classes, reading on Apple's Feb resources, etc. I do on my Windows laptop. I do have an iPad, but it is as good as a video player/kindle. Perhaps I am just lazy and don't bother to learn how-to-ipad-everytbibg, but a PC will always (imho) be more useful than most other alternative options out there.


There needs to be something along the lines of the iron law of wages, but for developer machines. Something like:

"If you are unable to run the tools needed to further create software on the machine itself, then said machine cannot be considered a developer machine."


About 6 years ago I set-up my HP Touchpad running linux and tried to use it as a development machine.

It was running ArcLinux, node 0.4 (if I remember correctly).

I'm not going to suggest that this was the "future of computing" and I put it away after playing with it for a bit.

I'm not an Apple user and don't have an iPad (pro or other) but I do think we will move away from "pc" needed as your development platform.

At one point we would have said that a notebook wasn't good enough for development, you need a "real pc" (desktop) for development.

With AR/VR we'll move into completely new realms of interfaces for development, I wouldn't rule out a tablet as one of the form factors of the future.


I love these articles. I know they’re frequent and always come with the same caveats but I dream of the day I can effectively work from an iPad Pro. I have no idea why, it’s completely impractical when I have a perfectly good laptop. I just want to.


I've been using my Openmoko Neo Freerunner as a real development machine back in 2008, with no remote desktop tricks - although the screen could have been a bit bigger, it wasn't that bad. Come back when you reach that :P


Reading this and thinking about the Visual Studio Code server post the other day.


You might find interesting those two articles by Mark O’Connor written over 7 years ago

I swapped my MacBook for an iPad+Linode http://yieldthought.com/post/12239282034/swapped-my-macbook-...

iPad + Linode, 1 Year Later http://yieldthought.com/post/31857050698/ipad-linode-1-year-...

I followed his steps and enjoyed this approach much.


Interesting, but I couldn't do much serious work without external monitors and a great keyboard. I just need the screen real estate and a professional input device to be productive.


The iPad supports external monitors and keyboards.


Thanks, I didn't know about he monitor support.


No mouse support though.


I know this probably doesn’t add much to the discussion but I did want to say that I love submissions like this, and I love the enthusiasm behind the project.


I have a Gemini PDA phone that I've used to recompile the Linux kernel. It takes 4-5 times as long as compiling on my laptop, but sometimes it's easier than cross-compiling.

I rarely use my phone as a development machine, but when I do, it feels more authentic than using a remote workstation. It heats up because the local CPU is really working. Occasionally I find myself shelling into the phone from my laptop....

[edit, typo]


Using apps that support Open In Place has been magical. I now use my iPad 24/7. Terminus is really great and although I was hesitant to spend money at first I just think the app is so well made. Mix that with Working Copy and it’s so easy to edit files on servers and redeploy.

Pythonista (though I’m not python person) is always great to have especially with the new keyboard. Scriptable is also magical.


I didn't like that it was a long article, and the author ended saying effectively “nope.”

With fine iPad native IDEs for Haskell and Python, some local development is possible. In the future with using the USB-C port to dock to monitor and keyboard, then we get a little closer to a “not nope” answer to the author’s question.


I can understand why some people might think this kind of setup is crazy but I actually do this with my Android tablet. With the Termux I can have Rust, Python, Neovim etc installed locally. I only ssh to my desktop if I need to do something CPU intensive. I am regularly surprised just how well this works.


I wouldn't feel confortable putting my secrets in a remote server with a public IP (IPv6 might be a better idea as it's less guessable).

Also seems a bit over-engineered, I would just ssh into a server and do everything from there as a normal user.


This is a great article, it got me thinking on better uses of the iPad and the whole setup on a virtual machine using terraform, docker, etc is also a good way of thinking on how to work remotely. Thank you for sharing.


I think I’d rather go with a UMPC, I’d love to see a 2019 Toshiba Libretto but the GPD Pockets look interesting. I think I’d be happier if it had an ARM processor.


This article gets written every month or so at this point.

And they are always using the wrong setup (SSH to remote server with Blink & Mosh). If you want to edit and run code on an iPad (god knows why), use iSh.

It's a userland x86 emulator that will enable you to work offline. It's TestFlight only at the moment, or you can compile it yourself if you have a mac and Xcode.

People who do this kind of thing are like those people who change their linux distro every other month, they are in search of distraction, not productivity.


tmux tip: You can press prefix+D to show a list of connected clients. From there, you can choose one to disconnect.


That looks like ergonomic terror


Honestly i just want MacOS on an iPad Pro, the apple equivalent to the Surface.


Basically, and macbook air with touch screen...


TLDR (quoting the article which I think buries the lede): "Obviously, there is no way to develop on an iPad Pro."


Didn’t we do this 3 years ago with the non-Pro iPad?


Thank you for taking the time to write up and share your experience with this experiment, Fatih. I enjoyed reading it.


I purchased a Pixel Slate (running ChromeOS) and couldn't be much happier. It replaced both my portable laptop and iPad. I'm surprised people here don't talk much about this tablet that runs full fledged Linux!




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: