On Coda

by Cecily on April 25, 2007

Thumbnail image for coda-logo
I’ve spent the last two days using Coda, the one-window web development tool from Panic Software (disclosure: I’m a huge fan of the folks at Panic from way back - I even remember when their FTP tool Transmit was called Transit, and I kept using Audion for a long time even after iTunes became available).

Coda was designed to streamline your web development workflow. I prefer to code pages by hand, so my workflow looks something like this:

web development workflow

  • Create and edit an HTML document
  • Create and edit a CSS file
  • Iterate between steps 1 and 2.
  • Preview HTML file in browser
  • Upload finished html page and CSS file to web server

To complete this task, I’d use at least separate applications: BBEdit for coding HTML, CSSEdit for creating CSS files, Safari or Firefox to preview the web page, and Transmit to send completed files to the server. If I need to do a quick and dirty edit, or if I just want to flex my UNIX geek muscles, I might telnet into my web server and use the command line to move and edit files. This may not seem like much on a small website like this one, but imagine if you’re responsible for maintaining a more complex website. You can see how quickly this process becomes inefficient, and why some developers rely on tools like Dreamweaver.

coda-fullscreen
Coda promises to simplify website creation and maintenance by making it possible for you to do all of these tasks from within one application. It features a complete file browser, a full-featured text editor, a robust CSS editor (includes a visual editor) a terminal window, and a preview based on Safari’s WebKit. To make the package more attractive, Coda also includes built-in reference materials for HTML, Javascript, CSS, and PHP.

At first glance, Coda is one sexy editor. The interface takes some styling cues from Apple’s iLife suite, and this familiarity makes you want to start using the application right away without reading the documentation. You might miss out on an important step in the process if you did that, namely, in order to make file synchronization work seamlessly, you have to be connected to the remote server while editing your local files in Coda. To my mind, it would be better if I could simply command-click on a file after editing and choose “Upload” from the contextual menu, or even better, placing an “Upload” button at the bottom of the local file browser and provide one-click access to the remote server.

Coda’s visual CSS editor reminds me of MacRabbit’s (excellent) CSSEdit in that the visual editor allows you to create CSS files without writing a single line of source code. How a person reacts to the look and feel of an interface is purely a personal preference, but Coda’s CSS visual editor seems more elegant than CSSEdit’s. Buttons and controls are rounded and raised, and selectors are grouped into clearly labeled, collapsible sections.

Coda even allows you to switch between visual and text editing within the same CSS file, but Coda’s visual Text Mode (if that makes sense) doesn’t provide the same control, nor is it as fast as massaging CSS selectors by hand.

I’ve not yet had the opportunity to use Coda’s built-in text editor to create HTML files, but I’m a little confused as to why the HTML snippets included with Coda (Panic calls them “Clips”) don’t include basic HTML tags. Sure, tags can be inserted using the autocomplete feature, but as someone who is used to BBEdit’s HTML palette, manual tag creation is taking some getting used to.

Like most 1.0 versions, Coda isn’t without it’s quirks. The most arresting quirk I’ve seen thus far is that Coda seems to have problems rendering source code after you’ve been using it for a little while. I was editing a CSS file using the visual editor and decided to inspect how the changes would look on a different page within my website. When I went to open the file, Coda rendered the HTML source code as garbage characters on the screen. If I tried to open other files, they all displayed gibberish characters. The only way I was able to get the application to display the source code correctly was to close and reopen the application.

Is Coda robust enough to make me switch from BBEdit and CSSEdit? It’s close. Very close. I’ve always felt a little overwhelmed by BBEdit’s feature set, but didn’t like PageSpinner’s anemic features and antiquated interface. CSSEdit is darn near perfect, and unless Coda’s next version includes something similar to CSSEdit’s X-Ray feature or live editing of dynamic web pages, I’m not sure I’ll cough up the cash for a license. The built-in terminal seems like a gimmick at first until you use it, and then you start to wonder how you lived without this tight integration. Yet Coda’s a little slow on my 2 Ghz Core Duo MacBook, and I’ve seen the SBOD more times than I’m comfortable with.

I want to love Coda– I really want to — because it is clear that the folks at Panic have put a lot of thought, research, and hard work into developing what has the potential to be the killer web development application. I still have thirteen days left on my trial and I’ll (try to) use it pretty exclusively during this period before I make up my mind.

{ 3 comments… read them below or add one }

1

Paul 04.25.07 at 10:47 am

Interestful - thanks for posting it.

I’ve been pretty much smitten with Coda outside of an errant early trial period expiration. I haven’t had any crashes since I started using it, either, and can’t complain about the speed on my MacBook 2MHz Core Duo (mine must be special.)

When the trial period bug showed up, I actually felt bad about having to go back to the Transmit/TextWrangler/Firefox trio of development, even though I’ve been using it without real issues forever.

2

Kalvin 07.06.07 at 9:53 am

I have the same problem with the weird characters. It only happens on remote sites, and it sucks. I can’t even use the app anymore… a pity.

3

Cecily 07.06.07 at 9:55 am

Kalvin, I even sent Panic a note about it but never heard anything back from them. Typically they’re very good about answering support e-mails, but not this time. I kept hoping that the problem would’ve been resolved in later revisions, but it still occurs when I edit remote sites, too.