The Myth of Auto-Complete

As a designer who also happens to do a lot of front-end dev work, I’m well-versed in text editors and IDE. I’ve been writing web-related markup/code/whatever since I was in high school (the better part of a decade ago), and if there is something I miss from my favourite editor from days gone by (Homesite, which was bought and absorbed by Macromedia, which has since been absorbed by Adobe), it’s tag auto-complete. It is quite frankly insanely handy when you’re trying to speed through a page’s markup and you can simply type a few characters and suddenly have the whole tag done. However, since I made the move back to the Mac platform about 5 years ago, I lost Homesite and it’s brilliant auto-complete feature. The search for a new editor was on.

I ended up with the defacto standard of the day, BBEdit, and I’ve more or less stayed true to it for all these years (you kind of have to, after laying out that kind of money… I’m just glad I got in before the price jumped from 80 bucks to over 200…). I’ve had a few forays into the myriad other options for Mac, but most have fallen by the wayside. The reason usually winds up being, aside from stability, our good friend auto-complete. The easiest way to get my attention with your new editor is to tout it’s auto-complete features. I get all kinds of excited… giddy, you might say. I download, mount the disk image, and give ‘er a spin.

The thrill fades fast, however: the touted auto-completion rarely lives up to it’s promise. Usually, we find ourselves with the case of word completion and not tag completion. Now, I’m not sure why anyone would want word completion: tags, functions and the like generally won’t be found in the OS X dictionary, and if you’re worried about spelling errors, a lot of Cocoa-based editors offer inline spell checking via the spell check service in the OS. What we end up with is a very intrusive menu popping up every other second, offering little in the way of aid, and in some cases, everything in the way of sheer havoc (for example, Smultron’s auto-complete function that actually changed the case of the tag I was typing).

Such auto-complete features leave me scratching my head and 30 day demos expiring in the bowels of my Applications folder. Well, why not auto-complete in BBEdit? Surely such a massively popular editor would have something? Right? Well, not by default. Yes, they do have palettes with tag insertion options, but those rarely seem to make much sense to me (or output the right code, in many cases), and I’m not looking to move my hands from the keyboard, just to grab the mouse and hunt for a button on a palette that is hogging valuable screen real estate (yes, I realise the irony of me talking about “valuable screen real estate” when I have a 24″ and a 20″ LCD… but come on… who wants all that floating around the screen like some sort of disembodied head?). Generally, the answer I get from the BBEdit elite is that of BBAutoComplete, an Apple Script plugin for BBEdit. People swear by it. Even ultra Mac-head John Gruber has praised it. Well, BBAutoComplete and I have a sordid past. Frankly, every time I’ve given it another shot, I either get script errors, or when it does work, it has an infuriating limitation—it only offers completion based on words already in the page, and is frankly a less intrusive version of the aforementioned word completion functions.

I did, however, find the perfect implementation of the auto-completion ideal in SKEdit. It really is a fabulous little editor, and I’m not the only one to say so.

Why then do I continue using BBEdit sans auto-complete 90% of the time? It comes down to stability. BBEdit has been around for ages and could quite possibly survive a nuclear holocaust in better shape than the cockroaches. It is simply rock solid. SKEdit, however, is the side project of a single developer. It is brilliant, and I want to love it and focus solely on it, but there is something in bringing your editor into it’s 8th version that seems lacking in a program on it’s 3rd revision. I’ve had a few extremely untimely crashes in SKEdit, and for a while there, it was crashing each time I used it. The latest versions seem more stable, but one can only place their trust in something shaky for so long. I hold out hope for SKEdit, and it’s dreamlike emulation (and enhancement) of the Homesite ethos, but until that day comes, you continue to see me doing a lot of extra typing in BBEdit and constantly downloading the next new editor to clog up my Applications folder.