
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 :
- Explain how your product's features affect the minimum required platform.
- Explain how the minimum platform you hope to support affects your design
and content.
- Arm you with the knowledge to determine the appropriate minimum playback
platform, and more importantly explain and justify it to the powers that
be.
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
- 486/50 MHz or higher, 8 MB RAM (5 MB available) running Windows 3.1
- Pentium with 16 MB (8 MB available) for Windows 95/NT
Macintosh:
- 68030 33 MHz, 8 MB RAM (5 MB available) with System 7.1 or higher
- PowerPC, 16 RAM MB (8 MB available) with System 7.5 or higher
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:
- 3 MB free on the System disk or boot drive.
- Additional 10 MB free disk space on any drive
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:
- Go to computer stores, trade shows, and read mail
order catalogs to see what they are offering. You probably cannot buy
less than a 133 MHz Pentium with 16 MB right now, and most have higher
clock speeds and more RAM. Neither can you buy a 2X or 4X CD-ROM drive.
The minimum are 8X drives, with 16X and higher common. Ask the salespeople
what is selling and what is not. Ask them the size of RAM upgrades that
people are buying.
- Look at other software packages on the market. Your minimum
spec should be in line with other similar products on the market. Users
will upgrade when the majority of software does not support their older
hardware. The minimum hardware specification, and often a recommended specification,
is usually listed on the outside of the box. The minimum configuration
is often optimistic, meaning it will run the software, but not well.
- Ask your friends, customers, relatives, and people in newsgroups
what hardware they have, how long they have had it, and when they plan
to upgrade. Remember that it may take six months or a year to complete
your title, and the hardware installed base will have evolved by then.
- Keep an eye on the prices of various hardware, and be aware
of the successive generations available. Keep old mail order catalogs and
track the unrelenting price declines of various hardware. See the example
below.
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)
- CPU: 50 MHz 486 required, Pentium recommended (?)
- RAM: 8 MB minimum, 16 MB recommended (?)
- Magnetic Storage: 3.5" floppy, and 160 MB hard drive. (?)
- CD-ROM drive: Quad-speed (600 K/sec ideal)
- Sound Card: 16-bit, 44.1 kHz stereo sound
- Video: Super VGA (640 x 480 x 65,536 colors).
- Digital Video - must support delivery of digital video with 320 x 240
resolution at 15 frames/second and 256 colors (?) (recommended?)
- Input Devices: Standard 101 key IBM-style keyboard, Two-button mouse
- Modem: 28.8 kbps (?)
- Software: Windows 3.1 minimum (?) Windows 95 recommended (?)
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
Copyright © 1996-1997. Zeus Productions. All Rights Reserved.
(This page last revised August 30, 1997)