One of the great myths, in my personal experience, is that when you pull up the ratty carpeting in an old house that you've just bought, you'll find a gorgeous hardwood floor. We always find plywood, but perhaps our luck is changing, since peeking under the carpeting in Bare Bones Software's BBEdit 8.5 has revealed some seriously nice planks.
For those recently recovering from amnesia-inducing accidents, BBEdit is a text editor aimed primarily at people who work with pure text files, often involving code of one sort or another: programmers, Web designers, network sysadmins, and so on. BBEdit's long history (it was first released in 1992) means that the program's feature set is extremely mature; on a number of occasions when I've asked Bare Bones Software's Rich Siegel a question about something I didn't see, he simply pointed me in the right direction.
With BBEdit 8.5, fewer users should be unaware of what the program can do, since although 8.5 is a significant upgrade with some extremely welcome new features, much of the effort has gone into revamping the interface to reveal features that most users never realized even existed.
Old Features, Revealed -- BBEdit has long had a glossary feature for inserting frequently used bits of text. Or so Rich tells me - I hadn't known that until now, and it took me a few minutes even to find it (a palette in Windows > Palettes) in the previous version of BBEdit. Bare Bones dusted this feature off, renamed it to Clippings, and gave it a top level menu. You can now create clippings from selected text, store clippings in sets, and access the clippings via a palette that offers searching with auto-completion. Clippings don't have to be just static text and can have intelligent placeholders that insert variables like the date and time; these placeholders can even invoke AppleScript or Unix scripts.
Also completely revamped is BBEdit's toolbar, whose graphic style hadn't been updated in years. The toolbar now has larger, more Aqua-like buttons, and Bare Bones rearranged them for a more logical layout, moving some functions to a status bar at the bottom of the screen and removing some entirely.
But where the most work may have been done is in the Preferences window. Arguably, you don't spend a lot of time there, but the program has myriad options that, if set properly, could improve your productivity. To that end, Bare Bones completely overhauled the preferences interface, making the entire window larger and the controls more readable, rearranging items and entire sets of preferences to make them more easily found. An alternative access method is now available as well, via a search field in a drawer. Enter a term, and BBEdit shows all the related options, then you can double-click one to jump to the appropriate set. I've already found this useful when attempting to locate preferences for new features.
BBEdit has long enabled users to set keyboard shortcuts for any menu item, though that option was oddly placed in the BBEdit application menu. That functionality now lives in the Menus preference pane, but more interestingly, checkboxes next to every menu and menu item in the program enable users to turn off unwanted items. For instance, I have no plug-ins that appear in the Tools menu, so now I can just turn the entire Tools menu off and reclaim the menu bar space. With so many menu items in BBEdit, I'm going to enjoy paring it down to functions I actually use.
Lastly, although I barely realized that either existed, Bare Bones significantly changed the interfaces to both the FTP Browser, which lets you open files from FTP sites (I instead always use Edit with BBEdit in an FTP client like Fetch or Interarchy), and the Disk Browser, which gives you an alternate interface to files in the Finder. If you use either, you'll probably appreciate the redesigns, and although I don't use them, the Disk Browser looks like a great candidate for providing a better interface to folders under version control; BBEdit's tools for working with version control systems essentially just issue directives at the command line, rather than providing a conceptual interface to the version control functionality.
New Features -- Most notable among BBEdit 8.5's new features is "code folding," which enables users to collapse ranges of text into tiny ellipsis lozenges so as to focus on other parts of a document. Code folding works on selected ranges or, when used with a particular language, it can automatically detect the appropriate areas to fold, such as the text within paragraph tags in HTML. Once text is folded into a lozenge, it can be moved around in the document or expanded via double-clicking.
Next, and of particular interest to us, is that BBEdit's Find Differences feature now identifies changed lines and highlights the specific words within those lines that changed. In conjunction with BBEdit's support for version control systems like Subversion, this feature makes BBEdit significantly more useful for comparing different versions of prose text files, where a "line" is a full paragraph of text, rather than just a relatively short line of code.
Speaking of prose text, anyone writing in BBEdit (including content for Web pages) will appreciate the addition of a contextual menu item for Look Up in Dictionary, and the capability to enable Check Spelling As You Type.
Although BBEdit is a highly stable application (it has crashed only twice on me in Mac OS X, with both crashes coming more than a year ago despite frequent use), BBEdit 8.5 adds a user-configurable auto-save feature, with automatic recovery should a crash or power failure cause a document to be closed without saving. Thankfully, BBEdit 8.5 does auto-recovery right, by automatically opening the backup file if BBEdit alone is launched, and automatically using the newer backup file in place of the original if the user launches BBEdit by double-clicking the file in question. (Compare this with Word, which opens the recovered file as a separate document, creating a massively stressful situation as you try to figure out the best course of action.)
Mac OS X automatically compresses old log files in gzip format, and BBEdit 8.5 can open and save such text files without requiring an additional expansion or compression step. This feature could also make it easier to share very large text files with other BBEdit users, since you can automatically create a compressed file by merely saving it with a .gz or .gzip extension.
BBEdit now supports a number of additional languages, including Ruby, several variants of SQL, and YAML. Plus, users can now adjust editing and display options (such as the color of comments, among much else) on a per-language basis, enabling anyone who works in multiple languages to have better customization. Codeless language modules are also more flexible now, enabling better handling of programming and tagging languages that BBEdit doesn't support out of the box.
For those who regularly work with "camel case" variable names like firstName, BBEdit 8.5 now provides Control-Left/Right Arrow shortcuts for navigating to the next part of the word, rather than the way Option-Left/Right Arrow jumps to the next word. This setting is optional, and those who prefer the old horizontal scrolling setting for these keys can revert to it with special defaults.write commands.
Details -- Along with the interface streamlining, BBEdit 8.5 sees a price streamlining with a cheaper price but no permanent cross-upgrades from other programs. The price is now only $125, with upgrades from previous versions of BBEdit 8.x priced at $30 and upgrades from earlier versions of BBEdit priced at $40. And for once, those nice round numbers aren't the result of us rounding the prices for honesty's sake; they're what Bare Bones publishes.
A 30-day, fully-featured demo of BBEdit 8.5 is available as a 13.7 MB download; the addition of a registration code turns it into a registered copy. We've been using BBEdit 8.5 for only a few days now, and although it still isn't writing articles for us, it's a good upgrade for a program that many people consider an essential tool.