Zeus Productions Banner

Zeus Tech Note
Determining the Appropriate Minimum Hardware Playback Platform


Copyright © 1996-1997. Zeus Productions. All Rights Reserved.
Written by Bruce Epstein

(approximately 4,000 words)

What hardware will your project require?

In an earlier issue, Kurt Cagle addressed the minimum hardware requirements for multimedia development. For many multimedia projects, the minimum playback hardware to require of your users is an afterthought, or (gasp) is overlooked entirely. This is a big mistake, because the target playback platform is a crucial factor affecting all successive decisions including interface design, content development, cost, and the ultimate success of your project. In determining the appropriate platform(s) to support, you must balance both the marketing and technical requirements of your project.

This article will :

Most developers are simply unaware that performance is a problem until very late in the development cycle. It becomes both costly and time-consuming to fix when time is in short supply. To avoid unpleasant surprises, prepare sample content and construct a prototype to test on a low-end machine. If your performance assumptions are incorrect, adjust your design spec or target platform accordingly.

Test early and continue to test often on your minimum target hardware platform under both Macintosh and Windows (if applicable). If you forgot to save your old low-end computer, check with friends, relatives or in the classifieds. Consider a beta-testing program if you have a client base that can provide you with useful and diverse feedback. Hire a compatibility testing service or test it yourself at a compatibility lab (Apple makes theirs available to Apple developers). I know of people who have even tested their products briefly at the local computer store, although stores have newer machines.

 

The Eternal Tug-o-War

Sales and marketing departments want to support as many users as possible, as dictated by their perception of the installed base. Developers tend to use high-end machines, and may be out of touch with the low-end base of users. Lastly the content developers may be unaware that the target platform will affect both the product's features and the content they need to create.

For example, if you use quarter-screen video, a graphic artist would need to design a border graphic to frame the video. If you support full-screen video, an interface designer would need to determine where buttons will fit, or whether you'll need to implement keyboard or menu navigation.

Understanding the technical issues, and their effect on the project's appearance, schedule and budget, will allow you to choose the right target platform to support. You'll have to strike a balance between demanding too much performance, which will reduce your target audience, and demanding too little , which will reduce the quality of your product or increase development time.

For example, suppose you want to support 4X CD-ROM drives but find that your video quality is unacceptable at 400 K/sec. You may need to raise your minimum spec to an 8X CD-ROM to allow for higher bandwidth video. Alternatives include reducing the size of the video window, re-capturing your video from a better source to allow for better compression, or using a better codec.

Don't underestimate the difficulty in supporting the low end of the installed base. If you are bidding on a project, NEVER promise to support 100% of the market. It may take you twice as long to develop a product which will run on the slowest 10% of machines. Include the minimum supported platform in a letter of agreement or your development contract. I prefer billing hourly, which provides a natural incentive for clients to have reasonable expectations, but this is the single greatest cause of ulcers and bankruptcy amongst developers. You have been warned.

Covering between 75% and 90% of the installed base is a reasonable goal that will save you a lot of headaches. Ultimately, it will also serve your clients well too. Don't assume that they understand the compromises and costs inherent in supporting low-end machines, but you can enlighten them. Simply include it in your bid, stating, "This bid assumes a minimum platform of xxx. To support lower-end machines will cost an additional $xxxx dollars and take an extra xxx months, and will require smaller video displays, lower quality audio, and degrade the product's appearance." They will be happy to agree, because you have given them justification not only for themselves, but for their boss should the issue arise.

Beware! Simply choosing a faster target platform is a poor substitute for proper content preparation and programming. In my experience, most Director applications perform poorly even on mid-range Pentiums and PowerPCs, because the developer doesn't understand the performance issues involved (see below). Determine why performance is a problem, before assuming that the hardware is to blame. Testing may have hilighted a problem that is better fixed by a design or programming change. Proper and prudent optimization can yield a five or ten-fold improvement in performance.

It is not inherently impossible to support low-end machines, assuming that the product specs are modest. When possible, I try to support the following, but rarely anything less.

PC

Macintosh:

I try to support double-speed (2x) CD-ROM drives when possible, but a quad-speed (4x) drive is recommended.

I minimize the amount of hard drive space needed. If possible, I keep it to zero, but anything more than 10 MB borders on the obnoxious. You installer should let the user choose where to install the product. Don't install to the System disk or boot drive (usually drive C:) unless absolutely necessary. If so, explicitly specify the amount of disk space that you require, such as:

Component Round-Up

The affect of each hardware component varies with your product's content and your skills as a developer. Remember that a user's system will have components of a similar age. Someone with a single speed CD-ROM drive probably won't have enough RAM or a current CPU either. Likewise, if you are requiring a Pentium, don't bother supporting a 2X CD-ROM drive if it would compromise your product to do so.

Processor (CPU)
The processor will only be the bottleneck for high-performance projects. More often, the CD-ROM speed, or available RAM will be the limiting factor. I am quite happy using my 33 MHz 68040-based Mac with a 4X CD and 56 MB of RAM. Fast-twitch games, on-the-fly rendering, full-screen video, and true color, may require a PowerPC 604 or Pentium running Windows 95 as a minimum. You should also specify a minimum clock speed, as there is a big performance difference between the 90 MHz and 300 MHz versions of the same chip.
 
RAM
RAM can often have a larger effect on performance than the processor. Don't forget to specify the minimum required available or free RAM, as opposed to the installed RAM. An 8 MB system may only have 3 MB available once the operating system loads. This is not sufficient for most Director presentations. You should probably specify a minimum of 5 MB available, and preferably 8 MB. You will need more RAM for products using more than 256 colors, heavy digital video, or large windows (see below). On the Macintosh, you may need to bump up the preferred memory partition of your Director Projector or Authorware run-time module (use the Finder's Get Info option).
 
You may spend more time optimizing your program to run in low-memory situations than it is worth. RAM has become very inexpensive, and many low end users have added more RAM to their base configuration. Don't confuse Virtual Memory, which is hard disk space made to look like RAM, with actual RAM. Make sure to tell your users that, for multimedia, Virtual Memory doesn't cut it.
 
Storage Device
Whether it be a hard drive, Zip drive, CD-ROM, network server or web server, some device will be providing the data. There are two major factors affecting performance of storage devices:
 
Transfer Rate (or bandwidth)- The transfer rate refers to how much data can be transmitted per second from your device, and can vary wildly. A hard drive may deliver 2 to 15 MB/sec, a CD-ROM 100-2000 K/sec, with networks being somewhat slower (100-1000 K/sec), and 28.8 modems providing only 2-3 K/sec. A hard drive is roughly ten times faster than a CD-ROM, 100 times faster than a network, and 1000 times faster than a modem. A digital video with a data rate of 400 K/sec would easily run from a hard drive, and even a 4X CD-ROM drive, but could never be run over a modem. It would take about 150 seconds (2.5 minutes) to transfer just one second of a 400 K/sec video via a 28.8 Kbps modem!
 
Latency - The latency or seek time measures the time from the initial request for data until the first data becomes available. This is minimal for hard drives, but can be substantial for CD-ROM drives and networks, and egregious for internet connections. (Shockwave provides Lingo functions to check whether internet operations have completed).
.
CD-ROM speed and storage
Most large projects are still delivered on CD-ROM, and your throughput requirements, especially for streaming data such as digital video and audio, will dictate the minimum required speed. Many products now recommend a minimum 4X drive, or higher, although there are still 2X drives out there. If you can compress your video to 400-450 K/sec, a 4X drive is sufficient. If you can get it down to about 180-220 K/sec (including the audio track) you can support 2X drives. This assumes that you are not loading other graphics or playing other sounds simultaneously. You may need to reduce the quality or quantity of audio, video and graphics to fit your content on, say, a single CD-ROM. If your product requires 2 CD-ROMs, it will cost more to replicate, and the user will need to swap disks during the project. If you choose to use DVD instead, your market will be severely reduced.
 
Video Subsystem
Both the monitor's color depth and the video card seriously affect performance.
 
Monitor color depth - The monitor color depth can dramatically affect RAM requirements and performance. Although most user's systems support these color depths, avoid using thousand or millions of colors if possible. Use deBabelizer to reduce your graphics to 8-bit (256 colors) instead. (Also, Windows 3.1 Director Projector's do not fully support playback at greater than 8-bit color depth). At 256 colors, a 640 x 480 bitmap requires 300 K of RAM. Director also allocates 300 K for the Stage and 300 K for an off-screen buffer. In millions of colors, each of these elements requires 1.2 MB, for a total of 3.6 MB! This doesn't include Director's usual overhead of 4 MB or more. Also, if you use 8-bit graphics, but play them back in thousands of colors, Director converts them to the higher color depth on the fly, which is very slow.
 
Playback Window Size or Stage Size - Limit your project to a 640 x 480 window whenever possible. Save larger resolutions for kiosks, or specialized graphics or engineering applications, where users have larger monitors and more RAM.
 
Video Card and VRAM (Video RAM) - Video hardware can have a tremendous impact on performance, especially when playing digital video and animating large graphics. Minimize the size of moving graphics, and never stretch a Director sprite, as it destroys performance. Contact Macromedia for a list of supported, and troublesome, video cards.
 
Video driver - Driver imcompatibilities are the number one source of multimedia errors. Tell your users to upgrade to the latest drivers, ordinarily available free from the manufacturer, or use the generic SVGA drivers.
 
Sound Card
Not all sounds cards support high quality audio, and those that do may be hooked up to lousy speakers. CD-quality audio (44.1 KHz, 16-bit, stereo) requires 176 K per second of sound! This may exceed your storage limitations, and will reduce the bandwidth available for video and graphics. Try to use audio that is no more than 22.050 KHz, 8-bit, monaural. Use 11 KHz when space is at a premium.

Software Setup

Platform and OS Version - The Macintosh and Wintel architectures are optimized for different purposes. Expect to see much better performance in mathematical operations on the PC, but the Macintosh and is often better suited to digital video than Windows. Be aware that different parts of your program may cause bottlenecks on different platforms. Don't forget to specify a minimum OS version that supports the features you require, such as Mac OS 7.5, or Windows 95, or Windows NT 4.0.
 
Extensions and Drivers Versions - If you discover conflicting drivers or extensions, note them in your ReadMe file.
 
QuickTime version - If your product uses QuickTime, specify the minimum QT version which supports the required features. Be aware that certain features of QuickTime may not be fully supported cross-platform Provide a QuickTime installer (licensable from Apple) to ensure that the user has the required version.
 
Other software - if your project requires external applications, such as Acrobat Reader, or a web browser that support frames, specify the minimum required version.

System Setup

RAM setup, Caching and Virtual Memory Configuration - Various software settings can dramatically affect performance. Virtual memory may severely degrade performance. Tell your users to ensure that real RAM is available. Have them quit other running applications and disable any RAM disks. On the Macintosh, these settings are specified in the Memory Control Panel. Under Windows 95, they are set in the System Control Panel, and under Windows 3.1 they are set in the 386 Memory Control Panel, or in the CONFIG.SYS file.
 
Network Software - For the most part, networks are not conducive to multimedia. Transmission tends to be slow and intermittent, and the CPU must incur substantial extra overhead to manage the network data flow. Tell your users to run from a local drive, if possible.
 

The Platform Wars

Now that you understand the hardware and software issues, let's see how they affect your choice of platform and content considerations.

Macintosh vs. Windows

You must decide whether you will support both Macintosh and Windows, and if so, which flavors. (You may even need to support UNIX or other platforms). Although Director and Authorware facilitate cross-platform development, it will cost additional time and money to develop for both platforms. You will need to test and debug on both platforms. It you develop mainly on the Macintosh, and then port for delivery under Windows (or vice-versa), or develop web content, you should invest in both types of machines, and a fast, simple method to transfer files between them, such as a network, or Zip drives. You have been warned.
 
Keep these cross-platform issues in mind:
 
Compatibility Testing - Macintosh developers are unaccustomed to the compatibility issues with Windows, especially with different video cards. If you support Windows, be prepared for time-consuming compatibility testing with various PCs.
 
File Formats - If supporting both platforms, use cross-platform file formats, such as PICT, AIFF, and flattened QuickTime (MOV) files. Avoid platform-specific formats, such as AVI.
 
File Names - when supporting Windows 3.1, use file names that conform to the eight-dot-three naming convention. Always use the correct three-letter extension, such as MOV, AIF or WAV for external files.
 
Audio Prep - Prepare audio at 11.025 KHz, 22.050 KHz, or 44.1 KHz, which will play back well on both the Macintosh and Windows. Avoid 11.127 KHz, 22.254 KHz or other variations.
 
Palettes and Graphics - The same graphic with the same palette tends to appear darker under Windows than on the Mac. Test your graphics carefully, or risk having to redo them all.
 
Palette Fades - Pure white pixels will not properly fade to black, and black pixels will not properly fade to white, in Director under Windows. When using palette fades, use off-white and off-black pixels in your graphics instead. Note that you cannot use Director palette fades in color depths higher than 256 colors.
 
Color Depth - Director for Windows 3.1 does not support more than 256 colors fully. Choose a color depth which performs well on all supported platforms, such as 256 colors. Use deBabelizer to create a super palette to which you can dither higher depth images.
 
Transitions - Visual transitions tend to be clunkier and chunkier under Windows than on the Macintosh. Before using a transition throughout your presentation, test it on both platforms.
 
Fonts - Some fonts are not available on all systems (Refer to Director's FONTMAP.TXT file). Mac and Windows render fonts of the same point size in slightly different sizes. If font appearance or alignment is crucial, use bitmaps, or Director's RTF text cast members.
 
Xtras, XObjects and DLLs - while many add-ons are cross-platform, many are not. Before committing to a cross-platform project, ensure that the add-on offers the required functionality on both platforms.

 

Windows Flavors

Most developers now support Windows 95 as their primary playback environment. Many still support Windows 3.1, and more are migrating to Windows NT 3.5.1 and NT 4.0 each day. With Director 6, Macromedia discontinued the 16-bit (Windows 3.1) development. environment, but Projectors still support Windows 3.1 playback..
 
Test under all the operating systems you intend to support, and accommodate their limitations. Your installer should install the appropriate projector for the user's operating system, such as a 16-bit projector under Windows 3.1, and a 32-bit projector under Windows 95 and NT.
 
Some Xtras may not support Windows 3.1, so be sure that a 16-bit version is available before committing to delivery of that feature on that platform.
 
 
Macintosh Flavors
Most developers still support higher-end 680x0 Macs, such as 68030 and 68040 models, in addition to PowerPCs. You can create a single "Fat" projector that will run optimally on both types of machines.
 
Some technologies, such as QuickDraw 3D, and some Xtras, are not supported on 680x0 Macs, so check before committing to delivery on that platform.

 

The Evolution of Man and Machine


The days are gone when a 386 or 68020 with 4 MB RAM, a single speed CD-ROM and a 512 x 384 x 16 color monitor can be considered useful. If you have not already done so, you should avoid targeting your titles to machines with any of those specifications. The possible exception is the school-based educational market which tends to lag behind, but is not worth compromising your product over, unless you sell exclusively to schools.

While you should support hardware for several years after it is last sold, remember that users often upgrade components such as the RAM, and even the processor. Keep this in mind when specifying each element of the playback platform. For example, if your web site demands a 57 Kbps modem today, you will alienate the large installed base of 14.4 Kbps and 28.8 Kbps modem users. But two years from now, your site will suffer if you are still catering to 14.4 Kbps modem users.

 

The Present Tense


Here are some hints to help you determine the current installed base that you should seek to support:

 

 

MPC - The Multimedia PC Specs

 

The Multimedia PC Marketing Council, publishes specifications for multimedia compatible PCs. Many software packages simply state "Requires MPC Level 2 or higher".

The Level 1 (MPC) specification was published in 1990, and is severely outdated. The Level 2 (MPC2 ) specification was published in 1993 (and updated to include CD-ROM drive and Sound Card in January 1994). It specified a minimum 25 MHz 486SX, 4 to 8 MB RAM, and a 2X CD-ROM, which now represents the absolute bare minimum of multimedia-capable PCs. The Level 3 (MPC3 ) Specification was published in 1996 and is a good current target platform to support.

 

The MPC Level 3 (MPC3) Spec can be summarized as follows: <TBD>

(Kurt, I am totally making this up)

 

Become a Genius - Predict the Future


You can forecast the percentage of current users with various hardware components.

Let's use modems as an example:

It is a pretty good bet that most people don't yet have a modem that sells for $350-$400 today, such as a 128 Kbps or ISDN modem. They probably constitute less than 5% of the total installed base.

When a name-brand modem costs $200-$300, and a cheap one costs $99, such as is true for 33.6 Kbps or 56 Kbps modems today, this is what most people are buying, but they may constitute only 15% of the installed base.

When a modem is being blown out or discontinued, as is the case with 28.8 Kbps modems today, they probably make up about 50% of the installed base.

You can assume that previously discontinued models, such as 14.4 Kbps modems, are percolating down, but may still represent 25% of the installed base. Users that bought these models when they first came out have already upgraded, and the remainder will follow. You can support the 14.4 Kbps modems for less than another year without foregoing a significant percentage of the installed base.

When a product hasn't been sold for more than three years, it represents the low 5% of the market, and is not worth supporting any more. Don't even think about trying to make your Shockwave movie run over a 9600 bps modem!

This same phenomenon applies to CPUs, RAM, CD-ROM drives, monitors, and everything else. (See the attached list of hardware's evolution, which should get you in the evolutionary swing).

You should support older CPUs longer than you would other components that are more easily upgraded, such as modems and RAM. But the minimum supported configuration will soon be a Pentium or PowerPC. Remember that hardware continues to be upgraded during the time you develop your software, so plan ahead.

Good luck in all your multimedia pursuits!

 

Bruce Epstein

bruce@zeusprod.com


Bruce is a Lingo consultant, and his company, Zeus Productions, sells Xtras and Lingo utilities for Director. Visit his info-laden site at http://www.zeusprod.com.

He is also the author of the eagerly anticipated, "Director in a Nutshell", published by O'Reilly & Associates. See http://www.oreilly.com/catalog/director for more information.

 



Home (Spotlight) | Table of Contents | Links | Contact Info

Place an Order | Products for Sale | Licensing | Downloads

TechNotes | FAQs | E-Mail Zeus | GuestBook | Glossary

[End of Page]

Copyright © 1996-1997. Zeus Productions. All Rights Reserved.

(This page last revised August 30, 1997)