Wednesday, 31 July 2013

How one software developer lived entirely on Android

I made the switch to an (almost) entirely Android environment, and you can too.

Over the last few months, my household has become increasingly “Android-centric.” Between my Nexus 7 and my Samsung S3, roughly 90% of my computing needs (reading news, email, messaging, etc.) have been taken care of. Even my game console and TV have become Android-powered (with mixed results).

This got me thinking...

Would it be possible for me to live entirely on Android devices? This ends up being a pretty tall order, as my “work life” is pretty all over the map. In order for this to be viable, I need a way to build Linux, Windows, Mac and DOS software, as well as do general web development, write and do some graphic design for my comics.

Basically, I'm asking my Nexus 7 to be a complete desktop PC replacement – which it was never really meant to do. No PC. No Linux (other than within Android). No Windows. No Mac. No laptops. No desktops. Just Android tablets and phones.

Want to know something crazy? It worked. And it worked really, really well (at least for me). Here's how I went about it.

For my graphic design needs, I make use of Photoshop Touch (for general layered design needs) and Pixelesque (as I do a fair bit of pixel-art). Neither is perfect - Photoshop Touch, for example, has an astoundingly under-powered Text tool - but both are pretty doggone good.

For my writing, things get really simple. There are plenty of Office Suites available within the Google Play store – some are even completely free. But, for me, I ended up just using good-old Google Drive. It’s not the most feature-filled word processor on the planet, but it has served my needs well. And having all of my documents always available on every device using the same interface? Glorious.

Which brings me to software development.

This one seemed like the biggest potential problem to start with. Is the screen large enough to edit large quantities of code? How about for GUI designing? Are there tools even available to build desktop PC apps on an Android device? Do these little devices have enough horsepower to handle this?

That's when it dawned on me... remote desktop. Here's how I approached it.

I got myself a virtual private server from a hosting company. You can find a decently powerful rig (2+ gigs of ram, lots of storage, etc.) for pretty cheap. I'm currently paying around $30 bucks a month and have a server running that I can dual boot Windows and Linux (actually triple boot: openSUSE and Ubuntu) and connect via VNC, Splashtop or RDC (depending on my mood and which protocol is fastest on any particular system).

Then connect a USB or Bluetooth keyboard and mouse (yes, Android handles mice just like any desktop computer operating system) and you've got a desktop replacement in every sense of the word. You could say that I'm not really “living in Android” if I'm remoting in to a non-Android system to do some work, and you'd kinda-sorta be right.

But, in practice, that works quite well. Is it as fast as having a dedicated, brand-new, dev PC sitting on my desk? No. Certainly not. But it's close, and for most purposes it’s definitely fast enough. And the benefits far outweigh the downsides.

The big benefit: I have my full dev system with me wherever I go. My phone. My tablet. Anywhere. And the screen resolution on newer Android phones and tablets is pretty comparable to that on any laptop you might get – heck, the Nexus 10 has a 2,560x1,600 display. That handily beats my primary monitor on my desk.

Some other benefits:

I don't need to buy a new PC.
I don't need to pay for power for a big PC.
I don't need to find a place to stick a PC.
When I want a new, more powerful, development machine... I simply upgrade to a new virtual private server with any hosting company I like. (I keep everything stored in Dropbox and GitHub... so moving to new machines is just a few-minute process.)
If I need desktop PC functionality for any other reason... it's right there, ready for me to use.

Approaching it from this angle makes me mobile. Very, very mobile. I'm also not tied to any particular device. For a guy like me, that means a lot.

So, it works. It provides me with all of the functionality of having a dedicated tower PC sitting on my desk, except it’s more mobile and flexible.

But what about the financial side? How does that compare?

The only additional cost for me is the dedicated server, which is currently running $30 per month. This can range from $15 to upwards of $100 monthly, depending on your needs and choice of host. Assuming I stick with the $30 server (which is working thus far) my total cost for my dev server is $360 per year.

Let's say you upgrade your PC every three years. If you would typically spend more than $1,080 on a new dev machine... you’re saving money by simply using a remote server (especially after you factor in power). If you'd normally spend, say $600 bucks, well then having a remote server is going to be more expensive for you during a 3-year cycle.

Another variation on this would be to buy yourself a little cheap, low-power PC (such as a higher-end Atom powered Net-top rig) and let that be your dedicated PC that you remote into. That would save a few bucks overall.

For me, this approach saves me money – though only a little, especially after you factor in any accessories (like portable Bluetooth keyboards and such) – and makes me more portable, which is a big win.

In short: Is it possible for most Software Developers, Writers and Artists to live entirely on an Android device?

Yes, if they're willing to have a remote PC somewhere to pick up the slack.

Best Microsoft MCTS Certification, Microsoft MCITP Training at certkingdom.com

No comments:

Post a Comment