CD-ROM: THE CUTTING EDGE


MARK B. JOHNSON

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 newcombinations 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
Macintosh ® operating system and ProDOS ®, 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

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 MPW ®, MacApp® , 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  "userviews" 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 HyperCard ® 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 CD TM, 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. *

For More InformationSources used in this article were CD-ROM and the Macintosh
Computer by Brian Bechtel (on the accompanying Developer Essentials  disc), and
Gregg Williams's article "The Big Advantages of CD-ROM" in Apple Direct,  December
1989.

For a good overview of CD-ROM, read the AppleCD SC Developers Guide,  available
from APDA. In addition, there is a magazine called CD-ROM EndUser,  available from
DDRI, 510 North Washington Street, Suite 401, Falls Church, Virginia 22046.

Thanks to Our Technical Reviewers: Andy Poggio, Llew Roberts