Espresso vs. Other Editors
When people ask me what code editor I use, I always tell them Espresso by MacRabbit. And often, they ask me why. This post will attempt to explain some of the reasons I prefer it over alternatives such as Coda or TextMate. However, I'm confident some of the reasons are ambient, and are therefore hard to write down (similar to some of the reasons that make a Mac better then a PC. ;)
Reason #1: It's beautiful.
Espresso is beautiful, elegant, simple, delightful, charming, graceful, and many other words that connote the general aesthetics of the app.
When you open the app, you're greeted with this wonderful illustration of a coffee cup with different inspirational words intertwined with code elements. Every time I open the app, it makes me want to develop something awesome.
The editor is simple, yet powerful. It allows me to do everything I need, without being bogged down by extra fluff.
Similar to Coda, you have a code navigator, which gives you a birds-eye view of the code, and easily shows you if you're missing a closing tag somewhere. You also have the ability to publish your files individually, or in groups, allowing for easy syncing between your Mac and server (more on this later).
However, Espresso has full support for the TextMate snippet syntax, which allows you to have multiple input points, mirroring, and even console access. (Coda only has support for one input point.)
That's only scratching the surface of the Espresso editor. It also has easy third party expandability to allow not only different syntax highlighting/suggestions/tab-completions, but also allows developers to use first-class Objective-C code to add additional functionality. (I'm not exactly sure how this works, but I've spent enough time on the ##Espresso IRC to know it's there)
Reason #3: The workspace works.
I don't know why someone didn't implement it sooner, having your "tabs" stored in a vertical fasion makes perfect sense, and it's executed very well in Espresso.

There's almost never a time I have more files open then can fit in my workspace, yet when I used Coda or TextMate, I was constantly having to press the "More" button, looking for the tab I wanted. A tab takes up more space horizontally then vertically, so it makes sense to store them in the most space effecient way.
And, when I do have that random day where I'm editing every file on my site, the list scrolls effortlessly with the hover of a mouse. No more hunting and pecking just because I have more then 7-8 files open at a time.
Reason #4: The built in FTP client is powerful.
Espresso's built in FTP client is more powerful than many (if not all) standalone FTP clients on OS X. In addition to that, it's integrated with the rest of the app so flawlessly that it's simple to keep the server code in-sync with your local copy.
Like many other web developers, I have my own local Apache server installed for testing and development. Then, when I want to test it online, I have to selectively "push" the files to a webserver. That part isn't that hard, just select a few files in Finder, drag them over to Transmit and they're there. The tricky part comes in afterwords.
You now have 2 copies of the same code, one on your local machine, one on the server. How do you keep track of what you edit? How do you know which one is the version with the changes? That's where Espresso's Update, Merge, and Mirror functions come in.
Update:
You've probably already guessed what update does, it takes anything that's changed on your local machine, and pushes it to your web server, without taking into account any changes on the web. It will also remove anything on the remote server that's been deleted in your local project.
Merge:
Merge is where most of the power is in my opinion. It will look at the modification date of files on your machine as well as the server, and make an intelligent decision to update the server with new content, as well as update your local copy with new content. This makes it painstakingly easy to get your most recent work automagically transferred.
Mirror:
Mirror essentially works as the inital upload of your site. It checks the local folder structure and uploads any and all documents that don't already esist on the server, mirroring the local directory structure.
Another thing I haven't mentioned about the FTP client in Espresso, is that it doesn't perform any of these changes immediately. Instead, it displays pertenant information so you know exactly what is going to be done to both the local and remote folders. Oh, and it's one of the fastest FTP clients I've ever used.
Reason #5: It's supported.
Not to point any fingers, but the world of Mac text editors has been surprisingly void of any major updates, except Espresso.
Espresso was released less then a year ago and they've already released a major 1.1 update which adds many features such as Find in Project, a nice new Project Manager, Smart Paste, and much more. If you're going to invest your time in learning the ins and outs of any text editor, you should make sure the developer isn't going to jump ship.
MacRabbit has been around since 2004, and CSSEdit won an Apple Design Award, I don't think they're going anywhere soon.
In conclusion...
There you have 5 reasons I think Espresso is the best web-editor on Mac OS X. I still find myself jumping into TextMate once in a while to work on some Ruby or Python, but I'm confident that the existing Ruby, Rails, and Python "Sugars" will grow to rival TextMate.
To be clear, I was not paid or reimbursed in any way for writing this (favorable) post of Espresso. I purchased, and sequentially fell in love with the app before writing about it.
If you have any thoughts, questions, gripes or additions to what I've written, please leave a comment below.




Comments…
Braden Douglass
on December 28, 2009
Could not agree more. I use Espresso for all my HTML and CSS work which makes it an absolute beautiful breeze. Any programing from Rails, to Django sits in my ever open Textmate space. The real key to Espresso in my mind is I pine to open the app and fiddle with HTML/CSS and this alone (in my mind) makes it a wonderful app and well worth the money.
Mike Grace
on December 29, 2009
Great review! I used Espresso for a bit and gave it up and went back to TextMate. I'll have to give it another try. I had no idea that it could use TextMate snippets which is awesome! It's sad to me that not many other Mac text editors have been updated regularly, and while I hope for the day that TextMate will get updated I might just like Espresso for doing my web stuff. ; ) Thanks again.
Mike Farmer
on December 29, 2009
Nice review. It makes me want to take another look at Espresso. Here's a challenge for you that I think would help the review. Identify 5 things you DON'T like about Espresso. I'd love to read that information as well. Thanks again for the write-up!
Michael Stokes
on December 31, 2009
I love how it automatically uploads your files as you save instead of having to upload using another program or having to do something after saving to make it upload the change. It makes writing code for your web server fast and easy. I wish there was something for the PC
Tory Briggs
on January 12, 2010
Well Joseph, you've inspired me to give Espresso another shot. The app has had a rocky start with people longing for full integration of the features found in the MacRabbit sister app CSSEdit. I'm a TextMate/Coda guy, but I'm also open-minded. Besides, I always a love a beautiful user interface.
Leave a comment…