CD-ROM: The Cutting Edge
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
- distributing large products
- creating new or enhanced versions of products
- distributing application environments
- enabling collaborative products
- distributing information products
- enabling interactive media products
- 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 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