PROGRAMMING PARADIGMS

The Mac, the Web, and Errant Pedantry

Michael Swaine

Reader Neil MacDonald sounds like a kindred spirit, I thought, as I read his e-mail message. There are those years he spent in book and magazine publishing, and his strong views on the use and misuse of text. These days, he develops text apps, using HyperCard for prototyping: in short, a word kinda guy.

Inspired by our December 1994 piece on HTML and by an old (June 1990) column of mine, Neil e-mailed me as follows on the issue of style in the age of electronic communication:

I object to the growing use of underlines, especially as seen in [World Wide Web pages]. My roots in ink-based orthography influence me away from ever using underscore. [One] should never actually underline text passages!

Underscore [must be] carried over from TELETYPES. Are these still in use? (Perhaps in Basecamp Antarctica.) As electronic documents will someday displace imagesetter documents, so will many amateurs be hijacking bold and italics for unseemly uses.

Is what I submit here really just errant pedantry? Is the Web already out of control, right from the beginning? Does a letter like this lead you to reconsider appending your e-mail address in DDJ?

You see why I identify with this guy. I'm just a sucker for errant pedantry. Coincidentally, I was working on this column about the World Wide Web just as this querulous missive dropped into my inbox. That was Coincidence One. Coincidence Two was another item that fell into my inbox that day, from Chuq Von Rospach, List Mom of apple-internet-providers@abs.apple.com. This was Apple's announcement about its Internet offerings.

I had planned to say some things this month about Web software, especially Mac software, since that's the flavor I've been sampling lately. I probably would have touched on Neil's concerns anyway, but Chuq's message shifted my focus abruptly.

Apple, the Low-Price Leader?

That's the claim in the press release. I'll say this: Somebody knows how to get this skeptic's attention.

The announcement was really two announcements and a preannouncement. Announcement One: Apple is offering three Internet server bundles, PowerMacs with a CD full of the software necessary to set up a World Wide Web server. Announcement Two: Apple is also offering Internet-access packages for educators, including all necessary software, a modem, and a trial Internet account. The preannouncement was the less-than-earthshaking news that Apple's eWorld service will provide World Wide Web access in the next release, projected for this summer.

The educator package could be the most significant of the announcements, given Apple's popularity in that market and the widespread perception that every schoolchild ought to be on the Internet. Most significant for Apple and for the world at large, that is.

But the server bundle is of most interest to us.

Plug-and-Play Web Serving

Apple describes this package as a "WWW server in a box"--all the hardware and software required to create Web pages and run a Web server. Everything but the phone line. Apple claims you can be up and running in minutes after opening the box. The appealing phrase "single-click installation" is heard.

There are also some strong-sounding claims regarding security. "One of the most secure right out of the box," Apple says, which of course isn't necessarily the same as "one of the most secure." Of course, when the alternative is UNIX, it's easy to score points re: security. One of Apple's points is that the Mac OS doesn't allow remote administration as UNIX does, and these servers are pure Mac-OS machines. No UNIX a-tall.

There are three machines. The 6150/66 has a 66-MHz PowerPC 601 processor, 16 Mbytes of RAM, a 700-Mbyte hard drive, and a quad-speed CD-ROM drive; it sells for $2909. The 8150/110 has a 110-MHz PPC processor, 16 Mbytes of RAM, a 1-gigabyte hard disk, and the same CD-ROM drive; its price is $5319. The top of the line is the 9150/120, with a 120-MHz 601, 16 Mbytes of RAM, two 1-gigabyte hard drives, the CD-ROM drive, and a DAT drive with backup software. That one is $8209.

Whether or not these prices justify Apple's claim to the lowest-cost route to establishing a Web presence is an empirical question and subject to market correction. Sometimes the claim of lowest price lasts only as long as it takes your competitors to read your claim and adjust their pricing; then, too, the real lowest-price solution rarely involves buying new hardware. That said, I have to admit that I was impressed.

So did I run out and buy one?

No. I had just spent a big chunk of change on a PowerMac about six months ago, and all I would be interested in is the CD-ROM. And Apple isn't selling that separately. It's the bundle or nothing. Which is not to say that the software, or equivalent software, isn't available elsewhere. In fact, you could probably find most of what you need as shareware, and often very good shareware. (I'd already looked at most of this software before I knew it would be part of this bundle.)

Nice to have it all on one CD, though, and the one-click installer sounds so good, doesn't it?

The Bundle Deal

About that software: As I mentioned, it's all Mac OS-based; there's no UNIX supplied or required. The bundle includes System 7.5, which in turn includes MacTCP, the without-which-nada of Mac Internet connectivity.

The central component of the server software, though, is MacHTTP, which IS the server; that is, it allows you to serve text documents, like the HTML documents that Web pages are, as well as binary files, like GIF and JPEG graphics. MacHTTP supports AppleScript, so you can integrate FileMaker, HyperCard, and SQL applications with your Web pages. Convenient, then, that versions of FileMaker, HyperCard, and an SQL application are included in the bundle, along with some sample databases for each and the hooks to make them work with MacHTTP.

For creating and editing HTML documents, Apple is providing BBedit, the most widely praised code editor for the Mac, now featuring a set of HTML-editing extensions.

To see what you've created, you need a Web browser. Apple is bundling NetScape from NetScape Communications, the company formed by key Mosaic developer Mark Andreessen and former SGI president Jim Clark. About NetScape: Both the company and the product were initially overpraised in the press and are now suffering from some backlash. Wired magazine (or rather HotWired, its online persona) raised an eyebrow when NetScape didn't have a booth at a recent trade show, and the errant pedants on the Web object strenuously to certain Web makers' use of NetScape-only extensions to HTML. There's even a Web page devoted to ridiculing those who seem to regard NetScape's blinking text as a big improvement over underlining.

An Aside Regarding Style

A personal aside that will annoy my pal Neil: I recently finished writing a HyperCard-based HTML editor, and found myself using the underline style to flag the hypertext links (URLs) in the documents that the editor produces.

No, that's not quite right. I used underlining early on in the development of the product, but I wanted to change it right from the start. HyperCard has its own mechanisms for supporting hypertext links, and I thought that the URLs that my editor placed in documents ought to use some of HyperCard's linking techniques. I implemented that, so the editor now assigns the HyperCard Group Text style to URLs, rather than the Underline style.

Group Text is crucial for hypertext linking: It allows the user to click on a word or arbitrary string of characters and incur some action. I use this capability to make the links hot. That is, while the editor is not a Web browser itself, it will let you click on a link as though it were, and it will fire off the URL to a Web browser if you happen to have one running.

Maybe that's not clear. The editor produces documents that a Web browser can read. The Web browser shows links by its preferred style, such as color, and jumps to the associated address. I wanted my editor to show the links, too, and to invoke the Web browser to jump to the address.

Talking to the Web browser was easy, so the only trick was how to make these links visible so the user would know where to click. HyperCard has a solution for that: By turning on the Show Groups property at launch, my editor can use HyperCard's built-in style convention for grouped text.

That convention is (sorry, Neil) underlining.

Back to the Bundle

Of course, HTML could turn out to be a flash in the pan. Some time back, pundit Tony Bove expressed the opinion that the efforts of Adobe to produce a portable document format in Acrobat have been in vain, and that a noncommercial product, viz Mosaic, had won that battle. Not everyone agrees that Mosaic and its kin are the last word in portable-document formats; many would say that the Acrobat alternative is particularly interesting when you're publishing over a heterogenous LAN. Well, Apple supplies Acrobat in the bundle, too.

AppleSearch is also bundled, including AppleSearch for Windows so Windows clients can access files on your AppleTalk network.

And there is some software support for clickable maps and for e-mail.

The Missing Pieces

It's interesting that Apple positions these as Web servers. That's consistent with Apple's deep need to be trendy, of course, but it also finesses the detail that the software bundle isn't all you might want to be an Internet provider.

One missing component is MacDNS, the domain-name server software. Although it's promised to ship with the servers by summer, it's not in the first release.

Apple had its own name-resolution problem with this product. Another company, having had the genius to come up with it first, objected to Apple using the name MacDNS. The matter has since been resolved, and aren't we all relieved. Apparently the delay in the release of MacDNS was not caused by this nonsense.

Another missing component: a news server.

If Apple delivers MacDNS this summer and does something quickly for NNTP support, the missing-pieces issue could be moot. It just may be that Mac-based service providers, coming late to the net, will choose to ignore a lot of baggage of chiefly historical interest. How many services that service providers now provide will be of little to no interest in six months?

NNTP? Definitely gotta have a news server, though maybe you can get it elsewhere for now. Internet Relay Chat? Well, okay, but bandwidth allocation is bound to be a problem. Same for CU-SeeMe. But do you really need to put up an Archie server? A Veronica server?

Here's one view I saw expressed in the chat flurry following the announcement of the new servers: The cream will float to the top and only the tried, the true, and the downright wickedly cool will survive. A quintessentially Mac-headed attitude.

Apple Guide Complete

Meanwhile, off the net and over the transom here at Stately Swaine Manor drop not one but two fat copies of the aptly titled Apple Guide Complete (Addison-Wesley, 1995).

Between the covers of this tome are 500-plus pages and a CD-ROM containing everything you ever wanted to know about designing, building, and scripting Apple Guide files, as well as integrating them with your applications.

Always assuming, of course, you are interested in knowing anything about Apple Guide. If you do any Mac programming, you should be, because Guide will be a key tool in the next big Mac OS release (code named "Copeland"), which will be hardware independent and is due out sometime next year. With the arrival of Copeland, Guide will become a tool for developing agents that perform repetitive tasks.

Right now, though, Apple Guide is a help system that makes it relatively easy to produce and deliver on-screen interactive help for users of your applications. Unlike Apple's Balloon Help, which generally answers the question "What does this gizmo do?," Guide specializes in instruction of the "How do I accomplish this task?" variety. When users invoke Guide help for your application, they see a small, floating help panel on top of the application window. You can give them a sequence of panels to walk through, and you can put in branches that depend on user feedback or external conditions, like the presence of a particular piece of software. The help panel typically says "How do I <something>?" at the top and then answers the question with specific "Do this" instructions below. A nice, irreverent touch is the "Huh?" button, which you generally link to definitions of terms in more-detailed explanations of a process's substeps.

So far, I might almost be talking about Windows Help. In fact, Windows Help files can be imported to Guide and converted into Guide files.

The Red Circle

Guide, though, is considerably more interactive. Rather than just saying "Do the following" and supplying a text description of the steps in a process, Guide documents can say "Here, let me show you." They walk the user through the task step by step, pointing to the correct button to press or menu to select and waiting until the user presses that button or selects that menu. The coolest aspect of this is how Guide points to the object in question. As though an unseen hand wielding an invisible magic marker were writing directly on the user's screen, a big red circle will be drawn around the object, slashing heedlessly across window boundaries with an attitude that can't help but warm the heart of anyone who has ever rankled under the strictures of the Apple-interface police.

The red circles are rad.

There are basically three phases to implementing Guide help for your application: designing the Guide files, scripting them, and integrating them into your application. Apple realizes that the three phases might be the responsibility of three different individuals or teams. The book covers the whole process, but broken down into those three phases.

Guide scripting is within the scope of anyone experienced with HyperTalk or AppleScript or any scripting system. Actually, Guide scripts look more like HTML than anything else; Guide Script commands are named keywords enclosed in angle brackets, like this:

<Define Text Block>

To start, click Topics, Index, or Look For.

<End Text Block>.

Naturally, integrating Guide files with your app requires more programming experience, although the Guide API is pretty straightforward. From within your app, you can start up Guide and check its status; get the number and types of Guide files available; open, close, manipulate, and get information about Guide files; and more. Integrating Guide into your app isn't obligatory, but without integration you don't get the level of interaction that makes Guide special.

Designing Guide files is really an instructional-design task. Apple has broken out the task and, in this book, the documentation for that task, so that a nonprogrammer with instructional-design knowledge can do the job.

The book offers style advice for designing Guide files, but some style decisions have already been made by Apple. You can safely expect any two Guide documents to look more similar than any two Web pages; Mother Apple is more controlling than those Internet anarchists. Display text defaults to a proper 10-point Espy Serif Plain Black, title and prompts default to Espy Sans 10 Plain, and so forth. You rebels out there can, however, override the defaults, and the book gives some style tips to follow if you do so. The first one:

Use an underscore to indicate hot text.

Sorry, Neil.


Copyright © 1995, Dr. Dobb's Journal