CD-ROM: THE CUTTING EDGE

Just as applications changed when hard disks became widely available, they are beginning to change again to take advantage of the newest storage technology to go mainstream: CD-ROM. The acronym, which stands for Compact Disc-Read Only Memory, doesn't begin to tell how the technology can liberate your applications from the currently established limitations of magnetic media. This article discusses the ups and downs of CD-ROM and looks at simple and creative ways developers can take advantage of this new medium.
With its advantages over traditional magnetic media, CD-ROM can help you establish a real difference between your products and those of your competitors. It can enable you to produce ground-breaking applications at an affordable cost, unconstrained by disk space limitations. Although it does have its own limitations, its advantages and the possibilities they offer should be enough to convince you to make the investment in this competitive weapon.
THE CD-ROM EDGE
CD-ROM puts traditional magnetic media to shame in more ways than one. Beyond the obvious advantages of high capacity and low cost, no magnetic media can match CD-ROM in the areas of versatility, durability, portability, and interchangeability.

Capacity. Optical encoding of digital data enables storage of up to 660 MB of information on a single 120-mm CD-ROM disc. It would take more than 800 floppy disks to hold the same amount of information. Although some recording techniques limit CD-ROM discs to 550 MB, even a disc with this lower limit holds more information than hundreds of floppy disks.

Economy. You would think that with its capacity and durability, CD-ROM would be quite expensive. On the contrary, when you need to distribute at least 10 MB of data to 100 or more people, CD-ROM is a very cost-effective medium. Large numbers of discs (over 1,000 units) can be produced for near two dollars per disc, almost as low a cost as for producing a standard 800K floppy disk.

Versatility. A CD-ROM disc can contain both digital data and high-quality digital audio tracks (usually copied directly from a digital audio tape). Thus, this technology opens the door to new combinations of data and sound on a single medium. See Eric Mueller's article "Accessing CD-ROM Audio Tracks From Your Application" in this issue for insight into how such things are done.

Durability. Because CD-ROM is a read-only medium, a disc has a high degree of data integrity once it is pressed. Users cannot erase or overwrite the data, nor can they accidentally infect the disc with the latest virus. CD-ROM discs are mostly comprised of, and completely coated by, durable plastic. This construction, combined with the fact that the data encoding method used today provides its own error correction, makes CD-ROM a highly stable and durable medium, resistant to the handling and magnetic damage that commonly affect other types of media. (To prove this point a few years ago, an Apple engineer buried some CD-ROM discs in his cat's litter box for a week. He then wiped the discs clean and successfully read all the data from them.)

Portability. Another advantage of optical technology is its portability. Unlike most sealed hard disk platters, CD-ROM discs can be removed from a CD-ROM drive. This feature gives the user a virtually unlimited amount of storage space without locking him or her into a single type of information from minute to minute.

Interchangeability. Any CD-ROM player can read any CD-ROM disc at the bit level, since all CD-ROM discs, whether they contain data, audio, or both, share a common physical format. To go one step farther, developers can use a standard file system format to enable users to access a disc on a variety of hardware configurations under several different operating systems. Brian Bechtel's article "The Ins and Outs of ISO 9660 and High Sierra" in this issue explores the two standard file system formats. Developers can also mix partitions on a disc so that it can be read by both the Macintoshr operating system and ProDOSr, as explained in Llew Roberts's article "How to Create a Mixed-Partition CD-ROM" in this issue.
SO WHAT'S THE CATCH?
All this for one low price? There must be a catch. Not exactly. Some minor limitations, yes-in the areas of speed, inability to write on the medium, and cost 
of a CD-ROM drive-but no show-stoppers.

Speed. Due to the mass of the optical read head and the data encoding methods used, reading from a CD-ROM disc is slower than reading from a good hard disk, but still faster than reading from a floppy. The speed of reading from disc, which is 150K per second, is sufficient for just about anything but uncompressed, full-motion color video, but any application that requires a lot of disc access (for example, HyperCard) suffers some performance degradation if run directly from CD-ROM instead of from a hard disk. Of course, if you are just using CD-ROM as a means of distributing your software, then speed really is not a problem since users are most likely going to copy your software to their hard disks or file servers to use. But even in cases where speed does matter, there are things you can do to address this concern; see the sidebar "Maximizing CD-ROM Speed."


Inability to write. The read-only feature that makes CD-ROM so durable is considered by some to be a disadvantage to this technology. Since you cannot 
erase or overwrite CD-ROM, it is not a replacement for magnetic media. Optical technologies that allow writing as well as reading are coming to the market-including read-only and erasable-optical discs, laser videodiscs, and WORM (write once, read many) discs-but none of these can currently match the cost-effectiveness of CD-ROM for electronic publishing and distribution.

Cost of a drive. Although Apple recently cut the price of the AppleCD SC to be comparable to that of an average-sized hard disk, many developers still consider the cost prohibitive for the mainstream user, and therefore do not consider a CD-ROM drive a mainstream peripheral. It is true that today's installed base of CD-ROM drives is small, but it is beginning to grow at a faster rate as more and more new titles appear on the market. Here we have the familiar chicken-or-egg problem: developers want to wait for the installed base to reach a certain point before they develop for CD-ROM, and users want to wait for the number of useful CD-ROM products to reach a certain point before they buy a CD-ROM drive. 

Still, the fact is that it may only take a single blockbuster CD-ROM to motivate many people to buy. For example, when Apple's Developer Technical Support group produced the original Phil & Dave's Excellent CD (now a collector's item), many developers found it reason enough to buy a CD-ROM drive. If your product is good enough, people will purchase the necessary hardware to use it. And remember that competition is forcing the cost of CD-ROM drives and discs ever downward, so you can bet that by the time you get your product to market, price will be less of a limiting factor than it is now.
A WORLD OF POSSIBILITIES
Thanks to its advantages over other technologies and despite its minor limitations, CD-ROM opens up a world of new possibilities to the developer. CD-ROM is especially suited to 

o   distributing large products
o   creating new or enhanced versions of products
o   distributing application environments
o   enabling collaborative products 
o   distributing information products
o   enabling interactive media products
o   enabling user interaction in a learning environment

We'll look at some examples of each of these kinds of uses.

As we look at these examples, keep in mind that although building a CD-ROM is essentially as easy as cloning a hard disk, building in a look and feel that takes full advantage of the medium is a more challenging task. You must pay attention to simple things like data organization and window size and position on the disc. If a CD-ROM is not well organized, your user might as well be dealing with 825 individual floppy disks. Ideally, you want to present a consistent interface and make it as visually appealing as possible to the user.
DISTRIBUTING LARGE PRODUCTS
The simplest way to use CD-ROM is as a distribution medium for relatively large and complex software products. Development system environments and other comprehensive products like them are perfect candidates for CD-ROM distribution. With the increased disk space, you can include several different preconfigured versions that a user need only copy to a hard disk without going through a complicated installation procedure.

If your product requires a specific version of Apple's system software, you can license the software from Apple Software Licensing (20525 Mariani Avenue, M/S 38-I, Cupertino, CA 95014, 408/974-4667) and include it on the CD-ROM to make sure your users have everything they need to run your product when they acquire it.

For Apple, products like MPWr, MacAppr, and System Software 7.0 are great candidates for CD-ROM distribution, but the real win with CD-ROM technology 
is to create products that you may not have even thought possible prior to the availability of this medium.
CREATING NEW OR ENHANCED VERSIONS OF PRODUCTS
CD-ROM gives developers the opportunity to produce new or enhanced versions of their products that just would not be feasible with floppy disk-based distribution. These enhancements can include expanded help systems (since basic on-line help should already be in every good application), full-blown tutorials that use graphics, sound, and animation to provide users with a rich learning environment, advanced technical or support information, and any other supplemental components that add value to the original product. Developers can even include past versions of the product to facilitate upgrade compatibility and file exchange.

Highlighted Data's new electronic version of the Merriam-Webster's Ninth New Collegiate Dictionary would not have been possible without CD-ROM technology. It features digitally recorded pronunciations of more than 160,000 entry words, as well as the full text and graphics of the print edition.

The Manhole CD-ROM by Mediagenic, the industry's first CD-ROM entertainment product for the Macintosh, is a great example of an enhanced product. It was developed from the popular HyperCard-based fantasy adventure. On the CD-ROM, enhanced graphics and animation combine with original music to bring the characters of this adventure to life.

DISTRIBUTING APPLICATION ENVIRONMENTS
Some developers are taking advantage of CD-ROM to produce and distribute "complete" application environments for business and other uses. The concept behind an application environment is simple: combine several individual products that complement each other, in a way that appears seamless to the user. The resulting savings on packaging and distribution costs can be passed along to users.

With the data encryption techniques already available for CD-ROM, you can include your entire line of software on a single CD-ROM and distribute it with different decryption keys. When a user decides to add another component, he or 
she purchases the key to decrypt another application from the same CD-ROM.

To date, the best-known example of an application environment is the Microsoft Office. Microsoft bundles their four most popular business applications-Word, Excel, PowerPoint, and Mail-on a CD-ROM with on-line documentation, HyperCard-based navigational tools, popular templates and clip art, and several third-party applications that add even more value to the suite of applications.

ENABLING COLLABORATIVE PRODUCTS
A related area with a great deal of potential for CD-ROM is cooperative or collaborative works put together by multiple developers or a publisher and several developers. The idea is for a publisher or group of developers to combine several related applications, texts, graphic images, sounds, or animations into a user environment that the individual developers would not have considered producing, or could not have produced, individually. This approach can work especially well for smaller developers who cannot lavish money on product packaging and promotion. Collaborative works also have a great deal of potential for users, since they get the combined efforts of several developers who have worked together on a single product.

DISTRIBUTING INFORMATION PRODUCTS
Information products are natural candidates for distribution on CD-ROM, as this technology very easily lends itself to storing immense libraries of information that can be indexed, cross-referenced, and searched electronically. The data in these libraries can be text, sound, graphics, animation, or anything else you happen to fancy.

Apple is seriously investigating producing a CD-ROM of its entire technical library for developers, including the Technical Notes series, Inside Macintosh, and MacApp documentation. The Developer Essentials disc is just the tip of the proverbial iceberg; see Corey Vian's sidebar for details. OCLC (On-Line Computer Library Corporation) publishes an entire line of CD-ROMs for use in libraries around the world. The MacroMind CD-ROM by MacroMind, Inc., includes over 100 megabytes of VideoWorks and MacroMind Director animations, guided tours, and clip art. These are all first-generation examples of the use of CD-ROM to distribute information products.

Developers have just begun to scratch the surface of what is possible when a local CD-ROM archive is combined with up-to-date on-line data, a combination that offers users both the storage advantage of CD-ROM and the timeliness that only an on-line system can offer. The normally high cost and slow speed of on-line system searching is negated by the presence of the local CD-ROM archives. The "AppleLink Offline" stack produced by DTS, currently distributed to Apple Partners and Associates, is a good prototype of this combination.

Beyond these archives, or knowledgebases, there is also great potential for combination CD-ROM and on-line applications where large amounts of data could be stored locally on CD-ROM and the code for interacting with other on-line users and accessing the data on the CD-ROM could be stored on an on-line system.
ENABLING INTERACTIVE MEDIA PRODUCTS
Because CD-ROM stores all of its information in digital format, it's an excellent medium for combining text, graphic images, sound, animation, and any other type of data for interactive media. The only real limitation is retrieval speed from the disc, and at 150K per second, CD-ROM is fast enough for just about anything but uncompressed, full-motion color video.

To date the largest uses of interactive media on CD-ROM have involved HyperCard, which has proven worthy of the task. With HyperCard 2.0, it is even easier to author stacks that combine sound, color graphics, animation, and related data for use on CD-ROM; and the new features of HyperCard 2.0 stacks are no longer limited by disk space.

Audio Notes #1: "The Magic Flute," produced by Warner New Media, is an excellent example of interactive media on CD-ROM. This product, the first in a Music Discovery series, fills three CD-ROM discs with both HyperCard stacks and 
CD-ROM audio content on Mozart's The Magic Flute. Roger Englander, the television producer of Bernstein's Young People's Concerts, provides music commentary to go with the original German libretto and the English translation. In addition, this CD-ROM set includes newly recorded sidebars about the music, the symbolism, and opera forms.

Ludwig Van Beethoven, Symphony No. 9, another example of interactive media, is a part of the Voyager CD Companion Series from the Voyager Company. This product by Robert Winter is a commercially produced audio CD-ROM with accompanying floppy disks of data and HyperCard stacks. These stacks not only teach the user about Beethoven and the symphony itself, but also about music theory in general.
ENABLING USER INTERACTION IN A LEARNING ENVIRONMENT
Imagine a CD-ROM about film that enables you to direct your own scenes with different camera angles and effects; or a CD-ROM that guides you through the city of your choice as it looked or will look at a specified time period; or a CD-ROM that gives you the complete works of French mathematician and philosopher Blaise Pascal in both French and English (or any other language) with pictures of his surroundings at the time of his writings; timelines of the major events during his life; excerpts from popular music, literature, and architecture of the period; and critiques and comments from his contemporaries.

Although it may have the greatest potential for both instructional and general use, the area of "user views" is one of the least developed at this time. The idea of a user view is that the developer provides the user with an environment in which he or she is guided by interactive tutorials and interpretive simulations through the data, and then enables the user to build his or her own "views" of the same data. At any time the user can switch between the different types of available data and the selected view. CD-ROM is the ideal medium for this type of thing, since it can contain texts, graphic images, sounds, statistics, timelines, and animations.
WHAT NOW?
This article has given you a few ideas to get you started thinking about how you can best benefit from CD-ROM technology, and you can probably think of many more. The point is that CD-ROM opens a lot of doors and removes a lot of assumed barriers to product development. This technology offers you a rare opportunity to let your imagination run wild; however, what you choose to do with it is up to you.

---------

MAXIMIZING CD-ROM SPEED

If you are writing CD-ROM-based software, there are many steps you can take to ensure the maximum possible speed from your product.

First, organize your files in a way that makes it easy for both the user and the Finder to work. Avoid burying important files six or seven folders from the root level of the file system, and conversely, avoid putting 1,000 files into a single folder or at the root level. Once you have the master hard disk organized, look for opportunities to precompute and store information to speed up your application. Take advantage of the 660 MB of space at your disposal-it is less expensive than CPU cycles for your users.

Take full advantage of the static nature of CD-ROM; if it helps, use absolute filenames in your applications or HyperCard stacks if they are to be run only on the disc. However, note that if you decide to use absolute filenames, you should provide a mechanism such as a preferences file in the user's Preferences folder to enable users to change the location of your applications and data. One method for doing this is hard-coding only default pathnames and prompting the user (saving the resulting choices to a preferences file) if the files the user needs are not found in the default locations.

The best method for gaining speed on the CD-ROM is to thoroughly test the entire contents on different machine configurations until you find the optimal configuration. Then go back and test it again to make sure you have not missed anything. Different layouts, default memory configurations, and pathnames can produce different results, especially for HyperCardr stacks. If possible, test the hard disk as a locked volume on a file server or on a CD-ROM simulator (usually available at your local disc mastering company); these tests give a more accurate reflection of how the final CD-ROM should perform than testing on a locally connected hard disk.

Finally, before you master the CD-ROM, optimize the hard disk that you will use for the mastering process. You can either use a third-party optimization program (be sure to back up your disk first) or even better, copy the entire contents to a freshly formatted hard disk. This process guarantees that your files are written (and will be read) contiguously on the disk and also rebuilds the desktop resource file or desktop database files that the Finder needs. When you finish this process, unmount the hard disk and use a disk editor to zero the boot blocks on the hard disk. This final process speeds the time it takes the CD-ROM to mount and also ensures that it is not mistaken for a boot volume.

If you do these things, you will have done everything you can to make your CD-ROM product as fast as possible.

--------


INSIDE AN ELECTRONIC  d e v e l o p

by Corey Vian, Apple Developer Press

Electronic publishing is relatively unexplored territory and so invites both innovation and disaster. When we decided to take  d e v e l o p  electronic, we knew we would see a little of each. Initially we thought that the electronic version should precisely match the printed version. Our reasons for wanting to maintain parallelism between the printed and electronic version had to do with spatial orientation and translation efficiency.

Some of us remember the location of the content we have read. We remember that a reference was on the lower-right portion of a left-hand page near the end of the magazine, for example. If we read it first in the printed version and later want to find it in the electronic version, this spatial parallelism makes switching media much easier.

The idea of taking a printed magazine-of any format- and making a page-by-page translation into electronic form is attractive in that it generalizes the process of translation and eliminates some production time by reusing work already done on the printed version. We imagined that any publication could be translated into electronic form using a standard, nearly automatic conversion process.

How We've Done It. We created the first issue of d e v e l o p  by printing PageMaker documents to glue files, converting the glue files to PICT files, and pasting them into SuperCard. We ran into numerous problems because the PICT files were being interpreted differently at each step. Some PICT interpreters make a single object out of an entire line of text, while others make individual objects out of each word in an attempt to preserve spacing when fonts are changed. If the original font used in the PICT is not available, a substitute font is used. We copied the text for each page into an invisible field in its corresponding card so that when you searched for text, you were taken to the appropriate card. The drawback was that we could not highlight the text once found, since it was embedded in the PICT. 

We explored the possibility of writing XCMDs that would actually search a PICT file and highlight the found string, which seemed doable but only addressed a small part of the problem. Neither the process nor product for the first issue were turning out quite as we had envisioned. It was too slow, it displayed its pages without respect for the size of the screen it was being viewed on, PICT files were misinterpreted in the translation process, and the pages were difficult to read overall. After all, they were designed to be printed at 1200 dpi. Basically, the publication showed no respect for the medium it was being translated into. So we decided to take a step back and reevaluate our approach. With deadlines looming, we agreed on a slightly improved interim remedy and began the process of designing a more elegant, long-term solution.

For the second issue, we scrapped the full-page PICT approach. Instead, we copied the text into SuperCard fields, copied the pictures individually, restyled the text, and then placed the pictures to approximate the layout of the journal. This was surprisingly easy and took only a day or two.  It also gave us more readable text and the ability to search and highlight the actual text you were reading. We still included full-page PICTs elsewhere in the application, used for printing.

For the third issue, we have reformatted the previous issues in this same way and included them all in one file so that all articles are directly accessible from a single application. We will handle subsequent issues this way until we have worked out a design that better addresses key problems inherent in electronic publishing.

Where We're Headed. As with life, one of the most basic problems associated with an electronic publication is the unknown. When we distribute a printed publication, the content, presentation hardware, and interface are all bundled together under our control. With electronic publications, there are many variables over which we have little or no control-primarily screen size, resolution, and color limitations, as well as processing speed. This places severe restrictions on the design process.

Should we design for the lowest common denominator and flush innovation down the toilet? Should we design for the average platform and irritate many subscribers? Or can we design a presentation that will work well in the various environments and still let us exploit the extraordinary capabilities of the computer? After all, we could simply put all the articles up on AppleLink and call it a day. The challenge is to develop a standardizable framework that will work for users and have a minimal impact on creative options.

Most media have arrived at some consistent format. Some constraints are put in place to provide context and a familiar, and therefore comfortable, entry into the content, like the frame around a painting, the form of a musical fugue, or the size of a magazine as compared, say, to a dictionary. Yet within those constraints, substantial creativity is possible. A balance can be struck between the need for consistency and the need for creativity. We are struggling to find this balance in the realm of electronic publications, but the rich and rapidly changing nature of the medium resists our efforts.

What We've Learned. We've learned that page-for-page translation is probably not a good idea. Formatting that is left- or right-handed makes no sense on a screen that displays a single page at a time-if that. Using scroll bars to push an image around in order to see the whole thing is at best a work-around. Magazine print is too small to be viewed at 72 dpi without enlarging. A solution that takes full advantage of, yet respects the limitations of, the electronic environment will feel far more natural than trying to dress a print man in a cathode-ray suit.

It is a mistake to think of the printed version of d e v e l o p  as the basic product to be recast in an electronic form. d e v e l o p, or any other publication, is not essentially a collection of printed pages. Rather, it is a specific domain of information, knowledge if you like, that can be conveyed by a variety of media. Effective use of the electronic environment demands a fresh look at what publishing can be.

-------

MARK B. JOHNSON  (emphasis on the "B") has been driving people crazy at Apple and DTS for two years. This Hoosier native came here from Notre Dame, where he spent three and a half years in the snow, getting for his trouble only a 1986 B.A. in French and computer applications (a CS/MIS sort of thing) with a concentration in philosophy. However, he liked the seasons there (and the White Castle hamburgers) so much that he convinced them to let him stay and slave for another three years doing Apple support and development in user services. Mark does a lot of the "unofficial" projects in DTS. He has had a hand in Phil & Dave's Excellent CDt, SpInside Macintosh, and the Apple FTP Internet site. He also stays up nights figuring out how to best hide Technical Note #31.
In his rare moments away from the office, he loves watching Notre Dame beat USC in football, participating in a variety of sports, collecting French wine, playing in his recently rediscovered kitchen, and working on and driving fast cars (very useful, since he is rumored to own a 1975 Bricklin SV-1). Mark claims to be addicted to adrenaline and electronic mail, but from the 550 (and counting) Coke cans stacked in his office window, we know what his real addictions are. o