Thursday, January 13, 2011

Textmate for iPad

Ahh, the iPad.  So fun, so beautiful, and yet so seemingly useless when it comes to doing actual work (aka development).  I've spent the last view days sorting through blog posts and reading app reviews in an attempt to discover if there are enough iPad apps available to make development on the go feasible (Textmate for iPad anyone?).

I tested out quite a few editors, ftp clients, and mysql clients in an attempt to simulate my desktop environment. To be a little more explicit I was looking for an app that would interface with an SVN repository (basic update and commit functionality would be enough for my needs, I wasn't looking to get fancy with diff or even revert, though of course they would be nice), and allow for editing of files locally on my iPad (preferably with syntax highlighting, though this also wasn't critical). I was also looking for some sort of terminal or ssh app to then be able to connect to a remote server and push any of my changes into production. Huge bonus points, of course, if this all could take place within one application.  After searching high and low and sampling quite a few apps, I discovered I can check out repositories and view, edit, and commit files, but not all within the same app.  Unfortunately, that means that as of yet there isn't an app that meets my needs - but here's a list of everything I sampled, what's great about it, and why it doesn't quite replace my desktop (yet).

PlainText

Description:
A basic text editor (add/edit/remove files and folders).
Interfaces with:
iTunes, Dropbox
What's great about it:
Very simple and easy to use.

Why it doesn't replace my desktop:
No svn/ssh support. I could move all my files into Dropbox or onto my iPad via iTunes, but getting them back into the repository or onto the server would be a nightmare.


iRepoEditor

Description:
A basic file viewer
Interfaces with:
Subversion, Dropbox
What's great about it:
Has SVN capabilities including checkout, commit, add, and revert.

Why it doesn't replace my desktop:
No in-app file editing. Once you've checked out your repository you can only view the files within the app - to edit them you have to open the files in an external editor such as PlainText. If there was a way to save the files in PlainText and reopen them in iRepoEditor, I would have a solution (albeit a cumbersome one), but as of yet this app doesn't have the functionality I'm looking for. Also, it's a little buggy.


Source Code

Description:
A basic file viewer
Interfaces with:
Git, Hg, SVN, Zip, Raw, Darcs
What's great about it:
Ability to change the background and text color in the viewer. Supports seemingly infinite file types (for text viewing).

Why it doesn't replace my desktop:
Subversion does not allow for authentication, meaning there is no checkout/commit capability. Also, no in-app file editing.


HTML Edit

Description:
An html editor.
Interfaces with:
FTP
What's great about it:
Syntax highlighting (though only for .html files). Local and remote preview of files. Ability to upload and download files via FTP.

Why it doesn't replace my desktop:
No SVN, though I could find a workaround with FTP...if it was SFTP...but sadly it isn't.


Code Viewer 2

Description:
A file viewer.
Interfaces with:
Subversion
What's great about it:
Ability to search and email files. Recently viewed files are readily displayed. Syntax highlighting for .php files.

Why it doesn't replace my desktop:
Again, no in-app editing. Also no svn commit option, only checkout, so I suppose file editing would be pointless anyway.


Gusto

Description:
A project management tool for website.
Interfaces with:
FTP
What's great about it:
Really nice (and pretty) interface. Tabbed file viewing. Ability to upload and download files individually or as a group. Ability to preview files locally and remotely.

Why it doesn't replace my desktop:
This app is probably the closest, but the lack of SVN and/or SFTP again makes it a no-go.


iSSH - SSH / VNC Console

Description:
A terminal emulator / ssh client
Interfaces via:
SSH/Telnet
What's great about it:
It works!

Why it doesn't replace my desktop:
This app actually does pretty much emulate it's desktop counterparts, with the one downside being that the ssh connection times out after about 10 minutes if the app isn't in the foreground. If I wanted to do all my editing directly on the server with Emacs or Vi, this app would be a viable solution. Since that doesn't sound particularly appealing (nor is it remotely in the ballpark of best practices), I still need a code editing app as a companion.

So, is development on the go feasible on iPad?  Not yet.  But I imagine that won't be true for too much longer.