Now, as we all know, Coda ≈ Disneyland. But what’s not readily apparent is - why?
To understand this, you need to grok a simple fact about web development. Apps that claim to do everything usually don’t. The best you can do is be good at a limited aspect. The very best apps are very good at their limited aspects.
There are 13 “complete web editors” in a dozen nowadays. Every text editor geared in some form towards the web tend to have project functionality in it. This is usually a tree outline with some vaguely defined interaction, and you have to manage project files and god help you if you open a file outside of project context. Some text editors also have FTP engines built-in; most of them don’t work well, and almost none support FTP’s protocol peers like SFTP or WebDAV.
There are also the WYSIWYG editors, who are only named so for their historical predecessors, the WYSIWYG word processors. What You See is probably not at all close to What You Get, and if it is, it tends to leave behind table cells and spacer gifs and markup so hideous as to be unsafe for human consumption. Or it may be geared towards a certain browser and ignore all the others. Hello, Frontpage. (Frontpage also managed to be geared towards a certain server-side functionality package - which it introduced - and web server, and mostly ignore all the others.)
And of course, even if someone builds a WYSIWYG editor that works really really great, produces awesome code, is easy to work with and generates something that’s accessible, easily printable, meshes well with your own code changes and can work in all browsers… what if you stick that in a PHP include file? A Rails view? A Django template? Not so funny anymore, is it?
So things really suck for a web developer. What you have to do is assemble a pack of good programs and make sure you can move efficiently between them. There’s just not been a good alternative. A text editor with a web preview window and a protocol connection to the FTP program to edit files “live” by proxy of a temporary file has been as far as you could get. And don’t even come dragging with demands of reference material or documentation for what you’re writing, whatever it may be.
Coda changes most of this. Coda implements a bunch of different parts designed to work together. This is not new. This is usually when it starts sucking. Coda doesn’t suck, however, because the parts are actually really decent on their own.
The text engine is licensed from SubEthaEdit, my own primary text editor, as it happens, and it keeps most features like the unique collaboration features. The file transfer engine isn’t just one written by a text editor vendor in a weekend, it’s the engine directly out of Panic’s own Transmit client - at any rate one of the top three FTP clients on Mac OS X, and certainly my personal favorite. The special CSS editor is custom, and I haven’t had a lot of time to try it, but it also looks good. There’s also a terminal about which there’s not much to say other than it handling ANSI colors and local + SSH connections.
The real killer feature is the integration of all this, though. You can set up sites with backing FTP connections and optional counterpart folders on your hard drive. You can edit any file under either the FTP server or the local folder and save and preview them as usual. The really cool part is that when you’ve saved a local file, it’s remembered as being changed, and you can batch up a bunch of saved or added files and just hit ‘Publish All’, at which point Coda does the grunt-work of uploading them into their respective locations on the server.
Did I mention you can open this stuff in tabs? And how, on the same file, you can have it open in, say, the text editor and CSS editor simultaneously? Or in the text editor and web preview simultaneously? Or how the web preview supports the Firebug/Safari console.log() API and a DOM inspector? Or how the text editor has autocompletion and a Find and Replace panel with easy-to-use wildcard tokens? Or how the text editor has automatic validation and snippet functionality? Or how it’s all beautifully-looking? Or how every time you open a site for editing, all files and tabs persist, so you’re right where you left off?
Despite my superlative stream, Coda is not the end-all answer to web development. CSSEdit, for example, is a far better CSS editor. And the built-in documentation and parts of the feature roster is heavily geared towards PHP as a development language. But Panic deserves a standing ovation from web developers around the world - they have proven that it’s possible to make a “swiss-army-knife”-style application where every part individually is really good, where integration is really good and where sites and the discrepancies that arise all the time are handled practically automatically.
It is a revolutionary product, it is a 1.0 product, it is worth every penny and it is developed by a robust team with a reliable track record in both application development and web development. Scott Stevenson, when done with Disneyland parallels, said it best: “There are still some rough edges in Coda, but it’s like the sun coming up over the horizon. It doesn’t fully illuminate every corner of the landscape yet, but you know that dawn has finally broken.”
The first ten years were just the beginning. Welcome to 2007.
Personally I think I’ll stick with my current toolkit (TextMate + CSSEdit + other stuff). Why? My web stuff is all deployed by a version control system (personal by subversion, work by cvs), and I can do commits right within TextMate (plus the bundles, oh how I love the bundles).
While I tend to keep files in TextMate grouped into projects I prefer keeping things in multiple windows - that way I can make much better use of my screen space.
TextMate projects don’t care too much about the surrounding file
system. It notices new files without me having to tell it about them, it lets me group multiple “root” folders into one project (great for me, as my web server/dns configs are in one svn repository, giant rails app in another, static assets in yet another).
(Oddly subversion is the only free software in that toolkit - though obviously my development relies on apache, php, ruby/rails, postgresql.)
By pftqg · 2007.04.26 09:35