Accessibility
 
Home / Developer Center /  

JD's Forum

John Dowdell

John Dowdell

John Dowdell joined Macromedia in 1993 and listens to people in the online communities. He likes to make complex things simpler, and keeps a daily weblog of related news.

View Previous Columns

 
The third channel of delivery for your MX work


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.