Web development forces you to be a jack of all trades by its very nature. You have to at least have a rudimentary knowledge of html & CSS, how to use a database like MySQL, how to use a unix system and maybe even some design. This is all on top of whatever language it is you develop the main application with whether it is PHP, Java, ruby or perl. The typical workflow is just as chaotic.
At any given moment you’re switching between your code editor (which makes or tries to make life easier on your fingers with code completion and syntax highlighting etc.), a terminal application for connecting to your server and even manipulating local files (if you’re on a unix system), transferring files via FTP, some kind of a html/css design app to get the looks right, a browser to see the changes, looking up lots of documentation for the coding stuff, and maybe even a database admin app.
Naturally, many a web developer has wished for “an integrated solution” where they can just use one application to do it all rather than swimming through a sea of windows. This is clearly the territory of IDEs and a holy grail of sorts.
Coda has set out to do just that for the mac. I must say that I was intrigued when I first heard about the product. I already use a mix of tools including iTerm, TextMate, CSSEdit, and Parallels for Windows IE testing (to make sure uncle Bill doesn’t throw a monkey wrench in my plans) along with Firefox/Safari (this sounds like a post waiting to happen). Sure it gets hectic sometimes but it’s hardly a chore.
Here’s where Coda’s falls apart: You’re never doing everything at once. Whenever I’m doing development I do it in a variety of modes. Sometimes I’m just straight coding and other times I’m tweaking the design (or lamenting the lack thereof) with lots of reading in between (you tend to look things up lots when you develop).
The truth is humans are only good at multi-tasking when it comes to goofing off. Surfing the net, chatting and listening to music at the same time is a walk in the park because none of them require focused concentration. So if you want to be productive as a developer you want to focus on the task at hand and avoid intentionally switching contexts.
Like the multi-tasking human equivalent, when you try to do everything at once you run the danger of not doing anything well. This is where I see the greatest danger for the future of Coda.
Take any two tasks in web development, like coding the app and tweaking the CSS or manipulating files in the terminal. These are very different activities. Each activity has its own context. This is why having several different specialized apps open a good thing because each of them are tailored to specific needs. Cramming all this functionality into a single interface is a very tricky enterprise. Making things easy to find and useful while fighting clutter is a difficult task for any application with a decent feature set. Coda, by its very ambition, seems destined to fight an uphill battle against bloat and clutter.
Another great shortcoming I see with Coda is lack of any integration with source code management like subversion. Any developer that wants to hang on to their sanity is going to use version control to ensure that they can rollback releases or collaborate with other team members better. Sure, you could just do it from the terminal bundled with Coda but it pales in comparison to TextMate where you can edit your commit message within the app, not to mention all the other common tasks.
I will admit that Coda is an appealing proposition coming from one of the best indie mac developers (making it all the more enticing) and that it’s a phenomenal product for a first release. Still the $79 price tag just seems wrong. Sure, buying TextMate (around $40), CSSEdit (around $30), and Transmit FTP ($30) will come out to a cool $100 but each of these specialized apps do one thing and do it very very well. However, if you do any semi-serious web development, the chances are you own several of these apps and even their competitors.
Is Coda enticing enough to relegate these superb apps to the back seat? Will it revolutionize your workflow so much that it seems like a bargain? I’m not sure it will and many people wont bother finding out. Every developer cherishes their tool of choice and hard to switch someone once they’ve “found their app”. I think that for a start, if Coda was in the $20-40 for an introductory period, some developers might say “why not” and add it to their toolbox while the offer lasts but otherwise happily code in their current environment blissfully unaware of Coda.
I do think that Coda holds a lot of promise for the future. In the immediate future I’m excited by this release because it’s sure to spice up the competition.