If you have me in your Circles on Google+ or follow me on Twitter then you have probably already seen the article I want to talk about. If not, why are you not following or circling me? You totally should! It’s like reading spoilers for Terminally Incoherent blog posts… Plus poop jokes.
Anyways, I have been doing a lot of writing and thinking about mobile technology. Clearly, portable computing is the future. The age of the desktop already passed, and traditional laptops are currently entering their twilight years. Pretty much everything that is not paper thin, and has a old-school spinning hard drive is to bulky to lug around.
I love my MacBook Pro but whenever I take it out “on the road” I find that it is not as portable as you would expect it to be. After about 4-6 hours of happy mobile computing I always find myself in a desperate need of a power socked to witch I need to tether myself. Compare that to the iPad which has a battery life of more than 10 hours. I charge that thing about once a week, and when I do I can stick the cord into any available USB port. The MBP needs to get plugged into a wall every day.
Clearly one of these devices was designed to be more “portable” than the other. A laptop (not just the MacBook – this goes for all the laptops out there) is more of a portable desk-top machine if think about it. You get to the office, plop it on a desk an start working. Then you fold it up, go home, plop it on another desk and work some more. Despite the name, keeping a laptop on your lap is not the most comfortable way to do computing. I mean, it can be done, but it will fuck up your hands after a while. The keyboards and touch-pads on those machines are not meant to be used from your lap.
A tablet, on the other hand was specifically designed for that type of work. It has the battery life, the form factor and the touch based UI instead of a mouse which prevents you from contorting your hand into a weird, unnatural position to click on things.
So a natural thing to ask is: could you work off your tablet? Could an iPad act as your primary workstation?
For me the answer was always no. An iPad cannot replace my laptop because it cannot run the tools I need to do my job. Even if there exist iPad versions of Vim and Python they do not meaningfully interact. Without file system, a working implementation of Git or the ability to install a web server I would not be able to do my job using it as a primary tool. I could use it as a lightweight email reader, but that’s about it.
For real work, I still need an actual computer. Something running a traditional OS. Something that can at the very least approximate the destination production environment towards which I’m developing.
But… Does this “actual computer” need to run on the machine I carry with me? Could an iPod be used as a thin client that connects to a remote system that lives somewhere else? Like at work? Or at my house? Or in the cloud?
Well… I don’t see why not. In fact, I’m not even sure why I haven’t done this already.
About a year ago a guy named Mark O’Connor has swapped his MacBook for an iPad and Linode. I highly recommend you read that article, because it is both inspiring and fascinating. Much like me, Mark is a user of Vim, and a person who is quite comfortable living on the command line. People like us run graphical environments mostly for stuff like Web and Email (because browsing the web in a text browser really sucks). We both chose MacBooks mostly because they had a fully functional Unix shell in a nice, hassle free UI package that surrounds it. Our real work happens on the terminal, and the other stuff (email, web, etc…) happens outside of it. They are basically expensive hardware and software shells that surround our primary work environment. But there is no reason why we would need to run said environment locally. There is no reason for the CPU that compiles and runs my code to be in the same physical location as me. As long as I can see the output, and there is no input lag, I don’t care where does that CPU live.
Mark has been using his iPad+Linode combo for close to a year now, and he reports no significant issues with the setup. At first he treated the whole thing as an experiment, but now it has become a way of life. Apparently the 3G connection by the way of a tethered iPhone is fast enough to run iSSH reliably and without much lag or hiccups. That said, he does live in a country with pretty decent cellular coverage. We Americans have to struggle with cell networks that barely approximate third world coverage. Still, this is quite impressive.
If you are curious about Mark’s setup, he described his entire stack and configuration here. For what it’s worth, I would use Tmux instead of Screen, would not need VNC access and of course use my own .vimrc. Other than that seems like a pretty decent set of suggestions.
Needless to say, I’m really tempted to try this. Probably not for work, but for my hobby projects. What appeals to me about it is that it marries the old school with the new. A perfect synergy between a command line / vim geekery and new and shiny ultra-mobile thin client. The way into the future, via the good old tried technology of the past.
What do you think? Have you ever tried a setup like this? Let me know in the comments.
Ever tried this? Rooted Android. Cross compile everything you need. Use it like any other Linux system.
I’ve played around using my iPhone and iPad tunneled over ssh to my BSD server at home, but I don’t spend nearly as much time in the terminal as you.
I can suggest a great ssh tool for iOS if your are looking for alternatives to iSSH.
Prompt by Panic software:
http://panic.com/prompt/support.html
Very nice, powerful, well designed ssh client. Been using it since it was released and have been very happy, although I had some problems connecting to servers that did not require a password.
I tried using an Ipad to replace my normal computer. It worked well for casually surfing the net, listening to music, or watching online videos. Trying to do actual work on the thing was a pain in the but.
I’ve been doing this with my Asus transformer prime since I bought it in january. The keyboard and battery life are great. I’ve been using terminal IDE for its excellent terminal, and connectbot for its ability to forward ports for androidVNC and 2X client RDP.
Task switching takes some getting used to since some apps minimize to the taskbar while others require you to press the task switch key.
So far I’ve only had one problem: the terminal is UTF-8 only and I had to edit a remote php file which contained german text in ISO-8859 :)
I’ll give you that typing with the laptop on your lap is not the most wonderful experience. That said, neither is typing on a tablet, unfortunately – particularly if you’re waiting for the SSH connection to transmit your input over 3G.
I’ve toyed with a few tablets, both pre- and post-iPad, but I’ve realized fairly early after getting my first laptop that what I really want is not a tablet, but to use my normal GNU/Linux (as opposed to Android/Linux) environment on a laptop, and then simply detach the screen and use it as a tablet (for say, reading PDFs, watching videos, etc, not Real Work™).
This isn’t anything new, of course; the first tablets were laptops with screens that reversed. But that was cumbersome, bulky and heavy.
Thankfully since the iPad, it has become possible to build something more like what I desired, and hybrids like the XPS 10 began to appear, which is very exciting. I’m hopeful that something decent and within my price range will be available in a couple of months, just in time to replace my aging laptop.
@ Morghan:
Well… I don’t own an Android tablet. I do own an iPad. So…
@ Garrick:
Very nice. Thank you. I will definitely be checking it out.
@ Eric Daum:
Right, that was my experience too. The thing is, with this setup there is an actual computer on the other end of the line. So the tablet becomes just a touch-screen, and you would be using a Bluetooth keyboard to interact with the shell.
@ AP²:
Yeah, I don’t think I would ever want to do any real work over 3G either. SSH over Wifi though is mostly reliable. Especially on short trips – I can usually ssh my home server, my work and school boxes and my Linode box without much issues (Linode happens to have a data center literally about 15-20 minutes drive away from where I live).
And yeah, I see more and more of these hyper-thin laptops that try to ape MacBook Air form factor. I think what we are seeing here is convergence:
– Tablets become more powerful and versatile to be more like laptops
– Laptops become thinner, lighter and run longer to be more like tablets
Microsoft already seen this, but they over-shot the target a bit by gearing Windows 8 to be all mobile all the time. Then again the Surface Tablet might actually hit the sweet spot and be exactly what people need – a tablet like device that actually runs full blown OS (er, I think). I guess it remains to be seen how well that device will do, and if this trend will catch on.
Still do a lot of offline dev myself, so this would never really work for me.
And I don’t know how to work with only one screen anymore either.
And NZ 3-G is almost certainly worse then the states, and way to expensive for me, to consider this.
Wouldnt mind a tablet for checking mail thou, but I have aquired a fair bit of mutt bits and pieces to make mail suck even less. Via ssh maybe too?
Compiling on a quad core linode instance, and long running (but computational expenisve) process does sound compelling anyway.
git pull; make sounds win