Coda can code but could do beta
Saturday, 28 April 2007 — by Wayne Smallman
I’ve been using their exemplary FTP client Transmit for donkey’s years. Way back when it was called Transit.
What I like about Panic is their panache. Their apparent flare for pushing the fold of what can be done with a Mac application, by incorporating all of those little widgets & doodads that Apple roll out, but hardly anyone uses, or if they do use them, they either don’t use them properly or to their fullest.
Combine this keen eye for good user interface design with good features and reliability, and you have software you can rely on day in, day out.
For me, that’s not a nice thing to have, it’s bloody well essential. So anything less and I tend to keep my credit card holstered.
Like any review I do, it’s hardly ever complete, or in any way comprehensive. That said, I do tend to make up for that with my typically florid yet curiously blunt, honest assessment of things.
So what you’ll get is a very fair and balanced account of things from the front line, as it were, using the stuff on live projects.
Also, there’s a good chance that I’ll come back with an update as & when I tease out more facts and unearth more dirt.
Getting your stuff from A to B
I’ve never really used the FTP client aspect of any IDE, as most are just crap and don’t work right. Coda’s FTP client just works, and it’s even better because of the Publish option, which massively simplifies the process of uploading files.
You can either upload files on a per-file basis, via a button at the end of the file name, or you can use the Publish option at the foot of the Local file list panel on the left.
I’m actually writing this review as I update my own company website, and it’s while making updates to my .htaccess file that I happened upon a glaring feature omission, which I’ll come to shortly.
In addition, having made the required changes outside of Coda in skEdit (more on that in a moment, so be patient,) the changed files don’t appear in the list of files to upload in Coda, which means that Coda must store its own change log, which is based on something other than scanning file modification dates.
All of which means that if you make changes to your files externally, Coda won’t have the first damn clue. Couple that with the Shared feature, and you’ve got a recipe for creating your very own cockupasaurus, complete with three legs and five eyes.
But wait! Didn’t I mention that Panic already had an FTP client? Well, that’s right. And it’s not a bad thing, either.
Being a licensee of Transmit, not only did I get a discount for owning a copy of Transmit, but I also get to import my Favorites from Transmit into Coda, which really, really .. really helped.
I can’t tell you how many times I find myself groping around Keychain recovering lost passwords for FTP accounts.
Seek and ye shall find .. but not replace!
One huge deal-killer is the lack of a global, site-wide search & replace function. This is a colossal absence and really does cause problems for me.
For years, I’ve been using skEdit, which has some very nice global search & replace options, but Coda doesn’t even come close, and the Wildcard option is merely window dressing if you can’t perform these actions across the entire project.
For me, this pretty much makes Coda unusable as a part of my workflow, which is even more annoying, because on the strength of everything else, I bought a copy.
Don’t know whether this is a bug or not, but I added a new a file within a folder to my website. Then I uploaded the folder to my website by right-clicking on the folder and choosing the Upload menu option.
The folder and file appeared to have been uploaded, but, with a subtle difference, that being they were uploaded to the root of the web server and not into the folder structure that the folder is in on my computer.
Preserving the hierarchy is an obvious requirement, so I hope this is sorted out soon.
I don’t have anyone else to play with, so I can’t tell you anything about the Share option, other than my own feelings on this kind of thing.
I’ve see this before, in SubEthaEdit, which offers a very similar option to share, by way of the .Mac / AIM account.
For small workgroups, this seems like a very sound idea. However, for more committed developers, a proper Version Control or Revision Control system is the way to be going long-term, which I’ve been edging towards for some time, but with little luck.
Anyone have any insight into installing something like Perforce on Mac OS X, let me know, OK?
Feature list roll call
The usual list of suspects are all present, correct and accounted for, such as auto-complete functions, so as I type, a list of PHP function names appear.
However, if the file is a .php, then the auto-complete doesn’t work for HTML elements within the PHP itself. All of which means I have to open a new HTML document to compose my code and then copy it back into my original file.
This is especially weird because from the Language options, there is no straight PHP, only PHP-HTML, so it’s I can’t make too much sense of the above being what it is, other than it being a lapse.
Then there’s tabbed windows, which is sort of obligatory these days. Once nice touch is the save dot in the close button at the left of the tab, which is a visual way of telling thee & me that that particular tab is as yet not saved.
But what I can’t do with my tabs is drag them about to re-arange them, as I can with skEdit, and Firefox too, but not with Safari.
Also, when I’m within a PHP file that’s got functions – be that file either procedural or object-oriented – you get to see those classes and functions from a Symbols panel, which sits in the left-hand side of the screen, just under the Local & Remote panel.
Some of the major IDEs, like Eclipse for example, list variables, too. That would be nice, but it’s not a problem for me.
Making a welcome entrance is the split pan option, which is just perfect for editing two parts of document at the same time. Which incidentally, is exactly what I needed to do earlier, when adding in the code for a CAPTCHA to a response form, which required additions to the form mail script, too.
Yes, there are many, many programming languages, such as C and C++ but I get the feeling that Coda is for the likes of me; the people who occupy the space between casual hacker and budding Ajax guru.
Now, as for CSS, that’s when things get very slick. If you’ve used the likes of Xyle scope before, you’ll appreciate what Panic have done.
Put simply, you don’t really need to know too much about CSS to create your styles. Also, the option to visually edit CSS popped up in Adobe Golive, but to a lesser extent.
Essentially, what you get is a list of collapsable tabs that reveal various context-sensitive options for each CSS element within your CSS file.
Within the editor, you have a left-hand pane which lists the styles within the file, and to the right, you get a the aforementioned context-sensitive options.
Just to give things that final, cool touch, the list of styles are rendered with their styles. So for example, you’ll see a background colour, a border, as well as the size, type and colour options.
All very at-a-glance intuitive and very much welcome.
The only downside I can think of is that even after hiding all of the code away from unfamiliar eyes, there’s still a ton of options to faff around with .. and get wrong.
Also, I’ve not had the chance to play around with the CSS visual editor yet, so there may be bugs lurkin’ within.
We shall see.
Files .. what a drag
I’m used to dragging files from the project list into the code (typically into the waiting arms of a pair of single or double quotes,) which then appears as a path to that file. I use this most often for include() functions in PHP, or for images and such. But for some reason, the default action of Coda is to drop the file contents in their entirety into the target document.
So the question is, just how do I make such associations? I could find any obvious key stroke to facilitate this. What I did find was a Copy Path menu option from the Shortcuts menu, or from right-clicking the actual file name itself.
Workable, yes. Intuitive, heck no!
Maybe next time, eh?
It’s a troubling thought to have in my head, but I just get the nagging feeling style was put before substance, here. With a firm nod towards an Apple Award.
There’s a lot of detail in Coda, but some of it is a little too showy, like the grow & spin animation when you click on a Site. Time spent working on this could have been better spent on search & replace functions, for example .. hint, hint!
And because of the search & replace issue, I just can’t use Coda right now.
If I were to use Coda on the Pinnacle Cart ecommerce package I’m knockin’ into shape for a client right now, I’d be here until this time next year.
So it’s just not fit for purpose as of writing.
But it’s worth noting that for the first iteration, they’ve not done a bad job. Which makes me think that version two will be all the better for reviews like this, which will help point the guys ‘n’ gals at Panic in the right direction.
I think that a public beta would have avoided much of the problems I’ve highlighted, and I’d hazard a guess and say that there may well be more bugs and feature omissions in there, or not, as the case may very well be.
Being the belt & braces type of guy, I like to plan well ahead. And I can see Coda making an entry into my workflow at some point in the future, subject to the previous show-stopping issues being resolved.
So for me personally, there’s no need for Panic right now.
But for you, there could be a very real need for Panic…