Last modified: 3 August 2005.

HTML CDs

Page Contents Introduction  Practicalities  Target Audience  No server is available  File names and Disk formats  It's all relative  Navigation tools  AutoRun  Viewers  View on CD  Installing to Disk  Software filenames  More Information 
See also ShellRun  FindinSite-CD  Dynamic-CD  Conference-CD  Hi HelpIndex  CD-Recordable FAQ  DVD FAQ  CD-Info 
Article Copyright © 1998-2005 PHD Computer Consultants Ltd.

Make those coasters...
Introduction

CDs and DVDs are a great way of distributing large amounts of information.  By following a few simple rules, the HTML pages on your web site can be re-used on your CD.

This article considers these crucial points:

Practicalities
  • Get yourself a CD writer and writer software
  • Decide whether you need to out-source label printing and CD pressing
Basics
  • Think what computers and browsers your target audience will be running.
  • If starting a site from scratch - destined for the web and CD - then use 8.3 filenames - see below.
  • Don't forget to scan for viruses.
  • Write a Windows AutoRun file.
  • Provide any necessary viewer programs.
  • Will your pages run from the CD? Or will they need to be installed onto the user's local hard disk
Restrictions
  • Server-based programs will not run on your CD (except Dynamic-CD).
  • If need be, give all your HTML pages "8.3" filenames.
Hints
  • Provide absolute links to the latest information on your web site
  • Provide a navigation tool. Some work both on a web site and on CD
  • You can provide better images on your CD because there is more room and they can be downloaded easily.
  • Similarly, videos and other large files, such as PDFs, can be provided easily on a CD.
  • Provide free viewers for all your document types.  Check that you are allowed to do this.
    It is pretty safe to assume that your users will have a web browser, so there is no real need to provide one.
Don't forget
  • Check that your CD can be viewed on other types of computer and browser.
  • Scan for viruses again
  • For your final release, make sure you use a completely blank CD to make your master copy.

Some of these guidelines bring up issues that you ought to consider for ordinary web sites as well.


Practicalities

(1998 UK prices)

You will need a CD or DVD writer to build your test CDs.  You will also need some software to help you get data onto the CD.  There will be some software that comes with your CD writer, but check out the list below if you are looking for alternatives.

CD types

CD-R disks cannot be erased, though you can write data more than once.  CD-RW disks can be erased and are read/write.  Most CD writers nowadays support both types of disk.  A writer with a SCSI interface is recommended, as IDE writers may be more prone to errors.  Slow PCs and unbranded disks may similarly result in duff disks.

If you keep writing the same files to CD-R disks, then accessing these files will take longer and longer.  Therefore, for your final release, make sure you use a completely blank CD to make your master copy.

Basic CD-R disks cost only about a pound, while CD-RW disks are a tenner or so.

Space and size
CDs give you 650-700 MB of space.  Each time you write a bunch of files to the CD, there is an overhead of several MB.  So 30MB of files may take up 40MB of space.

You might like to consider business card small CD-Rs (HandiCDs) that give about 50MB storage space in a rounded 86mm x 63mm format.  These fit into the indent in CD players.  They can be cheaper than normal CD-Rs.  Quite natty in a plastic sleeve.  However some computers, such as Apple Macs, will not be able to read small CDs.

A new development in 2001 are Programmable CD-ROMs, eg from Kodak.  These CDs can be stamped with the bulk of their information. However, a small area of the CD is available to be written in a standard CD-writer. These CDs allow the bulk of your information to be pressed quickly, but still allow the CD to be customised.

Burning yourself
For small quantities with not too much data, you can burn each CD yourself, say onto pre-printed blank CD-R disks. In practice we have found that it is difficult to write CD-R disks more than 5-10 times.
Printing
You can get label printing systems that use ordinary printers and stick on.  They usually have some software to help you fit your design onto the available space.

Specialised printers can be bought to print directly on CDs.

The next stage up is to get printable blank CD-R disks for about 1.50.  Professional printing costs about a pound each.

Factory-stamped and printed
The final solution is to get a pressing plant to churn out copies.  After an initial 300-400 glass master charge, costs soon come tumbling down: eg 1000 CDs costs about 40p-60p each.  You will need colour separated artwork.  Don't forget a jewel case (10p) or plastic wallet (6p), and the printed inserts (say 10-20p).  Expect the courier in 2 weeks!
Check your release
Double and triple check your release CDs.
Scan for viruses.

Target Audience Capabilities

You must think what computers your target audience will be running.

In some cases you may be certain that your users will be running Windows 95, 98, Me, NT, 2000 or XP and can tailor your HTML pages to the two big browsers, ie Netscape Navigator and Microsoft Internet Explorer.

For particular applications you may - for example - be able to stipulate that the user must be running Internet Explorer.  In this case, it is a nice touch to provide the appropriate browser for people to install.  Both Navigator and Explorer are now free to use.

Similarly, provide any plug-ins or controls that your pages require.  Make sure that you are allowed to redistribute any software you include.

Note that some software may require an extra licence for it to be distributed on a CD.

Nowadays, it is pretty safe to assume that PC users will be running Navigator 4 or later or Explorer 4 or later.  Both these browsers support JavaScript and Java but they may not be enabled.  Some people might even browse with image loading turned off.  Other browsers such as Opera are becoming popular.  Note that it is not safe to assume that all browsers can run the latest JDK 1.1 Java applets.  Similarly, you should assume that only Explorer users can run ActiveX controls.  Get signed Java applets and ActiveX controls if possible.

As for web sites, DHTML, JavaScript and Java applets (written to the JDK 1.0 specification) remain the best way of providing complicated interaction that should work in most browsers.

Provide support for visually impaired users.  Provide ALT text for images.  I understand that screen reader software does not like columns of text.

A CD is much more suited to showing videos and playing audio than a web site so you may want to include these to liven up your CD.

Oh, and - as for web sites - provide HTML pages in the language(s) of the target audience.

See the section on Viewer programs below, if you put file types other than HTML on your CD, eg Adobe® PDF files or Microsoft® Word documents.

No server is available

When on a CD, your HTML pages normally have no server available.  (However read about PHD's Dynamic-CD software below.)

So any scripts and database access will not work.  Incidentally, you may not realise that you are using your server - eg FrontPage may generate code that accesses server in special ways.

One simple course of action is simply to cut out the HTML pages that refer to these server functions.  A neat solution is to provide an absolute link to your web site.  Point out that users must be online for this to work.

Java applets and ActiveX controls will be able to work from a CD.  While they cannot interact with a server, they can still read data files from the CD.
They may be able to interact with a user's databases using JDBC and ODBC.
See the notes below about Java program filenames.

Dynamic-CD

PHD's Dynamic-CD software does provide a server for CDs and DVDs.  (Verity Publisher might do as well.)

Dynamic-CD lets you run ASP-like scripts, create or access databases, and use any other available COM objects such as the FileSystemObject.  Dynamic-CD also lets you password protect information on the CD, and can encrypt your scripts so that they cannot be pinched.  The Dynamic-CD-Wizard tool makes it easy to build a CD image with the Dynamic-CD runtime installed.

Dynamic-CD is a Windows program that is AutoRun when your CD is inserted; no installation is necessary.  Dynamic-CD starts the user's default browser and displays an initial page at a localhost URL: http://127.0.0.1:8080/default.asp.

File names and Disk formats

Standard CDs are in ISO 9660 format that only allows for "8.3" filenames, ie in capital letters, numbers and underscores (_) with a maximum of 8 characters, a period, then a maximum of 3 characters.  Directories can only be 8 levels deep.

However the Joliet formats allow long filenames of up to 64 characters.  Note that these disks are usually readable by systems which only recognise "8.3" filenames.  A filename of "software.html" on a Windows 3.1 or Apple Mac OS 9 system would appear as "SOFTWA~1.HTM".  Obviously this will ruin your HTML links.

Unless you change all your filenames, there is no way round this problem, so you may as well issue your CD with full filenames.

Unix does usually cope with full filenames, but some drivers may only be able to read ISO 9660 "8.3" disks.  Young Minds, Inc. software can install from an "8.3" CD while restoring the full filenames.  Use their "makedisc" program to format the CD, generating the "8.3" filenames and a translation file (YMTRANS.TBL).  Users run the "cd_copy" utility to restore the full filenames.  Alternatively, the "cd_link" utility makes symbolic links to the actual CD files.

Apple Mac computers normally produce CDs in the HFS format.  Macs can read CDs produced on PC systems;  OS X 10.2.6+ recognises Joliet long filenames; older systems by default only see the IS0 9660 "8.3" filenames.  If you install the free Mac OS 9 Joliet File System Extension from http://www.tempel.org/joliet/ then longer filenames will be supported. 
Some Mac software lets you produce a "hybrid" CD, ie that includes both a ISO 9660 filesystem and a Mac HFS filesystem.

If your CD includes Java applets you may have some problems on computers that only recognise "8.3" filenames.  This is because Java program filenames always end in ".class" that cannot be represented as an "8.3" filename.  However this is not usually a problem as you can specify archive and cabinet files with "8.3" files.  Netscape Navigator and Microsoft Internet Explorer usually find these files in preference to the class files, and so the applet will run.
For example, the PHD FindinSite-CD Java applet has a main program file called fisCD.class.  However, PHD supplies an archive file called fiscd.zip and a cabinet file called fiscd.cab.  The following code makes the applet run:

<APPLET CODE=fisCD WIDTH=350 HEIGHT=300 ARCHIVE=fiscd.jar>
...
</APPLET>

The UDF OSTA format allows you to write to a CD-R disk as if it were a normal drive.  However you have to "finalise" the disk for it to be readable on normal CD readers.  Even then, the user has to have the necessary UDF OSTA drivers.
This Unified Disk Format (UDF) format is for CDs and Digital Versatile Disk (DVD) and was developed by the Optical Storage Technology Association (OSTA).

El Torito is a format for CDs that allows them to be used to boot computers, ie get their operating system from the CD rather than their local hard or floppy disk.  The "El Torito - Bootable CD Format Specification Version 1.0" is published by IBM and Phoenix.

Default pages

Web servers often let you use a default filename, eg if a user accesses "http://www.product.com" then it serves up ""http://www.product.com/index.html" or "http://www.product.com/default.htm".

If your server dishes up "index.html" by default then this filename will not transfer well to a "8.3" disk.  Perhaps provide a separate initial web file for your CD called "index.htm".

If subsidiary pages provide a link back to the entry page, then do not just specify a link of "/" as this will not work on a CD.  Instead hard-code the default for your server, eg "default.htm".  This will work online as well.

It's all relative

Your HTML pages on CD may be at any position in a user's file system so make sure that all your HTML links are relative.  Eg in a file "content/list.htm" use a link "../software/browsers.htm" rather than "/software/browsers.htm".  Remember to use forward slash characters, not PC backslashes.

You may well want other links on your CD to be absolute, ie have the full address of your online web site.  For example, a "Latest News" link could point to "http://www.product.com/latest.htm".  It is useful convention to highlight such absolute links away from the CD with a small off-site icon image.

Navigation tools

Given that you want to publish information on CD, you probably have a reasonably large number of web pages.  It is a good idea to provide additional means of navigating the pages.

The navigation tools range from simple menu link systems, through site maps and finally full text search engines. 

Menus can be hard coded as HTML links, in a standard format and place on your web pages.  JavaScript can make these changes dynamically, eg providing two levels of menu within a small space.

Screenshot of Hi HelpIndex For larger sites, a site map provides a hierarchical tree view of all the web pages.  An Index of keywords is often available.  More than one map could be provided.

PHD's Hi HelpIndex Java applet runs well in small to medium sized CDs, as well as online sites.  It uses a static "index files" that have all the contents and index information; no search of the web pages is needed.  PHD's Hi Lab Windows program can scan your existing web site to make an initial index file; you can then easily edit it visually.  The Hi Jump applet provides navigation arrows on each page.

Screenshot of FindinSite-CD Full text search engines for CDs obviously must not be server based.  It is best if they build up a database of all the words on a CD first rather than searching on the fly.  You will usually have enough room for a reasonably large database on a CD.  Ideally search tools should be able to index and display non-HTML documents, eg Adobe® PDF files, Word documents, etc.

PHD's FindinSite-CD Java applet provides a full text search facility for HTML, PDF, DOC, XLS and PPT CDs.  The FindinSite-CD-Wizard Windows tool or Findex Java application is used to scan the files to build the search database.  In FindinSite-CD-Wizard, you can then edit the search database easily.  FindinSite-CD can select between different search databases and choose the most appropriate one for the user's language.

Verity Publisher, SearchDisc from ASTAware, WebRom from Inktomi/Open Objects Software Ltd, QuestAgent from JObjects and IDKSM from Miracle Concepts are other CD search tools.  Some of these tools also allow online updates to a CD.  These tools usually have an initial cost and a licence charge per CD produced.

AutoRun

AutoRun used to be called AutoPlay.
The term AutoPlay now describes a (similar) Windows XP feature that launches an application to display picture, music or video content on removable devices.
Programmer's guide to AutoPlay
Full AutoRun information.
See the ShellRun web site AutoRun basics page for full AutoRun information.
In Windows 95, 98, Me, NT, 2000 and XP, the CD can AutoRun a program when the CD is inserted into the computer.  Note that only NT/W2000/XP Power Users or Administrators can use AutoRun.

Make sure that you provide instructions on how to use the CD "by hand" as some people have AutoRun turned off.

You simply provide a plain text file called AUTORUN.INF and simply put in:

[autorun]
open = Setup.exe
icon = snazzie.ico
where Setup.exe can be any executable name (with parameters if necessary).

You can use the Windows start command to display a web page, eg:

[autorun]
open=start index.htm
However this may not work in some old command line shell DOS prompts.  It also displays a brief annoying DOS box window as the start command is run. The alternative (to open), shellexecute is better, but it only works on more recent Windows systems.

PHD has written a utility program ShellRun to overcome these problems.  There is a freeware version, or a customisable retail version.  ShellRun's first parameter is the name of the document you want opened (no spaces).  For example, to show index.htm, put this in AUTORUN.INF:

[autorun]
open=ShellRun.exe index.htm
ShellRun displays a small window in the top left hand corner of the screen as it opens the file. You can specify more text to have a different message displayed, eg:
[autorun]
open=ShellRun.exe index.htm Starting CD site...
Most Windows users will have a browser available to view your web pages.  However if you are using start or ShellRun to display other file types then some of your users might not have a suitable viewer program available.  The retail version of ShellRun lets you cope with this situation, giving the user an option of installing the viewer program.

Testing AutoRun on Floppies

If you are feelimg miserly with your CD-Rs, you can test the AutoRun facilities on a floppy disk. 

First, you must enable AutoRun on floppies.  Start the Registry Editor (Start+Run regedit) and search for NoDriveTypeAutoRun.  Modify the entry from "95" to 91".  (Or from "B5" to "B1" if you have disabled AutoRun on CDs.)  Do not forget to put this back again when you are finished.

Now log off and log on again.  You will have to do this after every change to the AUTORUN.INF file on a floppy.

To test, open "My Computer" and double-click on the A: icon.  Alternatively, right-click on the A: icon (or in Windows Explorer, right-click on the A:) to get the pop-up menu; select AutoRun to run your program.

If you have specified other AUTORUN options, see below, then these should be listed in the pop-up menu.

Other AUTORUN options

In addition, AUTORUN.INF may have a shell command that lets you specify one or more entries in the pop-up menu when the user right-clicks on the CD icon.  The shell entries supplement the open command.

This example shows how to add two entries to the menu (Read me - to display the README.TXT file in notepad, and Software list - to show HTML file software.htm):

[AutoRun]
shell\readme\command=notepad README.TXT
shell\readme=Read &me
shell\software\command=ShellRun.exe software.htm
shell\software=Software list
Any verb string (without spaces) can appear after "shell\"; "readme" and "software" were used above.
On one line, append "\command=" followed by the command you want to run.  On the next line, append "=" and the text that appears in the menu.  As usual, an ampersand character (&) precedes the short-cut menu key.

Finally, AUTORUN.INF may have other sections for other NT/W2000 users, ie MIPS [autorun.mips], DEC Alpha [autorun.alpha] and PowerPC [autorun.ppc].

AutoStart on Macs

The equivalent to AutoRun on Macs is called AutoStart.  This only works if QuickTime 2.0 or later is installed, and AutoStart is enabled.  Technical information

It is possible to create an AutoStart CD on a Mac, using tools such as Autostart DropStart.
MacImage for Windows says that it can create AutoStart CDs on a PC.
Other tools: List. mkisofs. CDEveryWhere. Toast for Mac.
We have not tested any of these products.

Keiser Photography have instructions for using Toast to make a CD that will AutoStart on a Mac as well as using ShellRun to AutoRun on Windows computers.

Filenames as seen by a Mac

By default, CDs created on a PC might have garbled filenames when viewed on anything pre-OS X 10.2.6.  Long filenames will be truncated to an "8.3" form, eg "index.html" may appear as "INDEX~1.HTM" on a Mac.

However, a Mac OS 9 user can install the shareware Joliet File System Extension, from http://www.tempel.org/joliet/, which will make long PC filenames readable.  If your CD uses the Joliet format because it has long filenames, then suggest to your Mac users that they install this software to view the CD fully.

Therefore, if you have users of older Macs, it is best to ensure that your filenames are short, and provide instructions for viewing the CD manually, eg "View this CD by opening INDEX.HTM in your browser".

Viewer Programs

A viewer program lets a user view a specific document type.

As described earlier, almost all computers have a browser nowadays so there is no real need to provide a browser on your CD.  However, remember that other people will have different browsers, so try to restrict the capabilities that you assume are present in a browser.

If you supply other file types then it is a good idea to provide a suitable viewer program on your CD.

The retail version of PHD's ShellRun program lets you specify a program to run if a viewer program is not available.  The program to run should be the relevant viewer installation program.

View on CD

Will your pages be viewable on the CD? Or will they need to be installed onto the user's hard disk first?

For HTML CDs, it is usually straightforward to let users browse the CD directly.  Some people may find it useful to provide an option to install the whole site on a local hard disk.

In some situations, you may need the HTML pages to be installed before they are used.  For example, if your pages have long file names but you opt to use "8.3 format" file names on the CD, then your install program will need to copy the files to a hard disk, changing the file names as necessary.

Installing to Disk

As mentioned above, you may want to install something onto the user's local hard disk.  A web site that has been copied to a user's hard disk may be updated with new information.

Installation may simply be a case of copying the HTML files onto disk, but may involve changing the filenames.

Alternatively, you may have some software to install.  For PCs there are several well-known vendors of installation tools, eg InstallShield and Wise.  They usually have comprehensive set up tools, possibly with script languages.  They ensure that the files are copied, the registry updated and folders created.  Make sure they have an Uninstall option.

For PCs, provide an AUTORUN.INF file (described above) that will AutoRun when inserted into the CD drive.  A nice touch would be to detect if your application is installed - if so, then do not run your set up program.

Software filenames

It is standard practice to call your installation program "Setup.exe".

Some software suppliers have a single program file that contains all their files.  When this program is run, it correctly installs itself on the user's hard disk.  This approach allows the files to be compressed and kept together in one file, that can easily be downloaded by users.

So your HTML CD could firstly have all the web site laid out neatly on the CD.  Then also provide a single executable that has the whole site (again); a user would run this file to install it on their local hard disk.  This approach will make installing much quicker.

If you have an installable version of your site as a single executable, make sure it has an "8.3" filename.  This makes it easy to include on other people's CDs or sites that might not support full filenames, eg magazine cover disks or shareware software archives.  Include the major version number (or date) in the filename, eg PHD could call our CD executable "PHDMAR01.EXE".  Do not forget to provide an uninstall program.

Alternatively, you could supply your site in zip or cab compressed formats but this will be harder for users to install.
Apple Mac users prefer hqx or sit (StuffIt) formats and Unix users the tar format.


More Information

PHD CD Products


Author

Chris Cant runs PHD Computer Consultants Ltd. PHDCC is based in Cumbria, United Kingdom.


Comments:

James, Tue, 01 Nov 2005 15:32:22 (GMT)
Greate site. Thank you :)

Joseph, Wed, 5 Apr 2006 01:32:43 -0700
Thankyou for this information. It was helpfull.

Name: 
Email: 
Comment: 
Type

Comments will be moderated before posting.


Article Copyright © 1998-2006 PHD Computer Consultants Ltd.