Last week I asked on Twitter what everyone was using to edit code from FTP sites on their iPads. The overwhelming majority voted Textastic. However a few brave folks mentioned Koder.
At first glance Koder caught my eye, but Textastic had such praise that I needed to buy and try them both. Before we can get into the comparisons here is why I want such an app: for making quick CSS tweaks to this site when I am no where near my MacBook Air. ((Yes, when I see something not looking right I *really* like to be able to change it right away.))
My thinking is that if I can tweak the code here and there on my iPad, I can eventually take a trip with only my iPad and no worries about “what ifs”.
I need an app that will allow me to connect to my server, edit CSS/PHP/HTML files and save/commit the changes to the server.
Of the two apps [Textastic](http://www.textasticapp.com/) ($9.99) offers the most basic iOS UI design and layout. There are three really great features in Textastic:
1. The ability to highlight/select and entire line of code with one tap in the margin.
2. Quick access to most used keys above the standard keyboard. The odd part of this is that those keys can scroll right and left so that you can get access to even more keys. This is nice because it allows for quick access to a lot of keys, but it also takes a bit of getting used to since the keys that you want to access may not be where you expect them to be (given that they can be scrolled around).
3. Password lock. You can set a password (not passcode) so that no other users can gain access to your server if they get a hold of your iPad. This is a great feature, almost a requirement at this point. ((Though you should be passcode locking your iPad, you do that right?))
That’s the really great stuff, but the real question is not what is really great — no — it is always: how well does the app work. This is where a lot of personal preference is going to come into play, because while the app allows you to use TextExpander and does code highlighting, it is still no where near as robust as TextMate. Not that it needs to be as robust, but I did find with both apps that I was annoyed by a few things that TextMate does that these apps don’t do.
There is one thing about the core functionality of this app that I don’t like: the way you edit remote files. With Textastic you have to download the file to your iPad first and then you can edit the file. From there the app will sync the file back and forth easily with the remote host, but it means keeping a local copy of a bunch of similarly named files in a list to the left — which if that sounds confusion, well, you got the point. There is also this odd flipping behavior that the app does when you shift from local browsing to remote browsing that I could do without.
For me I would much prefer to be able to tap on a file and start editing it immediately without concern for whether the file is in sync or if the file is local or not. The app does a decent job of highlighting and has a nice soft wrap so that the user doesn’t need to scroll side to side.
The switching behavior and the need to download first is the most annoying aspect of this app. ((FTR I hate the icon.))
[Koder](http://www.koderapp.com/) ($5.99) takes a different approach and shows its colors as more than just an FTP based code editor. You can work with local files, FTP files, Dropbox files (Textastic supports this too), and iDisk files (not that this feature will be useful for much longer). Again the three best features of Koder:
1. You work “live” with your files, there is no visible means to download the file first before you can edit them. You simply need to tap the file and you can get to work right away.
2. The tabbed interface for open documents allows you to quickly and easily switch between two documents at once. This is something that Textastic doesn’t do and instead refers you back to the main list of files.
3. Permissions, Koder will allow you to view the current permissions on both files and folders **and** will allow you to change these settings. This is a great little touch.
Koder fits my working style much better than Textastic because I can just tap and get going. However the program does not have any kind of password protection, leading to security concerns — especially given that revealing the path of a file shows your FTP password in plain view — this is not good.
There is also a lack of soft line wraps, which will require you to scroll a lot side to side depending on the formatting of the file you are editing.
Koder does however offer a dark and light theme, something that Textastic does not offer. ((The icon is also very good.)) While I much prefer the light theme as the highlight colors of the dark theme are not in line with my personal tastes.
The custom keyboard in Koder is much different from Textastic’s. Where Textastic offers a lot more ‘quick’ access to common keys, Koder offers access just to a few of the likely keys and gives you arrows keys for navigation. One of the biggest differences between the functionality of code editing in the two apps is that Koder automatically inserts the open and close bracketing when you are editing. There is also a nice undo and redo set of buttons to help keep you from looking like a fool when you shake your iPad to ‘undo’ edits.
Lastly Koder does not offer TextExpander support — instead it chooses to have its own library of snippets that you can build in the app. It’s a toss up which method is better because at some point you have to create the snippets in either TextExpander or Koder. The advantage to Koder’s method is that you don’t need to remember expansion shortcuts, instead you just tap on the snippet that you want. Whereas the advantage to Textastic is that you may already have these snippets set, and at the very least could sync them to your iPad from your Mac.
If I was cramped for space I would pick Koder and call it a day. Even with the limitations of the app, I passcode protect my iPad and the extras that it offers in the form of permissions control and tabbed editing makes a better solution for what I am looking for.
Luckily I am not cramped for space so both of these apps will fill different needs from time to time. All Koder needs is a passcode lock and better line-wrapping and it would be the hands down winner.