In 2010, when the original iPad was launched, I told anyone who would listen that this was the future of computing. Yes, it looked like an oversized iPod Touch, but this diminutive computer had the potential to forever change the way that people interacted with technology. My over-arching hypothesis about the iPad is this: With sufficient software, the iPad will displace traditional desk- and lap-based computing. Furthermore, it hasn’t happened yet.

Two years and two new models of iPad later, that statement still breeds a bit of controversy. Most observers note that the iPad, even with its tremendous market success, is still best suited as a consumption device: better for reading than writing, for learning rather than making, for playing rather than creating.

In my own use of the iPad, I largely agree. Primarily, that’s owing to the iPad’s cumbersome keyboard. It’s an on-screen wonder of ease of use, but lack of touch feedback and its smaller size slows me down to under 30 words per minute. Throw in special characters (such as you might use while programming), and the rate drops precipitously.

But there’s a much larger and more insidious reason the iPad remains a consumption device: I don’t believe the software exists yet that will make it a real, honest-to-God desktop replacement.

But as of last week, we’re a hell of a lot closer. Meet Diet Coda, from Panic:

Screen Shot 2012 05 28 at 10 31 04AM

It’s an independent companion to the company’s flagship web development tool, Coda 2. In many ways, it’s the software I’ve been waiting for, allowing me to shell into a remote server, edit files, hack on the console, and happily do about 90% of my job from this miraculous 10-inch display. I’ve been testing it for several days, and I’ve been blown away by the ambition and scope of this product. If you do web development of any kind, and you own an iPad, then you need this app.

Diet Coda is not a 100% solution. In that remaining 10%, Panic would need to include such features as:

  • The ability to upload images from the device;
  • The ability to have a local copy of a site, to enable development rather than touch-ups
  • More robust preview functionality

Diet Coda seems to assume that every site is a static HTML/CSS site, where remote changes are a straight-forward affair. But as any professional web developer will tell you, the landscape is quite a bit more complicated. Primarily, HTML is just part of a presentation layer inside an application framework written in PHP or Ruby (or some other languages, I’ve been told). Individual files can’t be previewed because they’re often just individual components of a larger interplay of files that make up a “page”.

Also, sites of any consequence aren’t edited directly on the production server; that’s nuts. Instead, we use version control systems and a deployment process using such tools as Capistrano.

Having said all that, I still think Diet Coda represents a very solid take on the problems of developing a web site, and it turns out that I can still use it to work on a version-controlled application. Here’s how:

  • Rather than point Diet Coda at my production server’s live directory, I’ve created a Git clone in a home directory, and point DC there. I can therefore use Diet Coda to edit files remotely, but it’s on a development branch of my application’s code.
  • When I’ve completed my edits, I switch to the Terminal, shell into that repository, and add/commit my changes to the repo. I can then push to the master branch.
  • Again, from the home directory clone, I can issue a “cap deploy” and push my changes live. Essentially, I’m copying the development repo to the master repo on the same machine. But with Git goodness.

There is a point here…

So concludes my mini review of Diet Coda. Think of this “90% solution” as a data point on a graph. In 2010, we had no solution for web developers. In 2011, we had a number of remote editing packages such as Textastic, that required you to download the file, make changes, and upload again. In 2012, we have Diet Coda, which is the best quality software we’ve seen. What will 2013 provide us? 2015?

Do you think the line is going up and to the right? Or will it stay flat?

It’s easy to get distracted by the limitations of today. But as iPads continue to sell like hotcakes, developers are going to try more and more ambitious products like Diet Coda. Pretty soon, my wife will have a Scrivener for iPad, and she’ll be able to take her writing anywhere. One day, there may be an Xcode for iPad, allowing us to develop iOS apps on the devices themselves. One day, we may be able to use AirPlay to seamlessly connect to external displays and turn our 10-inch apps into giant full screen applications.

Yes, there are obvious challenges to overcome, text entry being chief among them (for now, I’m giving this Ultrathin Keyboard Cover from Logitech a good hard look). But I believe in the ingenuity of software engineers, particularly the ones at Apple.

And I can’t wait to see what they deliver next.