|
Now you can deliver your Macromedia MX work in three distinct ways: as text, as a web interface, or as a self-contained application.
Director MX enfolds and extends Macromedia Flash
Player to beef up web interfaces with extensibility,
data visualization, and more. But it also gives you
a true stand-alone application with the benefits
of predictability,
offline use, and a tangible good that can be sold.
If you're delivering text to a desktop browser
or low-end device, Dreamweaver MX gives you markup
along
with a range of server coding. If you're delivering
to desktop browsers or a capable device, then Macromedia
Flash MX gives you a predictable and ubiquitous interactive
media engine. And now, if you're delivering to desktop
computers, Director MX can help you take full advantage
of their power and features, whether as a web interface
or stand-alone packaged application. They all share
the standard Macromedia MX interface but each is
fine-tuned for exactly how you'll be delivering your
final work.
This article gives a bit of Director's technical history and explores how
the tools differ in browser-based and stand-alone
delivery. It's aimed principally at Flash or ColdFusion
developers who need more power.
Director MX has had 20 years of engineering put into it. No other app-making
tool has had such an extended range of feature development, user testing, and
real-world
feedback. The total amount of thought invested by smart humans in creating
and using this tool is staggering. Those coming to Director for the first time
can take immediate advantage of all this brainpower, collected over all these
years. Director is massive, tested, and mature.
Director started with an efficient low-bandwidth philosophy: sprite animation separates media elements from their eventual use on the computer display. During the days of 600K floppies and only a few megabytes of RAM, long presentations could be made by controlling the compositing of elements at runtime. A SmallTalk-like scripting language moved Director beyond linear presentation and into nonlinear interactive interfaces.
When the CD-ROM appeared with its easy delivery of large amounts of data, Director
evolved to exploit this new channel by adding memory tracking and control,
loading by element or appearance or library, asynchronous loading, and streaming
(also known as "background" or "trickle loading," which took advantage of
small slices of idle time). Native media types increased to handle the range
of video
formats that could fit on a CD. An extensible runtime allowed arbitrary
new types of media, device drivers, and native-code abilities.
When the Internet introduced fast delivery of data
worldwide, Director's Shockwave technology was one
of the first to deliver to Netscape
2.0's new "plug-ins" mechanism. Sprite-based animation,
with its "send once, manipulate at will" philosophy,
was more efficient than video- or frame-based animation.
The killer features were Shockwave's predictable
runtime interactivity and live net calls. New abilities
in
this generation included retrieval of arbitrary text
or other files from the net, a wider range of runtime
import filters, the standard expat XML parser, additional
net-specific streaming, multiuser connectivity,
auto-updating
of the core engine and auto-installation of native-code
extensions, and a very wide range of internal and
post-authoring compression techniques. Matter of
fact, a SWF delivered within a Shockwave file is
usually
smaller and faster to download than a SWF delivered
to a browser!
Shockwave on the web today has majority
consumer viewership, in the range of Windows
Media Player and Adobe Acrobat. Nothing can match
the widespread
ubiquity and easy portability of Macromedia Flash
Player but Shockwave is right in the upper tier
of
accepted web technologies. Macromedia Flash's high
viewership makes it better for general web interfaces
but
for
a "destination site" most visitors already have Shockwave.
(Director MX uses the core Shockwave 8.5 web player,
which has been in distribution for almost two years
and already has a high consumer viewership. New abilities
such as the Macromedia Flash MX extension or programmatic
text-to-speech are handled as quick auto-installs,
so visitors do not need to download a whole new engine.)
For its part, Macromedia Flash can produce stand-alone
applications, but these are merely a shell around
the Macromedia Flash Player. The memory management
is far stronger in Director and the core engine
can take direct advantage
of system-specific
video accelerators or sound-mixing routines. Director
can also embed files, media, or native-code extensions
with its runtime, in addition to leaving them unprotected
on disc. Third-party
shells for Macromedia Flash can tap into Windows
abilities but you're still relying on each member
of the
audience
to have the matching Macromedia Flash Player and
any system-level abilities you're invoking. Director
and
Macromedia Flash both deliver to web and fixed media,
but each specializes in a different delivery channel.
Director standalones are quantitatively and qualitatively stronger than Flash
standalones. But the most significant differences
are likely in extensibility and data visualization.
Nearly from the start, the culture around Director has had a philosophy of
"if it isn't there, you can add it." Using your own
native-code extensions started with XObjects (which
could piggyback atop the wide range of HyperCard XCMDs
and XFCNs). When both Macintosh and Windows became
multimedia computers, the extension architecture matured
into Xtras. If the core engine does not already do
something you desire—whether importing a new
media type at runtime, or connecting to a different
device driver, or even just speeding heavy calculations
by pulling them out into native code—then you
can add new features to Director at will.
Take a look at Gretchen
Macdowall's list of standard extensions to
Director. It's worthwhile to spend a few minutes
scanning this
list because the range of existing add-in functionality
is staggering. All of these can be used in stand-alone
applications but the "Shockwave Safe" extensions
can also be auto-installed into browser-based applications,
subject to the audience's permission. Gretchen's
list is the best single resource I know of and
there are
more extensions built all the time. If Director
doesn't do it, odds are strong that you can make
it
do it.
Director and Shockwave are modular and extensible.
The features in Macromedia Flash Player are static,
predictable, and bound tightly into the distributed
player. The ubiquity and predictability of Macromedia
Flash complement
the customizable range of abilities in Director.
For data visualization, Macromedia Flash has a vector drawing API which,
like other Macromedia Flash MX abilities, can be used natively in Director
as well. Director also offers programmatic control
over bitmaps, with commands to get or set pixel colors,
copy or fill areas, extract or construct alpha masks,
a color object for runtime filter effects, and more.
These enable visual data analysis as well as abstract
data visualization.
Director MX also has other programmatic generators like a text-to-speech
API. Unlike Macromedia Flash's accessibility, this doesn't require
specialized hardware and can be driven programmatically
at runtime. There's a range of media we can synthesize
on the fly.
But the most staggering media synthesis may be Director's realtime 3D engine, developed
jointly with Intel, which offers true separation
between data and presentation.
Through vector or pixel techniques you could draw or paint one media element
at a time to construct a new media element and then control how various media
elements are arranged on the screen. You'd first have to determine the
relationship between the data and its visual representation, then choose the
rules for merging
these two, and finally calculate the media's appearance. You need to anticipate
how someone will want to look at the data and figure how to represent these
choices.
But imagine what happens if you don't have to translate external data resources
into a visual representation yourself... if you don't have to decide how long
a line should be or what color a pixel should be. Suppose you could just feed
data into a project and model it directly, independent of its eventual rendering
style?
Even better, suppose you could offer interactive control of data or rendering
styles to your audience—if you could let them
load arbitrary data, or choose the view of the data
or which elements are seen or how they are viewed—if
you could let your visitor adjust the view and rendering
styles and have the visual display be automatically
generated?
Take a look at the Protein
Data Bank or other
visualizing tools from canDo Multimedia. Instead of trying to predict how
the
visitor might want to visualize the data, you can offer them access to arbitrary
data and offer controls over how that data is visualized. Instead of predicting
and prerendering specific displays, you've kept data and presentation separate
until the actual moment of viewing. It's a dramatic step.
Shockwave 3D is already the most widely-deployed
general 3D rendering engine in history. It's also
available for your stand-alone, packaged applications
in Director MX. This stuff isn't science fiction,
it's reality today.
Summary: Both client-side interactivity
and server-side interactivity can be delivered through
either the web or fixed-media storage, and each has
its own set of advantages. Dreamweaver, Macromedia
Flash, and Director span the spectrum of text, web,
and stand-alone applications. There's overlap among
all three so you have flexibility, but they also
work together with similar interfaces so you can
leverage
your work. The extensibility and visualization abilities
in Director, as well as its multifaceted history,
are the key to its significant advantages.
|