Panic has released Coda, a new web development app for OS X. Panic co-founder Cabel Sasser describes it thusly:
We build websites by hand, with code, and we've long since dreamed of streamlining the experience, bringing together all of the tools that we needed into a single, elegant window. While you can certainly pair up your favorite text editor with Transmit today, and then maybe have Safari open for previews, and maybe use Terminal for running queries directly or a CSS editor for editing your style sheets, we dreamed of a place where all of that can happen in one place.
Ever since I switched to a Mac, I've been seeking a suitable replacement/upgrade for Homesite. I limped along unsatisfied with BBEdit and am finally getting into the groove with TextMate, but the inter-app switching -- especially between the editor, FTP client, and the terminal -- was really getting me down. John Gruber has a nice preview/review of Coda:
Each of Coda's components offers decidedly fewer features than the leading standalone apps dedicated to those tasks. (With the possible exception of the terminal - I mean, come on, it's a terminal.) This isn't a dirty secret, or the unfortunate downside of Coda only being a 1.0. Surely Coda will sprout many new features in the future, but it's never going to pursue any of these individual apps in terms of feature parity.
The appeal of Coda cannot be expressed solely by any comparison of features. The point is not what it does, but it how it feels to use it. The essential aspects of Coda aren't features in its components, but rather the connections between components.
Panic's implicit argument with Coda is that there are limits to the experience of using a collection of separate apps; that they can offer a better experience - at least in certain regards - by writing a meta app comprising separate components than they could even by writing their own entire suite of standalone web apps. Ignore, for the moment, the time and resource limitations of a small company such as Panic, and imagine a Panic text editor app, a Panic CSS editor app, a Panic web browser, a Panic file transfer/file browser app - add them all together and you'd wind up with more features, but you'd miss the entire point.
Panic co-founders Steven Frank and Cabel Sasser both weigh in on the launch. Has anyone given Coda a shot yet? How do you find it? I'm hoping to find some time later today to check it out and will attempt to report back.
I'm still trying to find out how to run the preview thru my local web server for proper processing of PHP.
It's hard to get me out of my bbedit mindset, but I'm giving it an honest go.
Quickly, when working with actual text to be displayed, there does not seem to be a spell-checker. I would love to be able to see just the text with all the html hidden. It does a good job of offering code hints for functions, but it would be nice to offer completion hints for things like non-breaking spaces, less-than characters, etc.
Of course, I could be wrong and that it has all those things, but in my playing around with it last night, I couldn't find them.
It is really nice to have everything in one app, and I'm certainly going to play hard with it for the 14 days left on my trial. It is definitely great for programmers who just deal with code and use CMS for content.
Notes:
- Coda didn't recognize changes I made to my /images directory (is it supposed to?). I found myself having to switch over to Transmit to publish my images.
- I got an HTML file stuck in 'CSS' view at one point, and couldn't switch out of it. I just had to close the file and re-open it. No big deal -- it's 1.0.
- The preview mode is nice, although on my Macbook Pro screen, splitting the screen between 'Edit' and 'Preview' left little room for both. I ended up just cmd+tabbing to Safari and hitting 'reload.'
- Having img height/width automatically added to the tag would be nice.
I look forward to using it more. Cheers once again to the Panic crew.
Due to some missing features and a clumsy CSS editor, I'm going to sit in the cynical camp. Details here, if you're interested.
My first attempt didn't go so well, mainly due to Coda's lack of awareness of PHP includes and the anatomy of Wordpress themes - go to the preview pane, and all you see is a black and white version of your code! However, until they maybe integrate this (I guess it would involve building in a PHP engine to parse the code), you can use Coda as a browser, dial-up your site, and test changes once published. Not ideal, but ...
I was also sad to see no equivalent to BBEdit's markup functions/palette (i.e. select a chunk of text and apply a command to wrap it in a tag). However, the Clips palette is really cool, letting you replicate the same functionality - though I wish the keyboard shortcuts for Clips would work for wrapping existing text (currently you have to apply the clip from the palette to do this. It does mean you have to build up your library of HTML elements from scratch (I wonder if they're importable from an external file?).
Auto completion isn't quite as robust as TextMate's (as far as "tabbing-out" of attributes), and I miss TM's feature where you can change an opening element's tag and it will automatically change the closing tag to match.
But all around, really great app. Obviously the interface is unreal, and the workflow is great. And I love the single-clicking oddly.
I kind of crashes when you log in to a network mounted drive and a remote server at the same time.
i'm really lacking the equivalent of publish for the remote to local files.
I'll keep you posted on other things I notice.
I guess my biggest complaint is that the Preview is not "live." If you split the screen between, say, the Code view and the Preview, the changes you make to the code will only show after you save. Really, this isn't as huge of a deal when it comes to structuring you code, but it would be an incredibly nice feature for the CSS (ala CSSEdit).
There's a few other things, but like I said, I'll have to look some more before I can really pass judgment. I have a feeling, however, that I'm going to end up just sticking to separate apps (in my case that would be Smultron, CSSEdit, and CyberDuck). As far as I can tell, there's no real advantage to Coda. The different views aren't really integrated with each other, so much as they ar *next* to each other, and honestly, I can switch between apps in the dock just as easily.
The TextMate + Transmit + [insert other development tool(s) here] combo has worked really well for me, and I'm sure there will always be a need for those tools. But Coda...brother, it's the tool that I've been daydreaming about during countless hours of switching back and forth between apps. I didn't realize just how much I'd missed working in a single window until I downloaded the demo.
I love the code hints, and SubEthaEdit works really well (I really only use a small fraction of TextMate's deep feature set anyway, now that I think about it), and as a bonus, the UI is elegant and intuitive, and generally easy on the eyes in a decidedly Mac-like fashion.
Anyway, give Coda a shot Jason, you'll absolutely dig it.
PS: I also loved Homesite back in the day, by the way...
All that having been said, Coda does look like a really great start. The ideas and concepts involved are great, and the UI is beautifucally done. Panic consistently makes some of the best Mac software on the planet, and this will probably be no exception. I just feel like it's 80% of the way to being my dream app, but without that extra 20%, it's usefulness is pretty limited (for me, anyway).
Also, does anyone know if text anti-aliasing can be turned off in Edit mode? As ridiculous as it sounds, I'm uncomfortable coding with fuzzy text.
On the bright side, Coda's search/replace is nice - it supports regular expressions, has a resizable window for long strings, has a ton of options, and can be manipulated easily without leaving the keyboard. The lack of BBEdit-style regex color-coding is my only (minor) gripe.
I don't think i'll buy it now, but wait until version 1.3 or something. i just want to let the bugs get worked out and more user review to come it.
One odd thing is that is uses SubEthaEdit for the the text editing, which implies a team editing the same files at once, but the overall structure of the app is too inflexible for complex dynamic web sites. In other words, you can have large team, but only working on a simple website.
The "all-in-one-window" part is irrelevant for people with large monitors - these people might want to see a full browser, text editor, terminal, css editor all at once side-by-side - they don't want to have to flip between tabs. So all-in-one is useful if you have a small-screen laptop.
Also, it kept crashing for me - even when I wasn't doing anything in it. And it's not too hot for developing on a locally hosted web server.
At first, the concept really works. Just having one icon for webdevelopment instead of the five you'd otherwise need, is really nice. Also, the features all work quite well.
However, there are still some things which could and should be improved. For instance, the editor doesn't auto-complete on CSS-classes in your html-file (which Dreamweaver does); it doesn't auto-complete on local files (e.g. when you type
Anyways, when I still like this app in 14 days, I'll probably convince my boss I need a license for it ;-)
* I code PHP/XHTML, and the PHP code hints pop up even when I'm typing a text portion. Can't it tell when I'm in the ?
* I love the live preview, but if I'm editing a CSS stylesheet I want to look at the page it affects; a live preview of the CSS file is pretty boring
* it's hard to distinguish when I'm working on a "local" versus a "remote" file. Maybe I'm too used to dreamweaver overwriting my local copy when I download a file. I can imagine keeping multiple versions in Coda will get confusing...
Other than those (and a few other minor gripes) I'm thoroughly enjoying my Coda experience :)
But I have all this muscle memory in TextMate now! And I think you'd have to knock me down and stomp on me to get me to give up CSSEdit.
But I think I'll get it for my daughter, who doesn't need to resort to "heavyweight" tools to do what she needs to do. It's perfect for her.
I know it's meaningless as far as getting actual work done, but the automatic import from Transmit and the screenshots that look like taped up paper are *really* slick. It's the kind of neato-graphic attention to detail you usually only get from Apple.
The terminal is a little slow, but not too bad.
Also, if you have a local webserver running, the preview will work if you manually enter in the correct path. Unfortunately, every time I click back, it displays the file from the file system (file:///) instead of the local webserver (http://). I was hoping there was a way to change this in the prefs, but it looks like there is not.
The preview in external browser button caused Firefox to momentarily freak out, and when the page loaded, it was from the file system, not the local web server. I can already tell that's going to be annoying as hell.
But still -- this looks to be a helluva great product, especially considering it's 1.0.
Given the strength of Panic's other software, I'll probably be buying this before the demo period runs out.
PS: I'm a vi guy who never got comfortable with TextMate.
Also, they said it will be scriptable in the future. That's a deal breaker for me at the moment. If I can't script repetitive tasks, then it will really slow me down.
But I seriously want to use it because it really feels good to launch.
All in one window.
What is it missing? The syntax highlighting in Coda is definitely more robust. I also like the pop-up menu for code hinting. There's no Terminal access in skEdit, nor is there a special CSS editing mode but, to be honest, I don't see how the former is really needed for everyday html coding and the latter is a horrible, horrible feature that will cause more confusion than it will clear up. Coda is prettier though.
That said, Kelly has been working on version 4 of skEdit for quite some time. I have no idea when he'll release it, but it may quickly catch-up to Coda. But can it keep up long term? Coda has the entire Panic team behind it, which probably means that it will see frequent updates as time passes and rapid maturation. I don't think skEdit can promise this.
All in all, right now I don't see Coda as a particularly special app. I think what sets it apart is what it promises rather than what it delivers. It is pretty and I'm tempted to buy it, but I'm not sure I can justify it when I already own Transmit and I've got an html app (skEdit) that does just about everything else Coda does for a third of the price (and it with a lifetime license, at that).
But for some reason it's not remembering passwords. I'm sure this can be fixed though. All in all, it's solid.
For the handful of websites I maintain, I have the source files under svn control. I can then co those files to a local httpd on my dev box, and I can mirror any database for the site to the dev box too (mysqldump | mysql). Since the dev box is local I can edit the files directly on the dev server, so there's no FTP-edit-FTP loop to go through: all I have open is a text editor (gvim) and a webbrowser or two (IE & FF).
When I've finished making a change to the website I then baseline my changes (svn cp trunk tags/new-tag) and then svn export tags/new-tag to the live site.
Making it easier for people to edit files on their server seems to me to be solving the wrong problem.
I have no doubt that this will appeal to low-level designers who work strictly in HTML, but seriously, aren't those a dying breed nowadays? The acid test is this: could someone create and maintain del.icio.us in Coda?
For every person trying to create and maintain del.icio.us there are 500-2000 people just wanting to update a basic website.
How has 'that world ceased to exist'? How do you think panic.com/coda (the web site of the product itself) was created?
I think people in general massively over-estimate consolidation of this market-place. The eco-system has room for many players, offering varied products.
And anyhow, - 80% of a product is the marketing and presentation, - and panic know marketing. Look at the success of Transmit! (Seriously, - in this modern day of 2007, who needs a dedicated GUI FTP client for $30?! hah! everyone!)
Is there any one tool out there that can create and maintain del.icio.us?
No, and that's the point. The idea of one-window web development is appealing, but I think the reality is that it's a mtyh, and impossibiity. So those of us who are building del.icio.us-like apps will keep on using more than one app. No big deal.
Dreamweaver had served me well, but I wanted something a little less WYSiWYG, and Homesite was pretty close to perfect, but it's GUI wasn't nearly as slick as Coda's. (Aside: did any app have a UI this slick then?)
Coda's niche is small--HTML designers and developers who want to work on most everything (save Photoshopping) within a single application. If you do most of your work, as I do, with any programming or scripting language, Coda's not going to fit the bill.
Now, if Panic and Macromates teamed up and made a Coda/Textmate baby, that would really be something! ;-)
I have no doubt that Panic created the HTML and Javascript, and maybe even some of the PHP code with Coda. But let's take a real-world example: let's say Panic wants to give you the ability to save your credit card data a la most major retailers. How does Coda help with the workflow to make that change easier? I suspect it does not, beyond the obvious "create a test directory and test database" scenario.
Josh: "I think their explanation of how it came about is exactly the type of developers they're targeting, i.e. small web sites that might have a few people working on it in different aspects like one or two doing AJAX, another doing content and another doing graphics."
Don't get me wrong, it's a great app for flat HTML, no question about it. But even "small web sites" these days are increasingly complex from what we were working on back in 1995. Think of all the "small web sites" that you visit that are running Wordpress. Does Coda work well with WP? (I don't know.) Does Coda work well with Gallery? Does Coda work well with PHPBB? All of these are tools that even the most basic of webmasters are adding to their sites every day.
A few other confounding aspects to adapting to Coda:
1. The default pref is to open files with a single click. I had no reason to expect this and got really frustrated when the first thing I tried to do was clone a file into subdirectories and rename it. Every file I clicked ended up in the Editor instead of just highlighted.
2. The tabs only show the filename, and I have found a way to show more info without hovering over the tab. The File Manager doesn't reflect the file you're editing. Six tabs say "index.html".
3. No "Save all" feature.
4. Auto-closing HTML brackets are nice. TextMate allows me to type over them, though. You might ask why I want a feature that allows me to type less to allow me to type more: Hitting Cmd+ or Alt+Right Arrow to skip past that close tag breaks my flow. Sometimes I want the closing bracket automatically, sometimes I want to just keep typing.
6. i cannot switch tabs without using a non-standard keyboard shortcut (Cmd+Tab or Ctrl+Tab don't work).
I'm not giving up on it yet and I think the premise is wonderful. Synching local and remote projects with the Publish feature, and still being able to Upload, is great. There are a few conventions that are non-standard or just seem lacking to me based on my previous workflow of Transmit + TextMate + browser (and I'm still switching to a browser for preview).
Damn, that frightening. Is there any way to stop them? :)
coda appears to be the first serious foray into fully parallel replacement and i find it to be an astounding initial pass. you gotta start somewhere folks and panic, in the past, has proven to be a group who nurture and improve their products in meaningful ways. i applaud their effort and look forward to subsequent developments. i'm buying a license if for no other reason than to support their work to date.
and nuts and bolts wise, i've spent an afternoon using the new interface and found it to be a perfectly respectable replacement to bbedit. that said, i use it as an editor and hand-code everything. additionally, as a professional developer, i prefer to have the best tool for each task and don't mind bouncing between utilities for the added value each one can add to my workflow.
just another opinion for the mill.
The emacs keystrokes work, which is nice. It has some cool text editing features like block editing (make the same changes to every line in a selection) and regular expression search-and-replace.
I'd like a "Save All" option, a mapping feature so I can preview using a local web server, and a site-wide find and replace. Beyond that, it's just about perfect for my needs.
BTW, it works fine with Wordpress (editing themes and such). Ditto phpBB. I'm not sure why anyone would think Wordpress or phpBB are examples of sites too complex for something like Coda - neither is particularly complex and Coda handles both admirably.
I have one site that includes a ton of homebrew PHP files, a bunch of static HTML, an entire Wordpress installation in a subdirectory, and an entire phpBB installation in another directory, about a thousand files total. Coda handles the whole thing just fine.
I'll still use Textmate or Emacs for hardcore text editing, but Coda is the Homesite replacement I've been wishing for since switching to Mac.
But I use Grep intensely to edit a static html site (by choice, so don't try to sell me something else), doing mass find-replace operations on files... I've seen no hint I can do that in Coda.
About the css editor, the only thing I miss in BBedit is a list of used colors a-la-TopStyle, and UI-edit rather than hand-coding in CSS is not my favourite.
When I switch apps I try to open possibilities of system switch rather than get stuck with a system... so I guess my path leads me more towards VIM or emacs rather than towards a one-system-only fully-integrated app.
Fourth, webkit is not my preview engine of choice. Rather stick to Gecko, try out extensively in IE, then check in webkit.
The app is pretty nice otherwise, given my limited run at it.
I can't seem to think of a good reason to use anything other than a few terminals with vi, etc. and a browser to do code-(compile/upload)-execute
What does this bloatware-everything-in-a-single-app give you?
This thread is closed to new comments. Thanks to everyone who responded.

