I’m not too proud to go running down the street after the bandwagon.
I have spent about 12 hours working with it, and I’m very pleased. Coda is the quintessential Mac app, the iPod of IDEs.
Coda looks and feels wonderful. It’s very natural to use, and takes no time to start using effectively. I mean no-time. It is a highly learnable app. You open it up and there you are. You know what to do by looking at it. Coda is a brilliant piece of user interface design. For that matter it’s nicely designed all the way around. Even the name “Coda” is a clever double entendre.
A coda in music is a sort of summary of a piece. Like a big finish. Coda, the app, summarizes many aspects of web design into one tool
Also the word “Coda” (said out loud with a nasal Boston accent) sounds enough like “coder” to emphasize the nature of the tool — HTML up front, CSS up front, no WYSIWYG nonsense (I mean why fake the output when you can just look at the output in a server? Duh.)
Coda takes all the critical parts of web design and development and stitches them together into one tool.
Typically the workflow of a web developer uses the following tools:
- Web Browser (or three) for previewing how the design/development is going so far
- FTP application to move updates to the web server
- Command Line interface (to manage a database, version control, muck around with Apache’s configuration, etc)
- Even yet another browser window open to do research
Coda does a pretty good job of providing all of this in one application window. In practice, I still need to crack open another browser or tool for this and that (I prefer CocoaMySQL to the command-line) and I run Windows in Parallels so I can browser-beat while I’m working). In general though, it reduces my desktop clutter and the accompanying mind clutter that comes with it.
The net result is I only have 2 or 3 apps open instead of 5 or 6.
The Coda workspace has three main elements, a file browser (which shows your local site, and the remote site) and two layers of tabs.
One row of tabs allows access to individual files, while the top row of tabs is your “view”
For any tab open, you can switch its view to any other view. Any tab may be split into frames, and each frame can have its own view.
This means you can have a tab split into two views, one showing your HTML, and another showing the preview (rendered by WebKit), Or you could split your tab three ways, and have your code, a preview, and a reference book open. Or you can just create a new tab (Command+T) which defaults to an empty HTML file…switch it to preview, and type in the address of your local dev server and see the site live. It’s very flexible.
The text editor view is based on Subetha Edit. It has just enough bells and whistles to make you productive without burdening you with learning a giant tool.
The obvious comparisons will be to TextMate and BBEdit. This is wrong.
BBEdit is a Mac Text Editing Platform — meaning that while, yes you can use it out of the box, it’s designed to be scripted, tweaked, and customized for all those random jobs you need a swiss army program for.
TextMate is a code editing beast which can handle any flavor of code you throw at it, and can be infinitely tweaked for your particular coding habits.
Both are great*, but overkill for websites. The issue isn’t how well they handle code, they do it very well. The issue is that BBEdit and TextMate are conceptual islands which you have to leave each time you want to see the results of your work.
As for text editing, Coda auto-completes your HTML tags, auto-completes your PHP functions, and auto-matches your quotes and brackets, then it just gets out of your way.
If you need a super powerhouse app to manage your code, Coda isn’t your tool. Coda is there when you want to make a web site, not author forty five new classes to go into your ever growing home grown code vault.
And that’s the key. Coda is iPod-esque in that it trims out everything you don’t need to get the job done. This enhances its usability and enhances your ability to focus on the task at hand.
I found working in Coda to be far more productive. I could see everything I was working on, I didn’t need to bounce around to get to other ‘views’ of my work, which left me more focused and productive (and less likely to get distracted by some goofy web site on the way)
Coda organizes projects into “sites” which allow you to specify your local working directory, a remote FTP directory, and a remote terminal shell if you wish. Everything but the local directory is mandatory. (Coda will open and edit any old file you point it to. You don’t have to stick it in a ‘site’)
Coda provides a ‘live’ preview of your site — which generates a tiny little actual thumbnail of your web site. Slick.
My only gripe is that Coda doesn’t allow you specify a local web server for previewing PHP (or other server side languages). I work around this by opening a new tab, and just browsing to my local server. Easy enough, but it would be nice to have your preview be smart enough to run PHP files off a local server.
Coda is very inexpensive. The promotional price is $79, but it appears it will bump up to $99 in the future. $99 is cheap.
I was waffling about whether or not to upgrade my aging copy of Dreamweaver to the next version — after trying Coda out, Dreamweaver will not be getting upgraded.
At full price it’s half the cost of a Dreamweaver upgrade, and it does all the important things Dreamweaver does.
Dreamweaver has many more features, but exponentially more bloat. I would argue that the “features” are actually “crap”, but that’s another topic. The only thing I’ve used Dreamweaver for in years is having a decent HTML/CSS editor with a file manager and an FTP program. Coda has this in spades.
Tha’s right. You heard me. Coda is a Dreamweaver killah. Expect Macrodobe to come up with a look-a-like in 2008.
* I own and run both BBEdit and TextMate regularly. They are must-haves for any developer on a Mac.