Diet Coda: The iPad Text Editor That Satisfies

Diet Coda turns iPads into Web developer productivity machines. It provides a code editor that can work with files on remote servers, code highlighting, and a keyboard that displays important additional keys depending on which programming language is used (HTML, JavaScript, PHP, and Ruby). It also includes an SSH client that provides secure remote shell access.

Diet Coda from Panic, Inc., is a must-have iPad app for Web developers and anyone who needs secure remote access to servers. The $19.99 app provides a contextual adaptive code editor along with powerful remote file management and an SSH terminal. The terminal component is also available as a separate $7.99 app named Prompt. The app's overall ease of use and the code editor's adaptive keyboard that tunes itself to programming languages makes it fast and easy to work with remote files.

Diet Coda can work with multiple servers. Remote code editing using FTP/SFTP and SSH terminal access are configured separately, even when using the same server. An identiying name can be assigned to identify each server. The usual information required for remote FTP access is provided in the rest of the configuration screen. Ports other than the standard TCP port 21 for FTP are supported.

Configuration for SSH terminal access is similar to FTP access. You also have the option to indicate a command that should be run during after the login, whether autocompletion is turned on or off, and define a custom prompt string. Configuring for a port other than the usual 22 for SSH access is also supported. Diet Coda provides color coded highlighting for CSS, HTML, JavaScript, PHP, and Ruby. It can edit any plain text file. However, code highlighting and other kinds of coding support for other popular languages such as Perl and Python are not available.

Diet Coda's keyboard (see below) adds several keys to the visual keyboard that are very important to programmers such as undo, indent, and left-and-right cursor movement keys. (For more screenshots, see our Diet Coda slide show.)

When in the mode to work with PHP code, it also displays additional keys such as "//" (line comment), ";", and "$" that are specificially useful for PHP coding. This eliminates the need to switch to the symbols-plus-numerals key view, helping maintain coding rhythm. The app also provides support for storing blocks of code in clips. Several are predefined for the PHP code mode.

The Diet Coda editor's JavaScript keyboard is slightly different from its PHP keyboard with the addition of keys for curly braces. Panic, Inc. should add curly braces to the PHP keyboard view, too, and it should replace the parentheses keys with ones for the angle brackets frequently used in HTML and JavaScript code. (More about code editing options later.) Diet Coda works in both landscape and portrait modes. It also supports iOS 5's split keyboard.

The SSH remote terminal component also has its own custom keyboard. Diet Coda works with Bluetooth wireless keyboards too, and this is a big advantage as it opens up a great deal of screen real estate for file contents. Note that Diet Coda is not limited for remote work with UNIX and Linux servers. Apple's Mac OS X includes an SSH server for remote access. And, there are free Open Source SSH servers that can be used with Microsoft Windows Server, too. freeSSHd is the one I use with Microsoft Windows. It has improved quite a bit since I first used it back in 2008. For example, you can work with Microsoft PowerShell from your iPad.

The app's document settings (gear icon in the upper right) provide options for individual syntax modes for CSS, HTML, JavaScript, PHP, and Ruby. Panic says there is "more to come." It also supports end-of-line character conventions for Linux, Mac OS X, and Windows as well as international character encoding options.

Once you are in the editor, Diet Coda interprets what you type and displays possible completions for code words and function names. If a recognized function is typed, Diet Coda displays the function's input variable type.

Panic promotes Diet Coda with the tag line "Make quick web fixes to go." However, I have found it to be potentially much more useful than that in the few days I have used it. The adaptive keyboard layouts, code completion, and Bluetooth keyboard support works well for coding sessions longer than just a quick fix. Pairing it with reference documentation on a companion smartphone or, somewhat ironically, an Amazon Kindle, might convince some developers to leave their notebook behind.

Diet Coda turns an iPad into a Web developer productivity machine. It provides a code editor that can work with files on remote servers, code highlighting, and a keyboard that displays important additional keys depending on which programming language is used (HTML, JavaScript, PHP, or Ruby). It also includes an SSH client that provides secure remote shell access.

Pro:

Onscreen keyboard displays special keys for PHP, JavaScript, and HTML.

Code completion suggestions provided.

Code snippets (clips) feature available.

SSH terminal provided for secure remote shell access.

Powerful file and directory management provided.

Con:

No direct support for Perl, Python, and other popular dynamic languages.

SSH terminal only allows access to one server. The iPad must be rebooted to access a different server.