
Coding on an iPad Pro in 2019 - benryon
https://andrewbrookins.com/technology/coding-on-ipad-pro-2019/
======
a-ve
This seems like an exercise in masochism. Why would you want to code on an OS
targeted for smartphones and without any native compiler support?

To those who want LTE connectivity, I don't think you know there's a device
called the Thinkpad X1 with this functionality built in.

Or is it that coding on tablets is considered "hip" these days?

~~~
voltagex_
I dislike Apple, but one thing I'll say in their favour is that I can wander
into any Apple store and get a replacement device when it breaks (or maybe
even a repair if I'm lucky). Lenovo, on the other hand took weeks to get back
to me and then quoted $400AUD to replace the display backlight - with someone
else's name on the quote.

If I've got LTE connectivity, I'm probably going to remote in to some other
box with a lot more processing power, rather than code on a limited
laptop/mobile processor.

~~~
groby_b
Have you actually brought a device to be repaired within the last few years?

They take it in the back to diagnose it, come back with a sad expression and
tell you they need to send it in, and you can pick it up in a week. (And
that's not even mentioning the fact that most Apple stores are a zoo, and you
can easily spend an hour waiting for your 'Genius' appointment)

~~~
cageface
They wanted to take my 2017 MBP for a week to replace the faulty keyboard. I
was forced to buy a new machine because I can’t afford to be unproductive for
a week. Having a $3000 machine sidelined for a week by a design flaw that
oringinates from Apple’s obsession with making pretty and thin devices over
any practical considerations means I will be taking a very serious look at a
windows laptop for the first time in over ten years when this MBP is due for
replacement.

~~~
Joeri
If your laptop is that critical you should have a spare on hand. My advice
would be to get that windows laptop now, so you can dip a toe in without the
pressure of switching completely.

If it’s a secondary device it also doesn’t need to be as expensive, just good
enough to get the basics done. E.g. you’re probably fine with i5, 8gb ram, 256
gb ssd, which in windows land means you can get an ultrabook form factor for
around $1000. If you haven’t used windows in a while, get a 2-in-1 touch
screen model to get the full difference in experience windows has on offer.
It’s interesting to have a machine that can switch from full windowed
development environment to ipad and back again with a flip of the lid. (Note
that I said interesting, not flawless.)

~~~
llampx
So basically buy a second Macbook Air or something that costs the same as a
Macbook Air. Got it.

------
hessproject
This is the reason I ditched the iPad for a Surface. Windows isn't my
preferred environment but the ability to run my normal tools (IDEs, command
line tools, etc) really was a game changer.

iPad Pro is great for creative workflows, but it's a shame it leaves
programmers in the dust. It would be really great even to see something like
XCode come to iOS

~~~
abrookins
I own a Surface device, an iPad Pro, and a Macbook Pro. While I write code on
all of them, macOS is still the king of development environments.

On macOS, you can just work. That's what the end goal should be in other
platforms. I doubt iOS will ever get there. I mean, how are you supposed to
copy and paste code from Vim running in tmux inside of Blink? With your
finger? Hell's bells!

Windows is just too weird. If you compare them strictly from the perspective
of using Vim, Windows is better than iOS. You can use Vim from WSL or a VM in
a nice Linux terminal like Tilix running on a Windows-native X server. Boom,
Vim is running right alongside your Python interpreter, $GOPATH, etc., and
copy and paste works. (Let's set aside the fact that WSL is crawling with
problems.) But if you use Windows, you'd kind of expect to be able to use more
than Vim, right?

That ends up being a pit of snakes... multiple Windows-native X servers I've
tried have problems rendering Intellij, and I've tried to get native Windows
editors like VS Code to work smoothly with interpreters hosted in WSL or VMs.
Only Intellij can really do it properly, and even then it depends on the
language. It ends up being just another distraction.

Then there's running Linux desktop on a VM in Windows 10. I don't know how
other people do this. Even with a beefy machine with two GPUs, no modern Linux
window manager is performant enough to use. If you can find one like xfce that
is fast enough, you end up having to manage the scaling on individual programs
when you switch between high DPI and lower DPI displays. It's bananas!

So purely from the perspective of access to any tool you want to use and
limiting distractions, macOS is still the best. I'm rooting for Windows, but
only because I have a 2017 MBP and the new keyboards are painful to type on.

~~~
philliphaydon
I don’t find OS X any easier than windows or linux. It all just works. And
never had any issue running linux in a vm on windows.

I think at the end of the day it’s all personal preference. I prefer windows.
But have no problems in linux or OS X. Granted I won’t be buying another
MacBook anytime soon. Just switched to Lenovo.

------
makecheck
Programming is not just about programming tools, it is about the OS
environment.

I prefer being able to arrange things _anywhere_ , and the iPad has always
bugged me by rationing shared-app screen space as if I’m a child (you get _up
to this fraction_ of the screen but it must be arranged only _“here”_ ; or,
you can picture-in-picture but only the specified way; etc.). My first iPad
was wonderful for web browsing until web sites started doing exactly the same
rationing, “locking in” some arrangement that they deemed appropriate, to hell
with my preferences. Even the iOS launch screen is irritating, with icons
wastefully arranged in a specific way that looks like no desktop I have ever
had; and the Files app is not much more useful for navigating. The OS is about
5 years overdue for a “put stuff wherever the hell I want” capability.

And unfortunately, basic editing is _also_ nowhere near where it needs to be
on iOS. No matter how many hacks they add, cursor movement is still simply
bad: it is way too hard to do the kind of precise changes I need to do. Pop-up
menus are overloaded. The keyboard layout is asinine: unlike a physical
keyboard, there is no room between the Delete and Return keys so I am
constantly committing things early that I am still editing. (In cloud-sync
apps like Notes, I occasionally _permanently destroy text_ because I
accidentally do something that is then screwed up on all other devices
instantaneously for my convenience. When entering something like a URL, I
regularly start “loading” an incompletely-typed address accidentally because
the keyboard thinks I said Go.)

Therefore, there is no way I would use a tablet until they essentially
recreate proper window, file and cursor management with full arbitrary resize
and effortless dragging and plenty of keyboard short-cuts. This feels like a
consequence of Apple perhaps splitting up the iOS and Mac teams too much: the
Mac did have quite a bit and it’s almost like they’re being told to consider
_none_ of it and just invent everything anew, no matter how long that takes.

~~~
wlesieutre
I don’t have any trouble with cursor movement, but text selection is really
awful a lot of the time

~~~
graeme
Have you used this two finger method?

[https://mobile.twitter.com/stroughtonsmith/status/1061198300...](https://mobile.twitter.com/stroughtonsmith/status/1061198300878135296)

I find apple has gotten bad at ui discoverability. There's a ton of ios
features I learned only through forums.

~~~
wlesieutre
That way is fine, just like the cursor movement, but unfortunately only works
on editable text. Copying text from web pages is where it gets really bad.

Some blame for this may belong to websites playing layout games with strange
arrangements of nested tags, but when it comes down to it the browser needs to
deal with that.

~~~
graeme
Oh right. Yes, text selection in safari is excruciatingly bad. I have no idea
how apple hasn't fixed this. Especially since the apple pencil, a precise
pointing device, _should_ be able to make precise selections.

------
0xADEADBEE
I'm struggling to work out why anyone would want to do this. Leaving aside the
other concerns, I personally find input via touchscreen pretty painful and
can't imagine being able to program at any real speed. It's entirely possible
I'm missing something though!

~~~
akerl_
I'd say coding using just a touchscreen would be terrible, but keep in mind
that tablets aren't limited to just the touchscreen. In fact, you can plug a
full-sized mechanical keyboard into an iPad (though the more common keyboard
is likely the smartcover.

~~~
zozbot123
> I'd say coding using just a touchscreen would be terrible

Text-based coding, sure. But the jury is still out for visual programming
systems, of either the Scratch (syntax expressed via custom "puzzle pieces")
or the LabVIEW (flow-based semantics) kind.

~~~
flukus
> But the jury is still out for visual programming systems

How many more decades of failure do we need before we decide the jury is in
and visual programming is a dead end?

~~~
threeseed
There are actually a number of highly successful visual programming tools.
They are just hidden underneath the veneer of something else.

[https://www.alteryx.com/products/alteryx-platform/alteryx-
de...](https://www.alteryx.com/products/alteryx-platform/alteryx-designer)

------
ulzeraj
I've crossed Europe and Russia by train while receiving emails and calls from
work (from Brazil) during 50 days and the only machine I had was a 2017 10'5
iPad Pro. I've ditched the laptop because of how light it was and also the
fact that it could connect to cellular networks with a SIM card. So I had a
browser, Slack, Fortinet VPN, ProtonMail client, Shelly SSH client, Textastic
and Working copy (git), TeamViewer, RealVNC and the Microsoft RDP client along
with some network debugging tools (ping, whois, traceroute etc). I didn't
needed any more than that.

Negative points about this experience:

My keyboard (logicool) didn't had an escape key having a home button on the
place of esc. I consider this beyond retarded. Also for some retarded reason
cellular functions like sending and receiving SMS is disabled even while using
a SIM card.

~~~
moises_silva
> and also the fact that it could connect to cellular networks with a SIM card

I never actually understood that. Everyone carries a cellphone, can't you just
do tethering? that's what I do anyways. I guess the only advantage of an iPad
with SIM is that is 'always connected' as opposed to click and connect to your
mobile hotspot?

~~~
int_19h
Tethering drains the phone battery very fast, and your phone is usually the
one thing that you want to die last on you.

But there are plenty of laptops with integrated SIM card slot and modem, and
the rest of them can be extended with the same via USB.

~~~
kartickv
For cellular on laptops and tablets to become standard, the networks should
stop charging us extra for another device. I wish I could just be charged for
each gigabyte of data without regard to which device is using it, just like
Google Drive storage is available to all your devices without a per-device
fee. As long as there's a separate fee, most people wouldn't want it.

~~~
bpye
Google Fi gives you a second SIM for free which is nice.

Doesn't help me at the moment though, every carrier in Canada seems to add an
extra fee for a second SIM even when I just want it to share the same plan.

~~~
int_19h
It's even better - Fi gives up to 5 extra data sims for free. This made all
the difference for me, personally - they go everywhere there is a slot for
one.

------
arvinsim
I will take the "inconvenience" of having to bring a "bulky" MacOS device
anyday over having to recreate my coding workflow just to accomodate the iPad
Pro.

I chalk up trying to code on the iPad Pro as one of those exercises akin to
tinkering/customizing on Linux. Interesting and fun but not really something
you want when you want your tools to get out of your way and just get things
done.

~~~
brianpgordon
> akin to tinkering/customizing on Linux. Interesting and fun but not really
> something you want when you want your tools to get out of your way and just
> get things done.

That's rich. I use MacOS for development out of mere inertia but my god does
it require a lot of tweaking work and pricey paid apps to become a useable
environment.

* Finder is the worst file manager I've ever seen. Gotta replace it with Path Finder.

* The command+tab/command+` distinction is ridiculous. Gotta buy Contexts so that you can switch between windows.

* The dock is a horrid workflow for launching apps and Spotlight is terrible. Gotta buy Launchbar.

* No on-screen window switcher without the Dock so I've set up dedicated hotkeys for all my apps. This requires jumping through some absurd hoops to do with Automator, or installing Apptivate.

* Windows move all over the place when I connect and disconnect my monitors. Gotta buy Stay.

* There's _no way_ to turn off mouse acceleration for USB mice. Gotta buy a third-party USB driver.

* The built-in firewall has no way to control outgoing connections. Gotta buy Little Snitch.

* How do you live without a clickable calendar on the menubar? Need to install Itsycal.

Etc etc etc, just to make it useable as a modern operating system.

~~~
ilikehurdles
It sounds more like you wanted OS X to be some totally different operating
system and refuse to learn the "OS X" way of doing things.

>* How do you live without a clickable calendar on the menubar? Need to
install Itsycal.

By moving the pointer to the right sidebar and clicking my calendar (or, more
often, typing calendar in spotlight). You can also swipe left from the right
edge of the trackpad with two fingers.

* Finder is the worst file manager I've ever seen. Gotta replace it with Path Finder.

Path Finder looks nice, but from my experience windows file manager is from a
prehistoric era, while some linux file managers are decent and some aren't.

* The command+tab/command+` distinction is ridiculous. Gotta buy Contexts so that you can switch between windows.

Why is it ridiculous? And contexts just sounds like a subset of what spotlight
already does. There are also gestures if you need to see the window overview.
Ie bottom-left hot zone for me is for seeing windows+recent docs of the
current application (it's called App Expose, also set to four-finger swipe
down), top left is Mission Control which is the global window switcher (also
set to four-finger swipe up). I mostly use cmd+tab/` or spotlight though.

* The dock is a horrid workflow for launching apps and Spotlight is terrible. Gotta buy Launchbar.

Again, how is spotlight terrible? I've never had a better experience in either
Linux or Windows launchers. I don't use the dock either, but there is
Launchpad as a visual+text way of launching and searching for apps. For me its
a gesture of pinching with thumb and three fingers.

* No on-screen window switcher without the Dock

Mission Control does that. I've set it up with the four-finger swipe up
gesture and also a hot zone in the top-left corner.

Also if you want a nice free OSS app for window tiling and arranging, I
recommend Spectacle.

------
jpmattia
For those of us married to emacs: I would love to know if anyone has succeeded
in using SSH on an iPadPro with a sensible mapping of the keyboard. Every SSH
I tried had some intercept of control sequences, which was fatal as far as I
was concerned. This was at least couple of years ago, so perhaps there's been
progress.

So far, the only usable iPadPro emacs is via uVNC to a graphical remote
machine, which does seem to provide unhindered transmission of control/meta
combination key events when using an external keyboard.

Pointers/corrections/tips/advice welcome.

Edit: Any reviews on ssh with Blink to a remote machine to run emacs?

~~~
colordrops
Why is everyone in this thread ignoring Android tablets? There are ports for
most command line apps, including Emacs. Try Termux.

~~~
a_e_k
I had the same thought.

To give an example and add some context: just last week I thought of a
possible bug and gap in the test coverage for a personal project. Within a Zsh
prompt, I pulled the latest revision from Bitbucket using Mercurial, used
Emacs (via the Hacker's Keyboard [1] soft keyboard) to edit the test suite and
add a couple of lines, then used CMake to generate a makefile for GNU Make to
build the project using Clang, and finally ran the test suite and confirmed
the expected segfault.

All of this was done locally (except for the pull, obviously) from within a
Termux [2] session on a sub-$300 Android phone. Granted, the full test suite
takes about 14x longer to run on my phone compared to my aging desktop and
it's tedious to type very much, but as the old saying goes: "The marvel is not
that the bear dances well, but that the bear dances at all."

[1]
[https://github.com/klausw/hackerskeyboard](https://github.com/klausw/hackerskeyboard)

[2]
[https://wiki.termux.com/wiki/Main_Page](https://wiki.termux.com/wiki/Main_Page),
[http://termux.net/dists/stable/main/binary-
arm/](http://termux.net/dists/stable/main/binary-arm/)

------
CJKinni
I haven’t looked into it beyond typing a couple of lines into the terminal but
I’m wondering how useful iSh will be for people trying to go down this road.

From [https://ish.app](https://ish.app) \- “iSH is a project to get a Linux
shell environment running locally on your iOS device, using a usermode x86
emulator.”

~~~
mbreese
I’ve been using this for the past few days on an iPad, and so far, it’s been
great. There are plenty of syscalls that aren’t working, but it’s far more
functional that I anticipated. In fact, playing with iSH on my phone for a
month or so is what convinced me to get the iPad at all.

I haven’t been able to try too much coding in iSH as opposed to SSHing out to
a server, but that’s one use-case that’s on their radar.

------
nickmain
Codea [0] provides a nice Lua development sandbox and will export projects
that can be turned into standalone apps via Xcode.

It is geared towards game development and is currently somewhat locked down
with respect to importing/exporting, compared to Pythonista. It does play well
with Working Copy [1] though.

[0] [https://codea.io](https://codea.io)

[1] [https://workingcopyapp.com](https://workingcopyapp.com)

~~~
steve_taylor
Codea is awesome. It has so many features and a ton of great examples. You can
build the app entirely using an iPad and then export it as an Xcode project
when you’re ready to distribute it.

------
akerl_
I actually just recently tried to use an iPad Pro for coding (more
specifically, I tried to not use my laptop at all for several days, fully
replacing it with an iPad).

My experience was that coding was definitely not as smooth as on my laptop,
but I took an approach several folks here have called out: using a cloud-based
VM and connecting to it remotely. I used the Termius app, which was pretty
solid.

I got my initial inspiration from
[http://yieldthought.com/post/12239282034/swapped-my-
macbook-...](http://yieldthought.com/post/12239282034/swapped-my-macbook-for-
an-ipad) (and the followup [http://yieldthought.com/post/31857050698/ipad-
linode-1-year-...](http://yieldthought.com/post/31857050698/ipad-
linode-1-year-later) )

~~~
cageface
It seems like in this case you're not really coding "on" an iPad and it's
really just more of a dumb terminal. Wouldn't any device with a browser be
just as good in this case?

~~~
wlesieutre
It’s a very lightweight device with an excellent screen, impressive battery
life, and the option for built-in LTE. But yeah, in terms of functional
capability to connect to a server and type stuff, other devices would work as
well.

Also an excellent tablet when you’re doing non-coding stuff.

~~~
cageface
Yeah I get the upsides but if the debate is really around whether or not an
iOS device can be used for real work I'm not sure this really makes the case.
It's also massive overkill to use such a powerful device as a web terminal.

I guess another way to state what I'm saying is that when the iPad first
launched there was a lot of speculation about what new kinds of productivity
apps would be enabled by a big, fast touchscreen device like this. So far the
answer seems to be "not many".

~~~
akerl_
I don't know that I can agree here. I use an SSH app to do programming, which
is largely "I type a bunch and run shell commands". I never expected that
touchscreens would take over my coding workflows.

By contrast, the iPad has been pure joy for basically everything else. They've
finally gotten multitasking support to what (for me) is an excellent balance
between allowing multitasking and helping me avoid context-switching that was
killing my productivity with my laptop. The support for diagramming / note-
taking is amazing, which is a big part of my daily computer usage.

------
devereaux
Better idea: coding on a Microsoft Go in 2019

Pros:

\- hardware: the keyboard is good, no connection issues, fast NVMe if you get
the 128Gb model, LTE option to be always on

\- windows: WSL, stable, good experience

\- linux: great support if you are using the linux-surface kernel branch (only
the webcams are not working - everything else works)

~~~
zozbot123
> linux: great support if you are using the linux-surface kernel branch

Meh, whatever. Is there any ETA for hardware support when using the Linux
mainline kernel?

~~~
devereaux
IDK. Ask around. Apparently the main kernel is also OK:

[https://www.reddit.com/r/SurfaceLinux/comments/94hjxv/surfac...](https://www.reddit.com/r/SurfaceLinux/comments/94hjxv/surface_go_first_impressions)

------
cgb223
If I could code on an iPad Pro, I’d finally get rid of my MacBook Pro.

I think that’s exactly why apple doesn’t allow this at all...

~~~
jlarocco
Can you explain the appeal?

As a long time iPhone and iPad owner, I find iOS intolerable and it gets worse
with every release.

Coding on an iPad would be like trying to prepare a 5 course dinner on a kid's
Fisher Price kitchen or building an intricate model with Duplo Lego bricks.
Maybe possible, but a terrible experience.

So what am I missing?

~~~
chipotle_coyote
I am genuinely baffled by "iOS gets worse with every release." If you wanted
to argue that iOS's approach to multi-pane displays, application switching,
and file management, should be _better_ than it is now, sure, absolutely. But
when I consider the improvements in the past few years -- the dock, split
view, drag and drop, file providers, Shortcuts -- I confess I'm not thinking,
"Man, I long for all the power and utility we had in iOS 6 that's lost to us
now."

I mean, yes, iOS is still by and large a terrible coding environment, there
are a host of long-standing complaints I have with other things both large and
small, and I don't doubt I could find a few weird little annoying regressions,
but I absolutely wouldn't want to run an earlier version of iOS on my iPad.

~~~
jlarocco
I don't write mobile apps, so I have no idea about the coding environment, but
the last several upgrades have consistently annoyed me. It seems there's a lot
of change for the sake of change; more things tied into iCloud and other Apple
services; upgrade prompts that prompt over and over and over and over again;
etc..

And then there are several annoying bugs they don't fix, like having to reboot
my phone after tethering my laptop (a Macbook) before I can tether again.

------
underwater
Why not use a Surface? It's built with a physical keyboard as a first class
experience, and you're not limited in what you can run. The only limitation is
the lack of a polished POSIX environment, but that will of course be missing
on iOS too.

~~~
mrkstu
Because that 'first class' keyboard experience doesn't actually let it work as
a laptop. You still need a stable surface to work on.

------
godid
I've had some luck using [http://continuous.codes](http://continuous.codes) to
write small C# and F# apps/games. I wish it were more actively developed
because there is so much potential there.

------
sudhirj
I’m doing the second setup mentioned a little bit. I have an iMac at home, and
my router has a VPN option that I use to SSH from the iPad.

I open all files remotely off the iMac, so Git and tools are not a problem.

The apps I work on hot reload in Safari in a side window. But the lack of JS
debug tools is a problem.

Basically it works fine for writing copy, project planning, code review, JS,
Ruby, but not so much for static languages (none of the editors use
autocomplete servers).

Keyboard is a problem, but because I use a mechanical keyboard on the Mac I
can carry around the Mac keyboard in my bag.

This works great if you have a dedicated machine at home, and want to carry
around a tablet for doing tablet things (books, Netflix, reading the web,
copywriting, UI sketches and some basic dynamic languages).

------
v-yadli
> Other than Python, I haven’t found any generally useful interpreter or
> compiler apps on iOS.

Haven’t tried myself, but this looks very interesting:

(A lighttable-ish .NET IDE for iOS)
[http://continuous.codes/](http://continuous.codes/)

~~~
abrookins
Ah, ha! I KNEW I had read about this, but couldn't find my notes on it, so I
didn't include it. Thank you!

------
mark_l_watson
I go through the minor pain of using my iPad Pro with Working Copy, Textastic,
etc. when travelling light, but my MacBook is the same weight and size as my
iPad Pro so sometimes I take that.

I tend to do all creative (writing) workflow, reading books, and almost all
web browsing on my iPad and just do development on a laptop. This makes me
want to travel with both.

For iPad native hacking, the Haskell Raskell app is very nice, but I only use
that for short bits of new code. Pythonista is a very good product, and I
appreciate it, but I don’t much like Python.

------
mwillsey
Blink (mentioned in the post) is a fantastic app. It's open source [1], or you
can buy it from the App Store.

Not mentioned in the post, Blink can do port forwarding with the usual ssh
tool (ssh -L 5000:localhost:5000 myhost.com). It also provides a shell-like
mode of interaction with the local file system and iCloud, so you can `scp`
files around between the iPad and your server.

[1]: [https://github.com/blinksh/blink](https://github.com/blinksh/blink)

------
reustle
The iPad Pro will become a viable "pro" device when they finally stop
artificially holding it back by not allowing a full version of Safari.

Edit: and of course mouse/trackpad support

~~~
FPGAhacker
What’s missing?

~~~
reustle
It is the iOS version of Safari instead of the desktop version. Sites often
opt for showing the mobile version.

~~~
kitsunesoba
This is fairly easily worked around for sites that look at the user agent —
just build a browser app around WKWebView and set its user agent to that of
desktop Safari, and boom, you’ve got desktop versions of most sites. There are
a few that judge which version to deliver based on screen resolution + OS, but
this can sometimes be worked around by injecting some JS to force use of
desktop stylesheets. There’s probably some kind of trickery you could use to
spoof screen resolution if needed, too.

~~~
graeme
Icab mobile does this. It's good.

The problem is, safari is better for a lot of things, and also has native
adblocker integration. Would be better to be able to designate a desktop user
agent in safari as well.

~~~
kitsunesoba
WKWebViews support the same JSON content blocking lists that Safari uses for
its content blocking extensions, so while you can’t support the same
extensions as Safari you could at least bundle block lists with the app.

~~~
graeme
By "you" you're referring to icab's developer and not me, right?

Firefox focus is the only third party browser I know of that has a native
content blocker.

------
a13n
> You Probably Can’t Run Your Code on iOS Unless It’s Python

What about JavaScript? IIRC React Native uses the JavaScriptCore engine, which
Apple offers to "provide the ability to evaluate JavaScript programs from
within Swift, Objective-C, and C-based apps". [1]

[1]:
[https://developer.apple.com/documentation/javascriptcore](https://developer.apple.com/documentation/javascriptcore)

~~~
ilikehurdles
There's also REPLete, a clojurescript repl for iOS and Android.

------
thisgoodlife
None of the online IDEs are as good as PyCharm. Don't waste your time and
money.

------
russellbeattie
Alternative title: "Hitting yourself in the head with a hammer, because it
feels so great when you stop."

~~~
chrisseaton
What's wrong with trying something out to see if it's ready yet? You're making
it sound like it's stupid to even see if something works.

~~~
flukus
> What's wrong with trying something out to see if it's ready yet?

It will never be ready, it's the wrong tool for the job. Trying to use the
wrong tool for the job is stupid, do you routinely try to hammer nails with a
screwdriver to see if it's ready yet?

~~~
delinka
Hammers, nails, and screws a pretty much set. They're not changing regularly.

An iPad becoming a laptop-replacement is happening - its progress is
debatable, but it's definitely changing on each iteration.

~~~
cageface
If anything it feels like it's becoming clear that iOS is not going to be a
viable OSX replacement for most professional use cases without a huge bump up
in complexity. At which point you have to wonder why bother with it at all?

Microsoft seems to have a much clearer vision here and anecdotally I know
quite a few people that have been Mac users for ages that have given up on
iPads and bought Surface devices because they can use them to do real work.

~~~
chipotle_coyote
I think it's very easy to take a narrow view of "professional" here. iOS may
never be a viable macOS replacement for programmers (although I don't think
I'd place money on that), but there are professionals out there right now
editing podcasts with Ferrite, editing videos with LumaFusion, doing
multitrack music sequencing with Beat Maker, editing photos with Lightroom
(and a host of other apps), writing Hollywood screenplays with Slugline or
novels with Scrivener -- and doing a lot of more "mundane" work that is
nonetheless absolutely professional level with Microsoft Office, Keynote,
OmniGraffle, and others.

What an iPad will absolutely never do is _mimic an existing workflow._ People
who try to do that are going to hit brick walls fast. I wouldn't be surprised
to see full-fledged programming environments on iOS in the next few years (and
to see iOS itself open up in possibly surprising ways), but I suspect they
aren't going to look much like the programming environments we're used to.

I'm glad people love their Surfaces. They look like great devices. And, yeah,
I wish I could do web development more easily on my iPad. But I'm a technical
writer and a fiction writer, do _both_ professionally, and have used the iPad
to do (gasp) real work in both fields.

~~~
cageface
It's clear that some "professional" work can be done on an iPad. Depending on
your use case it might even have some advantages compared to a desktop or
laptop. But for the vast majority of cases the iPad equivalent, if it exists
at all, is seriously underpowered compared to the desktop options.

And there are some fundamental reasons why I expect it to stay this way.
Mainly that touch is a very low resolution input mechanism but also that Apple
has utterly failed to create a healthy market for sustainable professional
software businesses.

------
xvolter
Since the best options currently rely on remote programming and browser-
accessed IDEs, has anyone tried using a remote desktop tool, Parallels Access,
TeamViewer, or VM software to simply remotely program? I can't imagine it'd be
great still…

~~~
duncan-donuts
I work with a guy that does everything in cloud9. It seems to be working for
him, but I’m not sure I see the appeal.

------
tonysdg
Is there a reason no one has built a Cygwin-like environment for iOS yet? As
in, is it because (1) it's time-consuming, (2) it's tricky, or (3) Apple won't
allow it on their App Store?

~~~
hulahoof
Based on the discussions[0] going on for the iSh x86 emulator[1] from a few
months ago I think its a combination of all three, but mainly (3).

[0]
[https://news.ycombinator.com/item?id=18430031](https://news.ycombinator.com/item?id=18430031)
[1] [https://github.com/tbodt/ish](https://github.com/tbodt/ish)

------
oblib
This really comes back to the very old saying; "Use the right tool for the
job".

That's not to say it cannot be done, or won't work in a pinch. It's just not
the right tool to use in practice.

------
benguild
Swift Playgrounds is cool.

~~~
asow92
I'm surprised the author didn't mention this. Playgrounds have a great deal of
flexibility and can be a great for prototyping or learning Swift.

------
lazyjones
If Node-red wasn't such a mess, had a better UI (less mouse/typing required,
touchscreen-friendly) and a proper native runtime on ios, I'd fancy using
it...

------
sbr464
Check out the Luna display device if you have a new iPad. It allows you to
stream your Mac to your iPad, works pretty well if you have a situation that
calls for it.

------
cabaalis
How is the experience with web IDEs like cloud9 or repl.it?

~~~
superfrank
I tried using a chromebook to develop about 12-18 months ago and tried both
cloud9 and repl.it.

I found cloud9 a bit annoying to use. It basically spins up an EC2 instance
for you that you are then connecting to, so you have pretty much a full file
system which was cool, but it felt like they were really pushing Lambda as the
way to go. Trying to run a bunch of dockerized microservices on a single
instance (which is what our infrastructure is) was possible, but it just felt
like an uphill battle, so I abandoned it.

Repl.it was much easier to work with, IMO. The problem I ran into was that it
worked well for small projects or prototyping, but became a pain if I had to
switch between multiple projects regularly.

IMO, both were cool and overall fairly solid, but there were just too many
little annoyances that piled up that I don't get with my current local
development set up. It just felt like I spent a lot of my time configuring
things or trying to hack things to fit my workflow.

That all being said, I'm not the most patient person with new tools and this
was a while ago, things might have changed or may fit your development style
better. I'd say they are worth at least looking into.

~~~
amasad
Repl.it ceo here. We've evolved a lot in the past 18 months, most importantly
we added priper file and filetree support! Give it another shot and email me
with feedback so we can get better.

Oh, and we have a big sprint coming up for better support for tablets and
touch in general.

~~~
epynonymous
i checked out your jobs site, that is the coolest thing ever, a command line
terminal with links as directories and files, very nice work.

~~~
amasad
Thanks so much! Please refer people :)

~~~
epynonymous
i will be referring myself and others, thanks!

------
epynonymous
i develop typically 3 types of things, backend rest services, web apps, and
mobile apps. for me to truly rid myself of my macbook pro, i would need the
following, or equivalents:

1\. the ability to start vm’s, preferably locally, i use these to run
persistent services like redis, rabbitmq, databases, etc. i have this
philosophy where my dev env needs to get as close as possible to the
production env (at least from a software stack perspective) which means linux,
yet it cant cost me as much as a production env. homebrew is great, but i try
to stay away as much as possible because it’s a little different from my
production env. accessing an ec2 instance or rds instance to access my
postgres database is a bit overkill, i want things fast during development, ie
local. sometimes i’m in places with no wifi or 4g coverage is spotty, this
would be a nightmare.

2\. i use visual code for all development, sometimes vi if i dont have a gui
env, visual code is lightweight and pretty solid. i’m not 100% stuck on visual
code, so if there’s some browser based derivative of it or wsywig for coding
then i’m good. visual code is written in electron so nodejs, so i dont think
it’s impossible. web development, html, js, css, this can all be done on an
ipad relatively well, all the browsers i need to support are available.
there’s typically no compilation that needs to happen, unless you’re using
nodejs modules on your frontend. i seem to remember some company providing a
cloud service that allows you to develop remotely, i think they were bought by
github/msft or someone. kind of an interesting area.

3\. backend dev, typically i use golang, this becomes a bigger problem, surely
i could ssh somewhere and compile, or use some x11/vnc-like tool since i
prefer a graphical ide, but that defeats the purpose of my 1000 usd ipad. it’s
not really a dumb terminal or thin client per se, i have enough compute power,
i want to leverage it. plus i’d need to be spending all this money on ec2 like
instances.

4\. xcode, this is another major issue, i’m stuck on xcode, sure i could use
xamarin, but i dont think that runs on ios yet either. if this were resolved,
i could strongly consider scraping my macbook pro.

sounds kind of interesting if there could be a monthly service that could be
purchased that provides you with remote dev envs without all the fuss of
installing, managing any of it. e.g. i write code in a browser ide, it gets
compiled in the cloud somewhere, deployed, and i can access it. i can connect
different services to it, and testing is fully automated. i think i’d consider
paying for something like this, but it’d have to be relatively cheap because
otherwise i might as well do everything myself locally. i’m thinking 5 usd a
month max.

i havent used chromebook, but i think it’s closer to a dev env than ipad pro
at the moment, i think you can even start containers and such on it.

------
bribri
I want a touch first drag and drop editor

~~~
kkarakk
many tried, many failed. even apple themselves couldn't get users to adopt 3D
touch after multiple years of very expensive engineering. probably going to be
removed from iOS devices next year.

your finger has 3 articulation points, your hand has 5 fingers. the touch
interface uses maybe two points out of all this complicated mechanism - it's
fundamentally frustrating to use. it's fine for when a phone is cradled
precariously on your palm/little finger but an iPad instantly makes you think
"why can't i have a mouse or something"

------
k__
Anyone tried Cloud9 on an iPad Pro?

~~~
ddoolin
Cloud9 shuttered once they got bought by AWS and now they're built into the
AWS console/ecosystem. I tried it but found it pretty terrible given a couple
shots at it. I found Termius + a development server (EC2 instance, much like
Cloud9 sets up for you anyway) much more reliable and easy to use.

~~~
k__
Oh I know. I use it for AWS development, that's why I'm asking.

~~~
ddoolin
I use it on the job when working in AWS with no problem, but it definitely
doesn't seem to have been developed with mobile strongly in mind. The
experience is stark.

------
subfay
Tedious post lacking relevant content. The answer is simple, you could code on
an iPad with a SSH client and a fast remote server. But because of lacking
browser dev tools it is nonsense. This is nothing new for few years now. iPads
are declining, check all the reviews, people find the hardware exceptional but
wonder what they should do with this device. Finally check Apple current share
price. Nobody needs locked down devices, especially not developers.

~~~
ipsum2
> But because of lacking browser dev tools it is nonsense.

Not everyone does webdev.

