Software Review: BBEdit as a Tool for Building Your Website, Page 1
Among the most powerful text-editing packages available on any software platform, BBEdit 8.0 for the Macintosh fills a specific niche that is under-served by visual XHTML authoring software.
Text Editing, First and Foremost
BBEdit is, first and foremost, a text editor. It can transform, convert, search, replace, re-order, and otherwise manipulate text in fairly astonishing ways; it can perform lengthy sequences of these text manipulations in any order you specify, and it can do it all across several files at the same time, working in the background while you do something else. As an example, while preparing this review, I created a small set of instructions which downloaded several hundred pages from a client’s website (using scripting tools built into Mac OS X) and then leveraged BBEdit’s sophisticated text manipulation tools to perform several million transformations, re-orderings, and search/replace functions to distil specific information out of those pages and collect it all into a single spreadsheet — all automatically. This example draws on a new feature of BBEdit 8.0 — the ‘text factory’ — which enables you to save a whole set of transformations to be applied in sequence to any set of files you specify. In other words, I told BBEdit the sequence of transformations I wanted it to perform and then just turned it loose on the directory full of files to do its magic. This is like batch processing on steroids.
The equivalent manual manipulations of all that text, using something like a word processor, would have taken weeks of dedicated effort — and would have involved such sheer, mind-numbing boredom that it never would have happened! But with BBEdit, once the task was all set up, I was hardly involved; and the task can be repeated over and over as required, without further effort.
As this example suggests, as a text editor, BBEdit is an exceptionally powerful tool for working at the level of the underlying code in a website — whether one page at a time or across whole sets of files. It also includes plenty of built-in extensions, such as robust CSS support, glossaries and templating, XHTML syntax checking, automatic tag closing, site management tools, and more which make it well-suited as an XHTML development environment.
What BBEdit is not, however, is either a word processor or a visual XHTML editor. You cannot use it to select a piece of text and then choose menu options to turn it into 39-point boldface green Zapf Chancery, in the way that you might with a visual editor — although it includes a very capable rendering engine so you can preview the result if you really want to code your page for garish green flowery text.
It would be possible — although probably rather fiddly — to manage a large website entirely in BBEdit. However, I believe it is best viewed not as a tool which competes with full-fledged web development environments, but rather as a tool which complements them. The software’s ‘core competencies’, if you will, ‘fill out’ the capabilities of other environments like visual XHTML editors and make it possible to perform tasks that just aren’t practical with the other tools.
Who Needs a Text Editor?
So who would ever want or need a text editor?
The easy answer is that anyone who wants to work with plain text — whether that be the plain text of web pages, the plain text of programming languages, or any other plain text — needs a text editor.
Try Online Counseling: Get Personally Matched
But even if you do regularly work with plain text, until you’ve seen the sheer power of a software package like BBEdit, you may not realize the possibilities it creates enough to actually want it. As with the example I described above, unless you knew in advance that it was possible with something like BBEdit, it might never occur to you to scour through hundreds of pages, extract little bits of information from each one, and then assemble them all into a spreadsheet. If you have only experienced the comparatively primitive search and replace functions of a visual XHTML editor or a mainstream word processor like Microsoft Word, such a task might never even seem worth thinking about.
Before writing this review, I used BBEdit on and off for around 3 months in a real business environment — as a private practitioner, consultant, and general all-around web guy. I’ve found that using the software has led me to ‘re-calibrate’ my ideas about what is possible — or, rather, about what is feasible and practical, given the many demands on my time. I’ve found myself re-calibrating my sense of the practical not just once, but many times.
So, there’s another answer to the question of who would want or need a text editor: anyone who wants to surpass the limits of what is feasible with the likes of a word processor or a visual XHTML editor, and find themselves exploring whole new realms of possibility.
A Question of Speed
In the context of web environments, another reason for using a text editor like BBEdit is especially salient: raw speed.
If you’ve ever sat through a lengthy site-wide update in Macromedia Dreamweaver — or worse, Adobe GoLive — you’ll know just how long these things can take when using a visual XHTML editor. Not so with BBEdit: even the most complex transformations across multiple files occur so quickly that the performance of BBEdit cannot really be meaningfully compared to that of environments like Dreamweaver or GoLive. For some transformations, just using very rough tests, I have seen BBEdit work more quickly than GoLive by almost two orders of magnitude — i.e., BBEdit is 100 times faster. Whereas I can set GoLive going on a site-wide job and have time to go make a cup of tea or read a journal article, BBEdit barely gives me time to stand up and enjoy the view from my office window before it is finished!
And being preemptively multi-threaded, not only can individual search and replace operations take place while you continue performing other tasks in BBEdit, but they will also take full advantage of the dual processors found in most Power Mac systems.
(Having said all that, it is possible to slow down BBEdit: throw a complex text factory at a folder full of files which aren’t structured in the way you were assuming when you created the text factory, and you might just have time for that cup of tea after all. However, this is best understood as a case of applying lots of power to a very difficult problem — exhaustively attempting to find a way of manipulating a file which lacks the structures the software is looking for — rather than as an inherent lack of speed.)
A Side Note: Why Not Just Use Sed?
A brief technical interlude, which may be safely skipped unless the word ‘sed’ means something to you…
All my waxing rhapsodic about the sheer text-transforming power of BBEdit may have left some power users asking themselves: why not just use the Unix utilities sed, or awk? Surely they have this kind of capability?
And it’s true, they do: most (probably all) transformations which are possible with BBEdit are also, at least in principle, possible with sed or awk.
But wait: there’s much more to BBEdit than just transforming text (read on below)!
Moreover, even if that were all it did, you would still immediately appreciate the advantages of BBEdit if you’ve ever wanted, for instance, to see right on your screen which text a given expression (in grep) will match…or if you’ve ever wanted the option to ‘undo’ a transformation…or if you’ve ever wanted to have quick menu access to transformations which would otherwise require libraries of multi-step sed or awk commands…or if you’ve ever wished sed could more easily accommodate multi-line matches… (Regarding the last, BBEdit has no problems whatsoever with sophisticated multi-line manipulation.)
For me, it’s a bit like the difference between a drag-racer and a Ferrari. Both cars will move you from point A to point B very quickly. But if you want any kind of manoeuvrability or subtlety, if you ever want the option of not just going from A to B in a straight line, choose the Ferrari.
Please see our Review Disclosure Policy.
All clinical material on this site is peer reviewed by one or more clinical psychologists or other qualified mental health professionals. This specific article was originally published by Dr Greg Mulhauser, Managing Editor on .on and was last reviewed or updated by