Coda Feature Wishlist

I’d long been a user of BareBones’ BBEdit, a product that’s served me well for a number of years. But upgrading from version 8.5 to 9 is a paid deal, and after spending 15 days with the demo of BBEdit 9, I decided I wanted to look around a little bit. My friend Matt switched from BBEdit to Panic’s Coda some time ago, and I liked the demo of that well enough that I bought a license.

Now, after using Coda for about a month, I’ve found that I miss a number of BBEdit’s behaviors and can point to a few areas where Coda can use improvement.

Selection ranges

If you don’t know that double clicking a word is the fastest way to select the entire word in most GUIs, you’re missing out. However, the rules that define a “word” (or the word boundaries) vary considerably. BBedit’s rules are clear and consistent, but Coda does weird things. Specifically, double-clicking a variable like $var does not select the $ in BBEdit, but Coda’s selection behavior changes. If you simply double-click the $var, Coda will select the $. But, if you double-click, then move the mouse to extend the selection range, Coda drops the $. Why? This has led to a number of compilation errors because of missing $s preceding variable names. Argh.

(Worth mentioning: text selection in Windows apps is the worst of all, that’s the biggest reason why I can’t use Windows.)

Find, grep, regex

The marketing materials for both BBedit and Coda praise their find and grep features. I was pleasantly surprised at first to see Coda’s rich and easily accessible options for those features, but then I began to miss a number of BBEdit’s features and options.

The simplest different is that BBEdit gives much more space to create both search and replace patterns. Both support regular expressions, but BBEdit’s support for non-regex searches is stronger. If I continue to use Coda, I’ll need to develop the practice of always writing my search and replace expressions as regex, which wouldn’t be so bad if I could understand Coda’s regex engine. Coda offers a number of options to control the regex engine, but all I want is to duplicate PHP’s preg_match() behavior.

FTP behavior

While my first two complaints related to deficiencies in Coda as relates to BBEdit, this is probably the feature in Coda that made me switch. The integrated FTP works well and answers a number of complaints I had with BBEdit. Creating a new remote file is a surprisingly difficult task in BBEdit, but works simply and conveniently in Coda. That said, I have a few frustrations.

A few examples:

  • Navigating the remote filesystem isn’t as fast as it should be; hitting the enter key on a selected file or directory renames it rather than opens it (big complaint). This behavior mimics the Finder, but contradicts a number of conventions of the File > Open dialog.
  • Copying a file from one directory to another isn’t as easy and simple as it should be. I wouldn’t complain about this if the above behavior were less like the Finder’s in other respects (that is, I’d rather solve the first issue and drop this one).
  • I’ve grown rather accustomed to Mac OS X’s Quick Look feature. Why can’t I quick look the images and other non-text files in the FTP viewer? (Another small complaint.)

Update: Panic has a blog (and the design is awesome), but I don’t see any obvious place to leave product feedback.