Coda 2: Beauty and Power
Updated June 14, 2019
From Panic: Coda Next is very close to a public beta later this year. Also, you can sign-up to be a (potential) beta-tester. Exciting!
Like many I'm an admirer of software developer Panic and a daily user of their Coda programming editor since it's initial release in 2007 so naturally I was happy when after a very long wait Coda 2 was released. I am for the most part quite satisfied with v2, however not all is perfect. To lend some perspective to this article this is not an in-depth review, just a quick look. Also, I rarely use version control collaboratively (it’s just me) and the bulk of my work is on the front-end, and to a lesser extent on the back-end with PHP.
Immediately obvious was that nearly everything takes a click or two more than it did in v1 and all those extra clicks add up. I've gotten used to it (sort of) but I'm still conscious of it and it's a constant if mild annoyance. It also feels less responsive; heavier, lumbering at times, no doubt due to the added clicking and different UI. In fairness I'm sure the “slowness” has to do with my perception and not any measurable lag in how Coda performs its functions.
I haven't warmed-up to the new MySQL editor the way I expected to despite my initial certainty that I would use it since it's a scaled-down version of Sequel Pro which I use daily. Although my database needs aren’t that demanding I find I still prefer the standalone application to Coda’s, though I wish that weren’t the case.
One thing I would like is the ability to assign multiple databases to a site and save the settings for each so I can then select the one I want from a picker and open it in a new tab. Why? I often keep the local and remote database open but Coda only saves the settings for one so if I need to access more then I need to manually enter the settings for each one. Sure, it's not a deal-breaker but it could be more useful.
CSS Editor: Goodbye Old Friend
One of my favorite features of v1 was the CSS GUI mainly because at the time I was still learning to hand-code so it was a comforting bridge between the two worlds. As my CSS skills grew I eventually moved away from it, though I still find the interface beautiful. If you prefer a GUI over hand-coding CSS then Coda 2 might have lost some of its charm.
That’s not to say the new CSS editor is bad, far from it. In fact, now that it’s code-centric rather than visual it feels more streamlined and efficient, and is (probably) more in line with what a developer expects from a CSS editor. The new CSS 'pops' (shortcuts) are a nice and mostly useful touch, but when compared to the original CSSEdit app (not the stripped-down version now built into Espresso) Coda's implementation, while nice, lacks some of the features of CSSEdit.
Integrated version control is improved with the much-requested addition of Git to the already present Subversion. There will no doubt be missing features compared to a dedicated Git application and I'm sure for more complex workflows than mine there may be issues that necessitate a full-featured client. I use it for deployment in lieu of SFTP and it does what I need beautifully.
Ah yes, the bread-n-butter features of any editor. Besides the usual and useful suspects like:
- Smart Complete
- Code Folding
- Syntax Highlighting
- Dynamic Placeholders
- Live Updating
One of my favorites among the new features is the "Jump To Style" contextual menu option which is quickly becoming an indispensable time-saver. So nice to be able to jump to a specific style in a stylesheet when previewing a separate file.
But where a lot of criticism from hardcore programmers seems aimed is its poor performance for dynamic languages like Ruby, PHP, Python etc. I've done some PHP work with v1 and it was fine, I had no complaints, but I'm probably not the best person to assess its usefulness in that area of development.
An unsung feature that deserves mentioning is the built-in real-time collaboration tool which is based on the Coding Monkeys SubEthaEdit. I realize the nearly ubiquitous use of version control might make this feature at best awkward, and at worst pointless, but I find it very useful for quick and lightweight collaborative coding, especially when version control is unnecessary, e.g., when troubleshooting or instructing someone how to do something. It fills a niche and I'm always surprised at how few Coda users are even aware it's there. A shame, really.
Updated November 14, 2015
See this tutorial, Coda File Sharing.
The Elephants in the Room
As Mac users we have an embarrassment of riches when it comes to editors. Here are a few of the more well-known alternatives that cover the spectrum in terms of features and functionality:
- Atom, one of the newer and lighter options is a very nice hackable editor.
- The workhorse of Mac editors, Textmate. The new version looks sharp.
- Sublime Text has gotten a lot of very positive buzz from the propeller beanie (a.k.a. geek) crowd.
- MacRabbit's Espresso, makers of CSSEdit (discontinued) is really quite nice and showed a lot of promise, but updates are extremely infrequent.
- BBEdit just might be the granddaddy of the breed but feels old compared to the new kids. Nevertheless, it’s a capable bruiser of a tool.
- The free and impressive TextWrangler from the developers of BBEdit.
- Chocolat is a lightweight option, though even minor updates are less frequent compared to other editors.
Hey, It’s Just My Opinion
The biggest criticism I hear of Coda seems to be that it caters to outdated workflows and is best for static front-end development. Is it a fair criticism? Perhaps in some respects, yes. But I also think Coda has established itself as primarily a front-end tool and it certainly shines in that context, though I don’t understand why some feel that’s a bad thing.
I suppose the more relevant question is whether Coda 2 is well-suited to the latest cutting-edge workflows and dynamic languages. Although my experience is somewhat limited in those areas I’ve setup a practical and very usable workflow that includes Git, Sass (w/ the CodeKit compiler), Kaleidoscope, no FTP, and of course Coda. As for dynamic languages it’s been acceptable for my PHP requirements but I suspect other apps are better-equipped to handle the needs of hardcore programmers.
I’ve used Coda nearly every-single-day since its initial release in 2007 and for the time being I’ll continue to do so. I realize it’s not the be-all-end-all, even for my fairly modest needs, and I can certainly see the appeal of TextMate 2 or Sublime Text. But for me Coda still provides a useful combination of convenience and tools that I’ve come to rely on and am reluctant to give up just yet. So while it’s certainly possible my editor-of-choice will change at some point I am staying put for now.
Give Coda 2 a look if you’re primarily a front-end coder, while it may not suit every workflow Panic has earned their enviable reputation for good reason. They really do make top-shelf software.