On Coda 2

So here’s a quick review of Coda and Diet Coda for the impatient.

Coda 2

I’ve long wished I had an excuse to get Coda, and Coda 2 came out at pretty much the right time - I’m currently doing an ungainly mix of HTML, CSS and server-side weightlifting, and as much as I love vim, a nice graphical editor can do wonders for your productivity.

TextMate would ordinarily be my thing, but it’s stuck in limbo since goodness knows when and it gets tiresome to maintain coherent sets of bundles and miscellaneous settings across machines. I don’t care much about any of the current crop of Mac editors, so Coda seems like a pretty good option for all-around web development.

So far, and besides some cognitive dissonance regarding the way I’m used to have code completion work, I’m rather enjoying it - code folding works sensibly (something I could never get working to my liking in TextMate), it supports most of the markup and programming languages I need on a day to day basis (except MultiMarkdown and LESS, but plugins for either should be popping up any second now - not an ideal solution, but alas), and, most importantly of all, it’s not getting in my way.

It doesn’t do everything and won’t appeal to everyone, but the UI polish and tight integration of basic features makes it an acceptable compromise. As many other things about editors and programming environments, it’s not a rational decision (heck, I use vim and I love it, so how can I be rational about editors?).

I’m also rather fond of its SubEthaEdit heritage, since it makes for amazing cooperative editing - it’s not something you’ll use every single day, but it makes it a lot easier to ask for help when you’re stuck with some irritating little issue. And the change marking feature that seems to be derived from it will for sure save your bacon when you’re making small changes to someone else’s code and you don’t have source control set up.

Git, by the way, is working out fine for me with it. I’d rather fancy a default keyboard shortcut for “commit all changes”, but that’s trivial to set up in System Preferences anyway.

Remote file management also works fine, although I have a few site-specific issues with it (see below, under Diet Cola, er, Coda).

My only overall criticism is that it doesn’t do much for you if your server backend is based on Python - sure, there’s a Python book in there, but if you use, say Django instead of Rails or whatever the PHP nerds are using these days, you’re out of luck1.

There are also some minor niggles regarding keyboard shorcuts - overall, it feels too mouse-driven, and besides the oh-so-US-centric use of Cmd-{ and Cmd-} to switch tabs (which I’ve already switched to more friendly cursor-oriented settings via System Preferences), using Cmd-<number> (which is faster and more intuitive for me) gives inconsistent results - sometimes it works, sometimes it doesn’t.

And, of course, I’d love to be able to navigate the UI a bit more using nothing but the keyboard - it’s a bit frustrating to switch to the Files tab and still have to click inside the tab to move the highlight around, or to switch to the editor or terminal and also have to click on it to get a working cursor.

But hey, it’s early days yet. I haven’t even tried the mySQL editor (which might come in quite handy some time).

Diet Coda

Diet Coda is great. At current sale price, it’s well worth downloading instead of Prompt, since the built-in SSH terminal seems to be a revision or two ahead, and that was already pretty much the best (as in polished) SSH client for the iPad.

I do have a few issues with it, though, largely due to my doing mostly Python development (it doesn’t do Python syntax highlighting, or Markdown, or any of the markup I use here) and to my rather peculiar SSH setup (I can’t do SFTP directly to this site, so to use the remote editor it would have to support tunnelling SFTP atop SSH2).

It also doesn’t support Dropbox at all, so it’s not directly comparable to any of the other text editors I wrote about earlier.

But it’s working fine with a small site where I do some JavaScript shenanigans, seems to have everything you’d need for casual tweaks to web pages (and then some) and does file permissions management beautifully - as well as providing a nifty testing setup with Coda‘s AirPreview.

All things considered, I suppose it will work out fine for general web development (I’ll freely admit that I’m - thankfully - not using the same web development stack as most people), and I’d heartily recommend getting a hold of it at sale price if you’re looking for something to maintain websites remotely, or (again) solely for its SSH terminal.

1. You’re also out of luck if you use Perl, but in that particular case it can be argued that you’re already in nearly as much trouble as the PHP crowd anyway… ↩︎

2. This is actually much more relevant than it might appear at first sight. For instance, at work we are starting to rely heavily on Linux containers behind a bastion host - you have to SSH to that host and then open another session to the host you need to work in. I’m using SOCKS over SSH for that on my desktop, but it’s fiddly and would be nice to have working on both my desktop and my iPad↩︎