[Imported from Tumblr]
Not Maintained: This blog post is here for historical purposes and is no longer maintained.

I recently did something a little crazy. I am a professional web developer, and I decided I was going to move all of my development to the cloud. This paradigm that has brought so much convenience into every corner of my life was going to close the final gap. It took me a little while, but I have 99% percent of what I had going on my Macbook Pro, so here is my setup.

Linode

I tried a few AWS boxes at first, but in the end I wound up choosing Linode. Feel free to use the host of your choosing, or host your own box if that’s your cup of tea.

I set up an ubuntu box with a ruby on rails dev environment. The only thing that I had to set up out of the ordinary was XVFB. This is because I have browser tests that run and need an X server even though it is headless. One snag with this, after you get XVFB running, don’t forget to tell your application which display to connect to (for me it was setting the $DISPLAY environment variable).

JuiceSSH

On my Nexus 9, I chose JuiceSSH as my SSH client since it has a nice UI and makes ssh tunneling easy.

First I set up a normal connection to my Linode server, follow the instructions that linode gives you.

Next you need to tunnel your dev server port. JuiceSSH makes this easy, just go to your connections and swipe left. Then you will be able to access the dev server of your website from your android.

External Keyboard Helper Pro

You will need a bluetooth keyboard of your choosing, the keyboard case is good if you are on the go, but I am much more comfortable on a slightly larger keyboard.

Like many developers, there is at least one key on the keyboard you will need to remap. That key is caps lock. Since all developer’s know caps lock is supposed to be control, this one is a no brainer.

This is pretty easy to do.

On the keyboard case for the Nexus 9, it is a search button. I haven’t found a way to remap it yet, but if you are able to I’d love to hear from you.

What’s missing?

  • Chrome Inspector

Remote Chrome Inspecting works fine if you are trying to debug a phone, but what if you are making your tablet a dev environment? There needs to be a better way to inspect a page from a tablet.

  • Remapping Search Key => Control

This one is just silly. I can remap any key with External Keyboard Helper Pro, but the search key is above it. It has some super powers that make it refuse to be remapped.