Sending tremors through your Web page

In the beginning was the Web. The people looked at text, hyperlinks, and graphics and saw that the Web was good. But the people were not satisfied. "We have seen interactive multimedia: audio, video, and animation. Multimedia is on our CDs. Surely we can put this technology on the Web!" The ground trembled as multimedia sprung forth, sending a Shockwave resounding through the Web. At least, this scenario is what Macromedia would like to see happen with its new Shockwave products.

Shockwave is about delivering interactive multimedia over the Web--a difficult proposition if you think about it. First, multimedia information requires a lot of bandwidth to download, challenging the throughput capacities of not only most modern analog modems, but also other, high-speed connections. Second, creating, manipulating, and displaying interactive and multimedia information requires great sophistication in the authoring and viewing software--sophistication that goes beyond the capabilities of today's Hypertext Markup Language (HTML) editors and Web browsers.

Many different approaches, technologies, and products are available to address these difficulties. Shockwave by Macromedia is one of the most recent and most promising technologies. Released in December 1995, Shockwave is a compression technology for integrating multimedia in a Web page for delivery over the Internet or corporate intranets. More than just another passive media plugin, Shockwave can make the media interactive. For example, you can zoom and pan through an illustration and select embedded universal resource locator (URL) links. You can also interact with net-aware, interactive presentations. In short, Shockwave extends multimedia interaction to the world of the Web.

To create shocked--compressed and optimized for Web delivery--Web pages, you first create content using Macromedia's established tools: FreeHand, Authorware, and Director. You then shock the content with a utility called Afterburner and integrate it into an HTML document. To view shocked Web pages, you must download and configure Shockwave plugins for your Web browser. According to Macromedia's latest update, the plugins are compatible with version 2.0x of the Netscape Navigator Web browser only, not with Navigator 3.0 (Atlas). Support for Microsoft's Internet Explorer (IE) 3.0 is in the form of an ActiveX control. (The Shockwave ActiveX control for IE 3.0 is publicly available from Macromedia's Web site.) Once the plugins are in place, the browser detects shocked information in a Web page and activates the appropriate plugin to process and display that information. The plugins and Afterburner utilities are free to download from Macromedia's Web site.

Shockwave is available only for Macromedia's FreeHand (digital illustration), Authorware (education-oriented multimedia development), and Director (presentation-oriented multimedia development) products. However, Shockwave for Director won't support NT until later this year. Macromedia plans to extend Shockwave technology to its other products: Extreme 3D, SoundEdit 16, and a forthcoming video production tool. Eventually, Shockwave will also deliver streaming QuickTime video and other yet-to-be-announced file formats.

To see how Shockwave performs, I created test Web pages with shocked content from FreeHand 5.0B and Authorware 3.5 on a 166MHz Pentium with 32MB of RAM running NT 3.51 (an NT 3.51 version of Shockwave for Director was not available when I performed this testing). Experience the results for yourself on Windows NT Magazine's Web site. I created the Web pages with Netscape Navigator Gold and tested them with Navigator 2.01 and the latest plugins from Macromedia's Web site.

Shocking Illustrations
The first Shockwave-enabled development application I tested was FreeHand. As Macromedia's illustration tool, FreeHand competes with Adobe Illustrator and CorelDRAW. Shockwave for FreeHand integrates FreeHand graphics onto Web pages where you can zoom, pan, and link the graphics to URLs.

Shockwave for FreeHand includes the URL Manager Xtra (a plugin for the FreeHand application), which lets you assign a URL to almost any object in an illustration, even if that object's shape is irregular or other objects partially obscure it. Unfortunately, the URL manager doesn't let you attach a URL to grouped objects. Screen 1 shows FreeHand's URL Manager palette and the Afterburner compression menu item.

After creating the illustration, I compressed it with Afterburner, reducing the file size from 196KB to 93KB. My only complaint was Afterburner overwrote an old file without asking. I then created an HTML document and integrated the shocked FreeHand file with the EMBED tag. Macromedia's information is correct: Navigator Gold consistently crashed with an application error when I tried to preview the page. With Navigator 2.01, however, the FreeHand graphic loads and displays properly. Screen 2 shows the shocked FreeHand file as it appears in Netscape Navigator.

Shockwave for FreeHand is a downloading technology, meaning the Web browser must download the entire graphic before displaying it. This approach is not a problem even for complex illustrations because FreeHand graphics are vector based. They contain less data and download faster than their bitmap counterparts (.gif, .tif, etc.). Also, you can create FreeHand graphics in 8-, 16-, or 24-bit color without significantly affecting file size.

The best part about shocked graphics is interactivity. By holding down the space bar, you can zoom in (up to 26,500%) on a graphic, and by holding down the control key, you can pan around the image with the mouse. The lines in the illustration stay smooth regardless of how far you zoom. In panning around the image, I noticed that the screen updated only when I released the mouse button rather than as I dragged the mouse. I had trouble identifying where I was in the graphic. In addition, the graphic did not appear when I printed the page.

Despite these shortcomings, content providers will find Shockwave for FreeHand useful for embedding complex graphics such as maps, schematics, or engineering illustrations onto their Web pages. You can make these illustrations as detailed as necessary to let users zoom in on the most important or most interesting aspects. You can link parts of illustrations to other URLs, giving users quick visual access to related information.

Shockwave for Authorware
Authorware competes against multimedia authoring software products such as Quest and IconAuthor and is geared toward training and education. Authorware uses an icon-based flowchart metaphor for creating multimedia content. With Shockwave, you can deliver Authorware presentations via the Web.

To test Shockwave for Authorware, I developed a three-part presentation showing URL links, audio, and a relatively complex interaction. Authorware 3.5 has a pseudo-scripting language, updated to include several net-aware functions and predefined variables. For this presentation, I limited myself to the GoToNetPage function, which assigns URLs to user actions (other functions are available for downloading files, jumping to other shocked Authorware files, and reading the contents of Web documents). I created the remainder of the presentation, including a complex user interaction on the second page, using standard Authorware development techniques.

To prepare my Authorware file for Web use, I packaged it in Authorware, a process similar to compiling. Next, I launched Afterburner, which compressed the file and split it into segments for the Web browser to download as needed. To track these segments, Afterburner creates a map file that tells the Shockwave plugin when and where to retrieve each segment. Afterburner prompted me for the map file's location and the size of the segments. Screen 3 shows where you set the segment size in Afterburner.

Afterburner defaults to 16,000-byte segments, but you will probably want to tailor your setting within the range of 4000 bytes to 500,000 bytes, depending on the size of the Authorware presentation and available bandwidth on your target network. Smaller segments load quicker than larger segments, but they load more frequently. Large segments take longer to load than small segments, but occur less frequently. For my demo, I used the default setting.

As with FreeHand, I used the EMBED tag to integrate the map file in an HTML document and set the width and height to match the dimensions of my presentation. When I previewed the document, the presentation loaded and operated properly in both Navigator 2.01 and Navigator Gold. The last step was to transfer the files to the Web server and configure the server to recognize the map file and segment MIME types.

Screen 4 shows the shocked Authorware file as it appears in Netscape Navigator. As my shocked Authorware file was loading, I got a quick glimpse of the Macromedia logo. Behind the scenes, the plugin launches a runtime version of Authorware, nearly 1MB in size, to run the shocked presentation (keep this requirement in mind when calculating how much RAM an end user will need). After a couple of seconds, the presentation appeared as an integrated part of the Web page. Everything looked and functioned exactly as it was supposed to.

Because of the large amounts of data in a typical Authorware presentation, Shockwave for Authorware is best suited for high-speed intranets. However, with some good authoring techniques for reducing file size, Shockwave for Authorware can also be effective for content delivery over the Internet. Although content providers can create entire presentations by embedding one shocked Authorware file, a more effective approach can be to integrate small Authorware applets as part of a page, while the static content remains in HTML. These applets can contain animations, interactivity, simulations, questions, or test banks.

Shockwave for Director
Macromedia doesn't yet support Shockwave for Director on NT Web browsers, even though Director was the first Macromedia product to be shocked. This lack of support is unfortunate because Director is one of the most powerful multimedia authoring systems available. It combines excellent paint and animation capabilities with superb control over color palettes and synchronization of media. It also has a powerful scripting language that includes net-aware commands.

People usually choose Shockwave for Director to create animated banners and logos, navigation bars, or interactive animations on Web pages. Because Director is a full-blown authoring system, you can also create custom multimedia applications (power applets in Macromedia terms) for Web delivery. For example, Macromedia claims that you can use a shocked Director 5 movie on the Web as a secondary, self-modifying authoring system. Macromedia also plans to add other compression algorithms (such as JPEG) to Director. These will run on top of the Shockwave compression.

When I tried to create shocked content under NT 3.51, the Director 4.0.4, Director 5, and Afterburner utilities ran fine. However, the plugins consistently crashed both Navigator 2.01 and Navigator Gold. Macromedia is aware of this problem and promises that the next release of the Director plugins will correct it.

Just for the fun of it, I set up a test machine running NT 4.0 beta 2 with IE 3.0 beta 2 and a beta version of the ActiveX control for Director 5 (Beta+Beta+Beta=Alpha) and tried to browse some Director-shocked sites. Amazingly, I had no problems, and the movies performed properly! This was the first time I had ever seen a shocked Director movie running in an NT browser. Screen 5 shows Macromedia's home page, which contains a Director movie running under NT 4.0. (Watch Windows NT Magazine's Web site for a demo as soon as Shockwave for Director is stable under NT.)

Shockwave vs. Java
So how does Shockwave compare to Java from Sun Microsystems? Envision a spectrum with interactive multimedia on one end and custom applications on the other. Java is a tool for building client/server applications that can contain varying degrees of multimedia. In contrast, Shockwave is a tool for creating multimedia content that can contain varying degrees of interactivity. Shockwave and Java have some similar capabilities, but each is built for a different task. Macromedia recognizes these differences and is focusing on how Shockwave and Java can work together. In fact, Macromedia is creating many of its power applets in Java for use in Director. If you want a Web client/server application, stick with Java. However, if you want easy-to-create interactive multimedia, Shockwave is a better bet.

Shockwave's Future
Shockwave is in its infancy and suffers from some implementation problems, most notably a lack of compatibility with many popular Web browsers. Shockwave's future as an Internet and intranet standard depends on the extent of its integration into Web design tools, management tools, and browsers. To this end, Macromedia has worked out a deal with Microsoft to include Shockwave with the final release of IE 3.0, the Microsoft Internet Starter Kit, and future versions of Windows 95--no mention of NT 4.0.

The Internet will have an impact on the future of Shockwave­Internet bandwidth sets limits on what's practical to download. The Web is full of network-hogging, painstakingly slow Shockwave examples--try Castle Rock Entertainment's City Hall site at city-hall.com/castle.html. Developers will have to use traditional data-reducing techniques (1-bit graphics, minimal audio, low sampling rates) to keep download times short and audience attention engaged. As Internet bandwidth improves, this limitation will fade away.

Macromedia still isn't giving much thought to NT support. The focus remains on Win95 and Macintosh, with NT a distant third. For example, Macromedia released the Shockwave for Director plugin for Win95 in December 1995 and for Macintosh in February 1996; the company has still not released an NT version.

Although Shockwave's acceptance can in no way be guaranteed, it is an exciting, practical technology that can figure prominently in how to deliver multimedia content on the Web.

Contact Info
Macromedia * www.macromedia.com
* www.macromedia.com/shockwave/plugin/plugin.cgi