Is OpenDoc an Apple technology following in the footsteps of PowerTalk? Component computing seems to be taking off, and Adam looks at some real-world OpenDoc products, plus Charles Wheeler profiles a family known for its "spokesblob." We also review Bare Bones Software’s powerful, multi-purpose text editor BBEdit 4.0.2, note Heidi Roizen’s departure from Apple, reassure Newton users, and note a Get Rich Quick scheme for serious hackers and crackers.
Newton News — In the wake of Apple’s latest reorganization and cost-cutting measures, several news sources reported that Apple might ditch its Newton division. Understandably, reactions among MessagePad users have ranged from confusion to outrage. On Friday, Sandy Benett, vice president of Apple’s Newton Systems Group, released a letter to developers and users reassuring them that the group "remains intact" amid the reorganization, and that support for the current MessagePad 2000 and eMate 300 is proceeding alongside development of future products. [JLC]
Roizen Leaves Apple — Heidi Roizen, Apple’s vice president of Developer Relations, has announced she’ll be leaving Apple on 19-Feb-97 to commit more time to her family. During the last year, Heidi implemented wide-ranging changes in Apple’s developer support and vastly improved communications between Apple and software developers. Her contributions will be missed in the developer community, and we hope Apple is able to make good on her example. [GD]
Eudora 3.0.2 — Qualcomm has released final versions of both Eudora Light and Eudora Pro 3.0.2. According to Qualcomm, these versions fix problems with nickname file corruption, along with problems with attachments, URL handling, and Eudora’s editor. You must own Eudora Pro in order to use the Eudora Pro updater (1.6 MB); Eudora Light remains a free product and a 2 MB download. [GD]
Get Rich Quick? Inspired by last year’s $10,000 Macintosh Web server security challenge (see TidBITS-317), Sweden’s Joakim Jardenberg is conducting a Macintosh Web server "Crack a Mac" challenge. From 10-Feb-97 through 10-Apr-97, Joakim is offering a cash prize to anyone who can alter the contents of the home page on a standard Macintosh Web server set up for the contest running WebSTAR 2.0. The prize this time is 10,000 Swedish crowns (about $1,350 U.S.), but it’s worth noting that no one claimed the prize from last year’s challenge. Perhaps the U.S. Central Intelligence Agency, whose Web pages were recently cracked, should think about hosting them on Macintosh servers. [GD]
In the past, TidBITS has discussed OpenDoc and the promise of component software, but I think this year’s recent Macworld Expo in San Francisco marked the turning point for OpenDoc as a useful technology. The Component 100 set of booths showcased numerous OpenDoc parts, now known as Live Objects, and many developers banded together to sell differently configured bundles of Live Objects. Prices were universally cheap, and – interestingly – most of the developers were previously unknown small companies. Those last two facts speak to the fulfillment of the OpenDoc promise; it remains to be seen if companies relying on OpenDoc can become an industry force.
I admit that I haven’t yet used many of the available Live Objects. The reason is simple – I always have a tremendous amount of work to do, and it’s almost impossible to justify trying a new way of working unless I have a reason to abandon my previous systems. I suspect this sort of personal inertia will be the primary hurdle the OpenDoc development community must overcome. The solution to this problem, I think, is to offer Live Objects that provide features hitherto unknown. Just as users gladly switch to new programs when there’s a clear advantage, so they will switch to OpenDoc when they see clear advantages to OpenDoc solutions.
To give you an idea what you can do today with OpenDoc, I collected information from many of the Live Object vendors at Macworld Expo. I’m sure this isn’t a complete list of available Live Objects, but it highlights some interesting products you can buy today. A more complete list is available at Apple’s OpenDoc site, and other OpenDoc sites of interest include CI Labs and Component 100.
I don’t list prices for any of the Live Objects below because you can generally buy them in a dizzying array of bundles, one of which will probably fit your needs. Most of the bundles I saw ranged from about $25 to $100. A number of the bundles are listed on the Hutchings Software Web site, and it’s worth checking out individual sites for other offers.
WAV — One of the most talked-about Live Objects was WAV from Digital Harbor. At its heart, WAV is a word processor, but thanks to the flexibility of OpenDoc, it integrates well with the Internet via Cyberdog. WAV provides basic word processing tools along with some interesting features like the ability to click and start typing anywhere on a page. For additional high-end features, you plug in other Live Objects. WAV provides component folders for third-party Live Objects, accessible via tabs at the top of a WAV window. You can also create tabs for Project Folders, which hold URLs, Live Objects, text, and graphics for use with a specific project.
Nisus Writer 5.0 — The powerful Nisus Writer 5.0 word processor was one of the first well-known applications to support OpenDoc. It’s only a container for Live Objects (not a Live Object that can itself be embedded elsewhere), but if you already use Nisus Writer 4.x, upgrading might be a good way to start experimenting with OpenDoc.
C-Table, C-Graph, & C-TextBox — One of the most favored tools in a word processor is the table tool, but many table tools are, shall we say, lousy. Corda’s C-Table Live Object has received good word of mouth for its feature set and integration with other Live Objects, including C-Graph, another Corda Live Object that makes graphics from data taken from C-Table or other sources. Corda also makes C-TextBox, which enables you to make text boxes in any OpenDoc container, complete with stylized text, auto-sizing, drop shadows, and numerous border and fill options.
Canopy Outliner — If you need an outliner, there’s now a Live Object for you. Canopy Outliner from Eclipse can embed other Live Objects within the outline, and it can be embedded in other Live Objects. It can organize any type of data in outline form, has unlimited levels of undo, can auto-number items, and link to interactive content.
Lexi — Of course, where would any word processor be without a spelling checker? Even better, wouldn’t it be nice to have a single spelling checker available in all applications? A variety of utilities have done this over the years, and now it’s available for any Live Object that supports Word Services extensions, such as the forthcoming Cyberdog 2.0, WAV, Canopy Outliner, and others. You can also use SoftLinc’s Lexi in stand-alone mode, where it can check the spelling of any text document or any piece of text imported through drag & drop or copy and paste. Lexi includes a 212,000 word dictionary, an 185,000-synonym thesaurus, a user dictionary, a translation dictionary, and a conjugator.
Dock’Em — MetaMind’s Dock’Em provides the basic functionality and interface of page layout and presentation tools but works primarily with other Live Objects. You can embed other Live Objects in Dock’Em documents, and you can even embed Dock’Em documents in other Dock’Em documents. MetaMind describes Dock’Em as a document construction kit, and with the wide variety of options offered by other Live Objects, that seems like a fair description.
Adrenaline Numbers and Charts — So far, I’ve mainly mentioned word processing technology, Internet technology, and page layout and presentation technology. But, there’s also spreadsheet technology, provided by the Adrenaline Numbers Live Object. It’s a Microsoft Excel 5.0-compatible spreadsheet, and is backed up by Adrenaline Charts, a charting tool that can take information from Adrenaline Numbers. Both provide, to judge from their feature lists, all the basic features that spreadsheet users would need, especially in conjunction with other Live Objects.
PartBank, Internet Search Service, & WinMenu — Kantara Development has created a Live Object called PartFinder that works with the company’s PartBank Web site. PartFinder enables Live Objects to locate other data-compatible Live Objects. For instance, a spreadsheet Live Object could locate and download charting components automatically. Kantara Development has also written Kantara Internet Search Service, which enables Cyberdog users to search within a number of Web search engines and Web catalogs, along with PartBank itself. Also available is Kantara WinMenu, which provides a Windows menu for each OpenDoc document.
Rapid-I Button — Last among the Live Objects I saw at Macworld Expo, but certainly not least, is Hutchings Software’s Rapid-I Button, which enables you to put a wide variety of buttons in your OpenDoc documents. For a better sense of Rapid-I Button and Hutchings Software, read on for Charles Wheeler’s interview with Rapid-I Button’s programmer, Brad Hutchings.
Tucked in the middle of the Component 100 booth at Macworld Expo was a family-owned business that best exemplifies why OpenDoc is important to anyone struggling with bloated software. Hutchings Software consists of Brad Hutchings, programmer and doctorate student at UC Irvine; sister Jennifer, graphics specialist and webmaster; Mom, chief financial officer; and Dad, whose specific job title and duties were not given. This Lake Forest, California, family hand-colored their promotional refrigerator magnets and lapel buttons, and Jennifer hand-sewed a few dolls of Rappie, the company logo/mascot, a blue "spokesblob."
Other than their refreshingly low-key marketing approach, why should you care about the Hutchings family? Because their first commercial product, Rapid-I Button, is the definitive button tool for OpenDoc. This is a fully developed, full-featured component, on par with other commercial offerings from OpenDoc suppliers like Adrenaline, SoftLinc, Corda, or Digital Harbor (whose WAV word processor I’m currently using). Rapid-I Buttons can be used to control Cyberdog, open files, run scripts, play sounds, and more.
Although he had been a Macintosh programmer since 1988, Brad first caught the OpenDoc bug after watching a Cyberdog video in 1995. He contacted OpenDoc Evangelist Jim Black, who sent him information and tools. His first effort, a signaling flag part, was included in the OpenDoc Developer Release 4 CD-ROM. Rapid-I Buttons was first introduced at the World Wide Developers Conference in 1996.
Apparently competing button parts are in the works, but, other than Apple’s simple button component, none have shipped yet. "When they pop up, I squash them," joked Brad, when asked about the competition. "But I’m not just a button pusher. I want to be known for OpenDoc tools that are the best of class." Toward this end, Hutchings Software plans to release Rapid-I Surfboard, a Web part, at the end of February.
So how did Macworld treat the Hutchings family? "The response has been great," said Mom, "Consumers, especially educators, have been very excited."
OpenDoc has once again opened the door for the rest of us. Just when you think it takes a room full of venture capitalists, a campus full of programmers, and a marketing department the size of a small army to launch a new product, along comes Hutchings Software to prove that insanely great things still come in small packages.
[Charles D. Wheeler is a FileMaker Pro for Macintosh consultant, Macworld Expo party crasher, and occasional TidBITS contributor.]
Over the past several years, Bare Bones Software’s BBEdit has matured from an essentials-only programmer’s text editor to a terrific, mature product. BBEdit 4.02 stands out as a highly useful tool, especially for programmers and HTML enthusiasts, as well as for those creating long documents that don’t require many page layout features.
Speaks Softly — With its 1 MB RAM allocation and 1.7 MB disk footprint, BBEdit doesn’t require nearly the system resources of a modern word processor. According to Bare Bones, BBEdit runs on a Mac Plus or better and requires System 7.0 or later, though Bare Bones recommends System 7.5 or newer. The disk footprint may expand, however, if you install freely from the BBEdit CD-ROM – my complete installation of templates, extensions, dictionaries, and more consumes about 8 MB of space.
BBEdit lists for $119, with a cross-grade coming in at $79 and upgrades from a previous commercial version setting you back $39.
One of BBEdit’s hallmarks is packing a ton of great features in an easily-navigated interface. For instance, an optional info bar tops each document window and shows useful data about the document: the last saved date, if the file has been modified since its last save, and the file’s disk location. Additionally, pop-up menus on the status bar lead to often-used functions. Keyboard navigation works well, since there are Command-key shortcuts for most options. One quirk I appreciate is when a document window is created or opened: BBEdit sets a temporary keyboard shortcut (Command-1 through Command-0) that activates the window.
Soft-wrapping, a feature that was key to transforming BBEdit from a programmer’s editor into a general purpose text editor, has been supported since version 3.1. Text wraps automatically at the end of a user-specified distance, much as it does in any standard Macintosh word processor, without modifying the string of characters. Most people take this feature for granted until they experience a program that doesn’t wrap text. In such a program, the text of a long paragraph extends past the right edge of the document window instead of wrapping down to the next line.
BBEdit also supports many Apple technologies and Internet trends. For instance, BBEdit’s Balloon Help explains just about every item in the program, and the BBEdit Guide simplifies looking up terms and can help users through complicated tasks. BBEdit isn’t recordable, but can be scripted using any OSA scripting language, including AppleScript and Userland Frontier’s UserTalk. Savvy scripters can add custom functions to BBEdit by storing frequently-used scripts as commands in BBEdit’s Scripts menu.
Although BBEdit features a vast array of user-configurable preferences, it’s not the most flexible text editor available. I’d give that award to emacs or Alpha (a shareware text editor by Pete Keleher). In contrast to Alpha’s ability to bind just about any key combination to any function, the only key-customization BBEdit users can do is assign Command-key shortcuts to items in the Extensions menu.
However, BBEdit takes typical text editor features a step further. For instance, the Find command supports GREP, which enables searching based on complex patterns and regular expressions instead of just words or phrases. The BBEdit manual and online help do an excellent job documenting the complex syntax involved, making it easy to use a search string like "[A-Za-z]+" to search for occurrences of single words enclosed in quotes. In addition, BBEdit includes some common GREP patterns used by programmers, and users can store their own frequently-used GREP expressions.
Extending the Feature Set — BBEdit comes with extensions, but they are not extensions like Open Transport and RAM Doubler that load when your Mac starts up. Instead, they work more like macros or wizards. For instance, the Convert to ASCII extension automatically converts text containing 8-bit characters into 7-bit text, intelligently changing special characters like smart quotes, bullets, and copyright symbols to 7-bit equivalents that can be sent via email or viewed as text under a different operating system. There’s also an extension called Cut Lines Containing, which, when activated, prompts for a search string. The extension then searches the document for lines containing the string, cuts them out, and adds them to the clipboard. Additionally, BBEdit ships with a set of well-designed HTML extensions, which I discuss in a bit.
Further, BBEdit comes with a full set of instructions, examples, and source code which allow C and C++ programmers to create their own extensions. A number of these extensions are available from the Info-Mac archives as well as Bare Bones Software’s FTP site.
Carries a Big Stick — BBEdit 4.0 finally implements syntax coloring for most commonly used programming languages and even some obscure ones. Syntax coloring means, for instance, that in source code files, comments, language keywords, and string constants are all colored to make them stand out better from the rest of the code. Syntax coloring also works with HTML and makes BBEdit all the more attractive as a Web authoring tool.
BBEdit has another neat feature called Groups, which enables you to assign a set of files – say, all of the files for a Web site – to a group. Once you’ve grouped files, it’s easy to open them all at once, or to run the Find command on the entire group. This feature is a favorite among webmasters who use BBEdit to make global changes: rather than open and change an element (say, a renamed file or broken link) in each file on a Web site, it’s easy to perform a search-and-replace for all files in a group.
BBEdit’s well-designed spelling checker checks words against a primary U.S. English dictionary and a user dictionary. You can add any of a number of optional dictionaries to that set, and included dictionaries span subjects ranging from Biblical and British English to Legal Secretary and Science. The checker ignores HTML tags, making it possible to check an HTML document without tripping over the tags.
I’m a fan of the Compare feature. In addition to comparing the contents of two files so you can figure out how they differ (similar to the diff command in Unix), BBEdit also compares entire folders and Symantec C++ and CodeWarrior project files, and the program displays Compare results in a special Browser window that helps you cycle through the list of differences.
The Internet Club — BBEdit uses Internet Config to populate its Internet menu with your preferred Internet client programs, which you can switch to by choosing them from the menu. You can also open (or "resolve") a URL simply by selecting it in BBEdit and choosing Resolve URL from the menu.
Perhaps the coolest feature of BBEdit for people uploading to remote file servers (such as people doing HTML markup and CGI programming) is BBEdit’s built-in FTP client. This feature allows you to maintain your Web site without leaving BBEdit. The Open from FTP Server command transparently downloads the file to your hard disk, and – when you save your changes – BBEdit transparently uploads the file to the server.
Sticking up for Developers — When used as an editor for programming, BBEdit can interface with Integrated Development Environments (IDEs) such as Metrowerks CodeWarrior and Symantec C++. The interface goes two ways. On one hand, a user can access BBEdit from CodeWarrior; on the other hand, a user can access IDE features from BBEdit.
Thanks to external editor support in CodeWarrior versions CW10 or later, CodeWarrior users can type source code into BBEdit and make that code part of a CodeWarrior project. Then, files opened from a CodeWarrior project appear in BBEdit.
BBEdit uses a Compiler menu to interface to an IDE/compiler, providing quick access to commands like Compile, Set Breakpoint, Add, and Run. One of the extra niceties provided is the Command-Tab keyboard shortcut for switching between C or C++ implementation source files and their corresponding header (declaration) files.
Finally, BBEdit’s features good integration with the Mac scripting environment UserLand Frontier, which is included on the BBEdit CD-ROM. BBEdit supports Frontier’s menu sharing protocol, so when Frontier is running, a customizable Scripts menu appears in BBEdit’s menubar. (Initially, this menu features Web site management and HTML authoring functions.) BBEdit can also serve as an HTML editor for Frontier, enhancing Frontier’s Web site management capabilities.
Programmers have long had great editors, however. Unix users have had emacs; Macintosh users have had the CodeWarrior IDE, the Symantec IDE, as well as Alpha. The explosion of the Web, however, has brought about a huge demand for HTML editors.
Branching into HTML — Many HTML extensions have been written for BBEdit, and they all endeavor to eliminate tedious memorization and typing, or the brain-straining visualization necessary to code for things like tables and forms. Lindsay Davies’s HTML Tools, version 2.1.1, ships with BBEdit and includes extensions for much of HTML 3.2, including tables and forms. In addition to being accessible like other BBEdit extensions (from the menu bar and Command-keys) the HTML Tools can be activated from a floating tool palette. For instance, to format text with a <STRONG> tag, you highlight the text and choose Strong Emphasis from a menu that pops out of the Style button on the palette. The HTML Tools also automate more complex tasks such as creating tables. When it comes to a table, BBEdit prompts for what sort of element to add, such as a row or a cell, and gives you an opportunity to set attributes for the element.
In addition to tools for inserting HTML tags, BBEdit also provides administrative functions. A particularly necessary feature, Check HTML, verifies the syntax of HTML documents and displays its results in a split window with errors on top and the HTML below. As you scroll the list of errors, BBEdit highlights the appropriate text in the lower pane. I won’t argue with Check HTML’s utility, but I’ve found it a bit strict, especially considering the changing nature of the HTML standard. A good improvement for the future would be ability to customize the errors Check HTML identifies.
BBEdit has a custom HTML macro feature that allows you to enter your own HTML functions in a relatively simple pattern-matching format. It takes time to get the hang of the syntax, but by looking at some examples, it is not difficult to pick up rudimentary technique. For instance, the following expression selects a word and frames it with the font size tags: !SW<FONTSIZE +2>\s</FONTSIZE +2>. Thus, it converts "thistext" to <FONTSIZE +2>thistext</FONTSIZE +2>.
Room For Improvement? BBEdit strikes me as nearly a perfect text editor, and I base that statement on having used many text editors in the past, including vi, emacs, Alpha, Plaintext, BBEdit Lite, Tex-Edit Plus, the CodeWarrior IDE, and the Symantec C++ IDE. My uses have ranged from programming C++, Perl, or Java, to writing articles, marking up text in HTML, or simply viewing text downloaded from the Internet.
A feature I would like to see associated with BBEdit is a Revision or Version Control System (RCS/VCS). A Revision Control System enables you to better manage document versions, and would extend the functionality already in the Compare command. Consider the following situation: you create a document, be it HTML, a text file, or C++ source code. A few days later, you edit it and make significant changes. A few more days later, you realize you deleted something from the first version that you wanted after all. A Revision Control System helps you save and track all these existing versions by archiving the previous versions and allowing you to compare the current document to previous versions. Although there are a few third-party revision control system products available (such as Rev, reviewed in TidBITS-362), even the free GNU XEmacs for Unix has an excellent RCS feature built in.
BBEdit has few noticeable bugs. The main one I’ve encountered is a minor conflict between BBEdit 4.0.x and Apple’s LaserWriter 8.4.1 driver, where the last character of a BBEdit document will not print. Bare Bones anticipates fixing this problem in BBEdit 4.0.3, which should be available shortly. Also, BBEdit’s FTP tool doesn’t correctly handle MacBinary file transfers – extraneous information can appear when a file is opened, and file information is lost when a file is saved. This problem should be corrected in BBEdit 4.0.3, and an interim fix is available from Bare Bones.
Bottom Line — Anyone who works frequently with HTML files, source code, or plain text documents can benefit from BBEdit. You can give BBEdit a trial run by downloading the demo from Bare Bones Software’s Web site.
Bare Bones also produces a freeware version of BBEdit, called BBEdit Lite. BBEdit Lite contains all of the editing niceties of BBEdit, but lacks many of the tools, including integration with compilers, OSA support, the HTML floating palette, Internet Config support, a spelling checker, and FTP features.
DealBITS — Cyberian Outpost is offering BBEdit to TidBITS readers for $94.95 ($5 off) through this URL: