Review: Espresso 2

Hand-coding HTML, CSS, PHP, and other code that is used on the web is a breeze with Espresso 2. The new version has been freed from its original quirks and gained a number of nice new features in the process.

Espresso 2 has CSSEdit 3 incorporated, Web previews with HTML 5 local storage and SQL database support, a wonderful server synchronisation feature that is very fast, and more. It all starts with a new project window, which has customisable project folder icons that make it easy to know what each project represents.

Web preview with X-Ray Inspector on shows you how the styles you apply work out. It’s essentially the same feature as the equivalent one in CSSEdit, but it’s somewhat better in terms of interface efficiency, user friendliness, and supported HTML versions. It is also a wonderful tool for researching how other web designers have styled a site.

Snippets are smart in Espresso 2. I first thought this was just another marketing term thrown in for good measure, but in a sense the snippets are indeed smart: they’ll automatically indent with the rest of the code, and if you choose to wrap text in a tag, the entire tag — which is a paragraph tag at first — quickly changes in whatever the first few letters of your wanted tag can turn into. What makes snippets so effective is that your cursor automatically selects the opening tag’s “p” of the default paragraph tag, so you don’t lose time going back with the cursor to select that letter, and you don’t need a couple of hundred different snippets to cover all possibilities, either.

Espresso 2 incorporates CSSEdit 3, which supports CSS3. Personally, I was a bit disappointed not to have CSSEdit’s GUI power in the same degree as with CSSEdit 2.6. There’s less CSS elements to create using the GUI. That’s fine if you churn out code daily, but if you easily forget CSS parameters because you don’t code often enough, Espresso won’t help you as much as CSSEdit did.

A big improvement in Espresso 2 is that you can now quickly sync local files with the server. You can also edit files on the server directly. Whatever you choose, the speed with which Espresso 2 connects and synchronizes is on par with the latest version of Panic’s Transmit, and that is fast!

One thing that I would have liked is Espresso to behave more like Coda in the server department, i.e. allow me to easily step back to a higher folder in the hierarchy. As it is now, Espresso 2 is quite rigid when it comes to changing folders to a higher level than you’ve set the root level to be. You can of course create as many ‘servers’ as you want just to get to the root folder of choice, but that is not an elegant solution to a problem that should not exist. On the positive side, Espresso has a list view as well as a column view.

The synchronization feature in Espresso 2 is well done. The interface is extremely helpful and user-friendly. Besides synchronization, you also have the ability to “Quick Publish” files. This is done by switching the Quick Publish feature on (next to each file, but applies to the entire project) and then just saving the file. When Quick Publish is on, the file is automatically pushed onto the server. A progress icon shows you when the file has finished uploading.

The search functionality splits up in two modes: literal and Regex. In Regular Expression mode, with each character you type, the valid selections in the file become highlighted, which is a great way to see exactly what you’re searching for — it also makes Regex searching a bit easier for mere mortals.

Espresso’s tab system has always puzzled me somewhat because I got used to Coda’s before Espresso 1 got released. Espresso 2 still uses the same method. It boils down to a 2-pronged approach: when you want your project to be shown in a tabbed window, you first have to either double-click a file or drag it to the tab area, then drag the file out of its docket at the top left. After that, it will open in a new tab-ready window. Every next file you want to appear in that window can be dragged to it, but I have yet to find a way to save the tabbed window for a next session. As far as I can tell, there is no support for saving window states, which makes it even more puzzling why Espresso works that way. Why not just add tabs to the project window?

Code folding and code completion all work brilliantly. The Navigator, which shows your code blocks as graphical tags, supports drag and drop. However, when I dragged paragraphs to other locations this way, the Navigator collapsed after dropping the tag in its new location. It did so with each drop — this could be a bug.

All in all, I found Espresso 2 a huge improvement over the first version. It still has some features that are rough around the edges, as well as some behaviours that I find odd (but that could also be personal taste), but it’s certainly a good HTML editor, with 95% of the functionality you require. Espresso 2 costs 59.00 Euros.