Text editing for fun and profit

This post should be treated as an historical artifact at this point.

In the attempt to streamline the process of maintaining the myriad scripts and config files that I use day to day as part of both my day job and my droll hobby. I’ve used TextMate for everything, which I’ve previously discussed (particularly using it in conjunction with CSSEdit, which we’ll come back to). But this has sort of spiraled out of control as I’ve spent more time working with PHP scripts (such as WordPress themes) and I’ve started to wonder about the newer generation of all-in-one editors.

First things first, I should probably talk about TextMate. Textmate 2 feels like vaporware.

Is it? Probably not. And in the interest of full disclosure, I wrote this post in TextMate using the not-utterly-terrible Blogging bundle.

However, it’s been a few years since there was anything especially novel about TextMate, and this doesn’t help the fact that the editor is getting a little long in the tooth visually. This isn’t really a problem, as a good editor can outlast almost anything else in the environment surrounding it. Many, many cranky people still use vi and emacs, which have both outlasted the operating systems they were built for.

I’ve just grown weary of having to finagle and finesse TextMate into usable shape. Admittedly, the Green Moleskin mod helps substantially (good bye project drawers!), and the use of updatable bundles has kept this editor viable in these rough and tumble times. I just can’t help hating the fact that I have to keep CyberDuck open if I’m editing something remotely. Lack of SFTP/SSH support really is all I’m wistful about. Finicky bundle extensions (the Blogging bundle specifically is what I’m thinking of) are annoying but they are decidedly not deal breakers.

The Challengers

Since I am a geek, and therefore always looking for a better tool, I began testing Coda ($99) and Espresso ($79.95 or $64.95 if purchased with a CSSEdit License; It’s unclear if special pricing is still available if you already own CSSEdit). Both offer a generous, fully functional, trial period. Both offer promises of kitchen-sink editing (defined as being able to handle all of my editing needs without leaving the app, including CSS editing, script editing, and remote filesystem editing over SFTP/SSH).

Panic is one of the top old-school Macintosh software companies. Their webpage is slick and their applications are polished like some sort of granite space mirror. Coda is their relatively seasoned (released in April of 2007) web development application. MacRabbit (also an extremely slick, in the lick-able sense, Macintosh software development company) then released Espresso during March of 2009 into the same kitchen-sink web development market that Coda was fighting for. If:

  • you work with HTML and CSS
  • you work in a language like PHP or perl
  • you hate Dreamweaver

then Panic and MacRabbit want your dollars.


Espresso, editing a ruby script

Espresso, editing a ruby script

I started with Espresso, as I am a regular CSSEdit user. As mentioned earlier I have had nothing but good things to say about CSSEdit, especially since they rolled in the live preview/x-ray and local override features. Espresso is extensible through the use of small plugins called Sugars. Unfortunately, this means that as of today it also has poor language support (the Coffee House aggregator shows that Sugars are relatively immature and that there is no best-practice or general standards for them yet.). Of note is that there is no real support for Ruby yet, which is annoying as all hell since most of my back-end scripts are in Ruby. You’ll see in the included screenshot that Ruby documents are just plain text documents, with no syntax highlighting. However, HTMl, PHP, and Python support and highlighting were all excellent.

Interestingly, Espresso has none of the CSSEdit guts worked into it from what I could find. It’s very much a web programmers editor, not a web designer editor. While it wasn’t uncomfortable to work with CSS in Espresso, I found myself switching over to CSSEdit more often than not. I imagine that in time MacRabbit will probably roll CSSEdit and Espresso into a single application. For now though, it’s more context switching, with no gain in productivity to show for it.

Espresso shows promise (it is a beautifully designed application), and the concept of workspaces is novel. I appreciated the ability to work on something locally while automatically publishing it remotely, and Sugars have the potential to be as awesome as Bundles, if not more so. But much as every child has the potential to be president someday, only time will determine if Espresso’s Sugars are making me coffee for $6.00 an hour in a few years.


Panic’s challenger for my hard-earned editor dollars is Coda. Coda does a few interesting things, like integrating the SubEthaEdit engine for collaborative editing and incorporating the Transmit core for remote file operations. As of late it also supports plugins, though I’ve been unable to really find much in the way of usable plugins, since they’re a relatively new feature.

The kitchen-sink approach that Panic took with Coda also extends to having a built-in terminal, which can connect to a local machine or a remote machine, for code debugging, remote operations, or whatever you’d normally keep a terminal open for while developing. Coda is a very, very complex application, and that’s ultimately the problem I had with using it.

Coda's weird autocomplete suggestions

Coda's weird autocomplete suggestions

Coda wants to be everything at once, and it’s very good at most things that it does. The text editor never feels like it’s holding me back, but one of the big quirks I found was that the constant language-unaware auto-complete suggestions are much, much more aggravating than helpful.

I also found little utility in the included HTML reference, but that’s only because I know HTML and CSS very well (not that my blog layout implies this, but I do. Honest.), and for a developer who only uses HTML to present manipulated data, I can see it being a helpful reference. Panic has recently (as of version 1.5) added the ability to point Coda towards other websites as reference guides, and that’s much more useful long-term.


At the end of the day the only real utility Coda and Espresso offer me is remote editing. They don’t support any configuration file formats and their support for anything except “web languages” (ASP, PHP, perl, Python, ActionScript, HTML, CSS and kinda-sorta Ruby) is poor at best. TextMate has bundles for Apache, nginx, and SSH, as well as general support for any of a variety of key-value pair style config files. it also supports Bash and these are ultimately the make-or-break features for me.

However, I recognize that Espresso and Coda aren’t trying to be the programmers swiss army knife that applications like Vim or TextMate already are. They’re editors geared towards web developers. Unfortunately, while that is a sizable 20% of my needs, the other 80% of my work is dealing with configuration files every single day I am on the clock.

For the time being, it looks like I’m sticking with TextMate.

Follow-up questions

You might ask now “Why not MacVim or BBEdit? What’s wrong with TextWrangler?”
Well, BBEdit is an excellent editor that just took too long to have its visual appearance overhauled. It used to look exactly like a Classic Mac OS application running inside a Cocoa OS X frame. They’ve just released a new version that I’m told would be worth my time to test and no longer looks like a very powerful editor hidden inside a child’s toy. I may revisit it soon and see if it’s shaping up into something that doesn’t make me want to punch my monitor in frustration. TextWrangler feels almost like borderline abandonware at this point and it’s an extremely watered down programmers editor for the languages I’m working in and for the amount of work I have to do. MacVim is an excellent port of Vim to Mac OS X, but at the end of the day it is Vim, and Vim gives you AIDS. Worse still, if you use Aquamacs then your genitals will spontaneously combust.

, , , , , , , ,

One Response to Text editing for fun and profit

  1. Jason Evers June 16, 2009 at 10:06 am #

    Unlike one of the commenters on the Macromates blog, I HAD removed it from my feed reader and didn’t even know that Allan had acknowledged the status of his vaporware. I agree with you on Coda and Espresso and most of my work IS web work, however I still can’t switch. I accidentally hit tab shortcuts all the time in Coda and Espresso and can’t bring myself to spend the time required to give either a try anymore. I put the Green Moleskine theme together to revamp TM and get rid of the circa 10.2 OS X eyesores and hopefully keep me happy until TM 2 comes out. I can wait. I will wait. Oh yeah, and I’ll be there waiting to make a new icon to get rid of the purple.