As a partner in a Web development company, one of my jobs is to manage several Windows and Linux servers. Since I rarely have physical access to any of that hardware, I rely on LogMeIn much of the time to connect to the Windows servers, and I use the Mac Terminal app to open an SSH (secure shell) connection to the Linux machines. This system lets me control my servers almost as though I were sitting at the console of the machine.
This setup works just fine when I’m in front of a computer but, as any experienced system admin will attest, servers seem to know when you’re out to dinner or at the movies, and choose to wait until then to act up. Lugging a notebook (or even an iPad) around really isn’t the answer in these situations, so I rely on my iPhone to come to my rescue.
I recently reviewed LogMeIn’s iPhone app, LogMeIn Ignition for access to Windows servers, and it has saved my remote bacon on several occasions. In that vein, several SSH terminal apps are also available for the iPhone. The three I’ve worked with most recently are ThroughPut’s $4 SSH, Instant Cocoa’s $5 pTerm and Aji’s $9 TouchTerm Pro.
All three apps share some core functionality. For instance, all three allow you to save server connections. SSH supports only password-based connections while pTerm and TouchTerm Pro both support shared-key connections. (If you use shared-key connections, or choose to save your passwords, make sure you have your iPhone’s passcode lock enabled. TouchTerm Pro provides an Application Lock feature that lets you create a master password for the application, which is nice.) All three use the standard iPhone keyboard while TouchTerm Pro supports custom key layouts and pTerm and TouchTerm Pro both provide icons for special keys, such as Ctrl, Esc, arrow keys and so forth.
Unfortunately, all three apps also lack support for multi-tasking in iOS4. I’d find it very useful to be able to leave a terminal session running in the background while sending an e-mail or making a phone call, but, as it stands, opening another app terminates your SSH terminal session in all three apps.
That’s an overview of some of the things the apps have in common. But what about the things that distinguish each one?
As a self-described minimalist, I really wanted to like SSH since it’s very simple with no bells and whistles, but my hopes were quickly dashed once I got logged in.
I suddenly felt very old because I couldn’t see the screen due to the incredibly tiny font size. Surprisingly, there is no way to change this. I had hoped that turning the phone to landscape orientation might increase the font size, but the app only operates in portrait mode. (If you have an iPhone 4, that device’s higher resolution display makes the tiny font size much clearer, but it’s still too small for extended viewing.)
As expected, tapping on the screen brings up the on-screen keyboard where you can enter commands but the keyboard disappears after each command. I guess the commands I entered were executed properly because I couldn’t see the output on my iPhone 3GS’s screen. Fortunately I didn’t blow anything up. As of this writing, this app is still at version 1.0 and has not been updated since its release in 2008, so I can’t recommend SSH in its current form.
pTerm is a step up from the rudimentary SSH. Thankfully, in standard iPhone fashion, the screen works in either portrait or landscape orientation, you can change font size by pinching and zooming, and you can scroll by swiping up and down.
In prior versions, pTerm’s keyboard often misbehaved by refusing to show/hide properly, and this rendered the app completely useless to me. However, I’m very happy to see that a recent update seems to have addressed this issue. Additionally, pTerm is now a hybrid app optimized for both the iPhone and iPad. On the iPad, it appears to be just a blown up version of the iPhone app, but that’s not necessarily a bad thing in this case. Although I wish the app took full advantage of the iPad’s extra screen real estate, the text in the SSH session window on the iPad is much more legible than on the iPhone.
TouchTerm Pro SSH
While SSH is too rudimentary, TouchTerm Pro is too complicated for my taste. I knew I was in trouble when, upon opening the app the first time, I was met with a screen warning of the app’s complexity and recommending that I visit the developer’s Website to review a tutorial. Rebel that I am, I simply plowed forward.
The font size in TouchTerm Pro’s portrait orientation is small, but very clear; brighter than pTerm’s screen and infinitely more legible than SSH’s. Tapping on the screen shows and hides the keyboard, but its default translucent appearance make the keys difficult to see. (You can change this in the settings, though.)
After a few minutes with the app, I accidentally learned how to increase the screen’s font size. As I swiped up, expecting to scroll upwards through the screen’s contents, this instead increased the font size. At that moment I figured I should reconsider and go through the tutorial. It was here that I learned that TouchTerm Pro employs a “gesture engine” that stores commands as a variety of swiping motions you can make on the screen. This feature can be toggled on and off (thank goodness) by tapping on the command bar at the top of the screen. When turned on, the screen is “locked” and responds to your swiping gestures; when it’s off, the screen behaves normally. The app also remembers the commands you’ve entered previously and displays a filtered list of matching commands as you begin typing.
Although TouchTerm Pro is currently my go-to terminal app, it has way more features than I need. (Granted, everyone’s needs and preferences are different.) Being able to create custom keypads, rather than having to rely on the standard iPhone keyboard layout, is very helpful. However I think that its funky implementation of copy-and-paste is frustrating, and the gesture-based user interface is not very useful. And, while I like the way you can easily choose from commands you’ve entered before, I think a more useful shortcut utility would be for the app to integrate with SmileOnMyMac’s TextExpander, which lets you define shortcuts for text you type frequently. (On my Mac, I’ve created TextExpander shortcuts for many frequently used shell commands; I’ve synced them to my phone where I can use them with the mobile Text Expander app or, even better, other apps that integrate TextExpander’s expansion code.)
The last word
As it stands, SSH is too rudimentary, pTerm is too buggy though worth a second look due to recent updates, and TouchTerm Pro is too complicated. Given those limitations, I’ll err on the side of complexity. But if someone can develop a simple terminal app with TextExpander integration and support for multi-tasking, I’d switch in a heartbeat.