To Sing a New Song – Coda from Panic Software
Tuesday, April 24th, 2007Panic software, makes my overall-favorite FTP app, Transmit. Typical of their small line of programs, it shows a degree of polish that is only possible when you fanatically pay attention to the little details, and just get how people like to work.
This is relevant, because over the weekend, with little fanfare, they have released a new program called Coda. I’d call it an all-n-one web dev package, but then you’d think that I’m talking about GoLive or Dreamweaver, or such ilk. It’s not – it’s almost, almost purely text-oriented.
What Coda seeks to do is eliminate the need to keep switching between multiple programs to do web development work. My current kit involves:
- Transmit – for FTP
- TextMate – for text editing
- Terminal – for those rare occasions I need to ssh directly into a web server
- Safari, firefox, etc., plus IE/Win running under a VMware virtual machine to check how the pages render.
- Xyle Scope – for troubleshooting CSS
Coda replaces 90-95% of what I use Transmit for at all, and 95% of the web-related work I use it for. It replaces 95% of what I use TextMate for (I’ll get into it’s shortcomings there later), it has a built-in terminal that can be set up for SSH sessions, and it has a built in preview using the webkit engine that powers Safari, as well as easy access to opening up your other available browers when your .css editing gets to that point.
It does all that, does it seamlessly, and like an infomercial, wait, there’s more!
There’s a GUI-based .css editor that’s, to me, still a bit complicated (because css has so many options…) but allows you to make and define css styling with relative ease. You can open up a style sheet in a split view and watch the GUI change your text code, or vice versa.
There is also a built-in reference for php, javascript, and HTML. Common functions get hinted even as you’re typing, and basic syntax for common functions can be seen at the bottom of the screen as you type (two features I’d love to have elsewhere). Like BBEdit/TextWrangler/Textmate, the find features can do regular expressions.
The text editor is almost as smooth as TextMate, and easier to learn since it doesn’t try to be all things to all coders. I haven’t had a chance to try the subEthaEdit-based code collaboration, but it’s there. The method for adding code snippets and triggering automatic expansion off of tags is truly slick – but only has global and site scopes. This means if you need to have different snippets based on whether you are working in javascript, php, or HTML, you better have different trigger text, which can get really annoying when working with several languages on the same page that handle if, while, for , functions, and foreach syntax differently. I’d really love the text editor to properly expand “if” based on the language I’m using, and not on a global list of snippets.
My biggest headaches with it, in order, were trying to work with it using my previous work flow – which went away as soon as I figured out how Coda did it, and a few features that need more depth.
First of all, the DOM inspection option is nice, and having a breadcrumb “lock” in to show you exactly where in the document an item is makes it easier to figure out what styles should apply, and is extremely helpful in coding DOM-based javascript. What it doesn’t do is tell me what Safari/webkit sees and what parts of what styles are actually being applied to any given element. I’ll still be using Xyle Scope on a regular basis.
Secondly – perhaps because I haven’t taken the time to run it on deliberately buggy javascript yet, but the javascript debugging seems a bit light and missed various “warning” level issues like missing semicolons in cases it wouldn’t bring the script to a halt – at least compared to the Javascript Tools bundle that I’ve added to Textmate – so I’ll still be using TextMate to help out with the debugging on occasion, as well as for more general programing, etc. when I’m not doing web development.
Tagging/marking places in code to flip back and forth easily textmate-style would be nice, but with the split screening, isn’t vital. Neither is code block folding, but it would be helpful at times in simplifying the view of the code.
What is nearly a showstopper though is I still haven’t figured out how to easily copy files from the FTP server “remote” location to the local directory – the publishing features (which work great) seem to only work from your local directory to the remote server. When I shift work to my laptop, I like to refresh my laptop’s local directory from what’s currently on the server before publishing changes back out of it. While I can work on the “live” code at the FTP server – I prefer not to when doing anything more than a minor tweak. Looks like I’ll still be using Transmit for that before I roll up my elbows and really get to work
All in all this is excellent little program that I can highly recommend, and I’m considering buying it for how well it does what it does. For people who have become proficient in or heavily customized their BBEdit or Textmate environments, who work from multiple computers, or need to do more thorough CSS troubleshooting, you may miss a few features.
