It might sound like I'm gushing, but quite honestly, I haven't been this excited about a suite of software since the initial bundled release of Microsoft Office. The Macromedia Studio MX CD-ROM has five separate, sophisticated applications, each of which deserves a detailed review of its own. In the interest of space and time, however, I'll summarize the most notable qualities (both good and bad) of each piece of software.
When Dreamweaver first appeared in the late 1990s, it was regarded as one of the first WYSIWYG Web-design tools that got it right. It gave an accurate visual representation of page layout while allowing designers to use metaphors previously restricted to desktop-publishing applications. HTML code jockeys who preferred HomeSite or Notepad loved Dreamweaver because it was one of the first design tools that didn't mangle their code. Dreamweaver later gave birth to UltraDev, an enhanced version that supported a live data view of data-query results, so designers could construct pages the way the presentation would appear in the final form. UltraDev also added code hints and syntax support for ASP and JavaServer Pages (JSP).
Dreamweaver MX dramatically goes beyond UltraDev by supporting most of the major Web-scripting languages available on the Web today, including ASP.NET, PHP, and Macromedia's proprietary ColdFusion syntax. Dreamweaver MX also supports XHTML, XML, ECMAScript, VBScript, VB .NET, and C#.
As Figure 1 illustrates, the Dreamweaver MX environment is packed with options. The design pane allows artists to populate a Web page without seeing a line of code. Conversely, a developer can have all the formatting, highlighting, hints, and other sophisticated features found in code editors of expensive IDEs without seeing any graphical representation of their creation. Naturally, the optimal setup is to have both views synchronized in action, and Dreamweaver MX offers this flawlessly. It also supports document templates to make the relationship between the inspired artist and analytical code writer a trustworthy partnership. One suggestion to keep in mind, however, is that editing in this mode requires a considerable amount of screen real estate and, as such, necessitates running the program at 1600-by-1200 resolution or, better yet, with dual monitors.
Figure 1. Dreamweaver MX is the most comprehensive Web-syntax-agnostic client-presentation code editor and designer available today.
Another strong point is Dreamweaver's broad, technology-agnostic support for different Web-scripting, application-server, and operating-system environments, including Microsoft's ASP and .NET frameworks. Dreamweaver also supports Web Services through a painless, two-step Web Services Description Language (WSDL) consumption process. Dreamweaver can round-trip its live data connections with databases ranging from DB2 and Oracle to Microsoft Access, SQL Server, and even open-source favorite MySQL. The Windows version even supports file transfers using Unix Secure Shell connections, courtesy of a free extension from Macromedia's Exchange website.
Given all the possibilities, it's nearly impossible to test every development scenario, but the program didn't hiccup once in the substantial amount of time I spent with it developing C#-based, database-enabled ASP.NET pages (yes, Dreamweaver fully supports ASP.NET tags, Web forms, and DataGrid and DataList object introspection).
Nearly everyone with a browser has come across a Flash animation while surfing the Web. Because of the pervasiveness of the Flash plug-in, Macromedia officials decided to evolve this nifty multimedia tool into an enterprise-class, client-development tool capable of retrieving and displaying data from a variety of sources. One of the most important additions to the Flash 6 client, besides its ability to embed and play back Sorenson Spark-compressed video, is its support for Macromedia's proprietary Action Message Format. This compact, binary message structure allows Flash clients to communicate in real time back to the Web server from which the Flash file was delivered, thereby essentially replacing static Web forms with Flash-enabled dynamic presentations of data. Macromedia calls this practice Flash Remoting. Several showcases of this technology are displayed on Macromedia's Web site. The most prominent demo is a hotel-reservation system that only requires a single Web page with an embedded Flash reference to book rooms, from room selection to credit-card payment. However, one serious impediment to this type of Flash application being adopted in the e-commerce world is its current lack of trusted, secure connection notification. A padlock appears in the status bars of popular Web browsers (complete with the ability to click on the padlock to query the validity of the secure certificate), but Flash lacks this critical feature. Until Macromedia addresses this show-stopping problem, the product's use will be severely restricted to tasks such as public data display.
When coupled with the ColdFusion application server, Flash Remoting can offer some amazing and innovative application-development opportunities, particularly for embedded devices for which Macromedia has released the Flash client, such as Microsoft's Pocket PC and Nokia's 9200 Communicator. Think about it: Instead of using Microsoft's pokey eMbedded Visual Basic or unfriendly and time-consuming eMbedded Visual C++ toolkits to connect wireless Pocket PC clients to real-time data, programmers rapidly can develop stunning visual-presentation clients capable of doing more than simply displaying data. Because numerous media-manipulation and playback facilities exist in the client, it's quite possible to deliver charts, graphs, and even audio that the client can manipulate for even more meaningful data presentation. Entrepreneurial Windows CE programmer Anthony Armenta of Ant Mobile Software has developed a slick wizard named FlashAssist Pro. With a few clicks of the mouse, FlashAssist Pro generates source code automatically that loads and hosts a Flash file from within a native Windows CE executable. By using Flash MX and FlashAssist Pro together, the development time for native Windows CE applications has been cut in half.
At its core, Fireworks MX (see Figure 2) is a paint program. But it's a paint program written from the ground up to create bitmap and vector-based objects for the online environment. As such, all the features are optimized with Web-safe colors and online image delivery in mind. Besides the usual gif, jpg, and png image file formats, Fireworks MX also facilitates the painless creation of animated gifs, especially for rollover button and menu creation prevalent on Web pages today.
Figure 2. Fireworks MX provides numerous color- and image-manipulation options to help optimize the way images are delivered to and displayed in today's Web browsers.
Multiple layers and masks make it easy to reconstruct new artwork from previously assembled objects - a real time saver for those rollovers with different text labels. Fireworks also includes a selection of image filters, though not nearly as many as other graphics programs such as Jasc Paint Shop Pro or Adobe Photoshop provide. Competitors, however, don't offer the level of integration Fireworks has with other MX applications, particularly Dreamweaver MX. For example, after the navigational image elements have been created in Fireworks, selecting Export HTML for Dreamweaver will save the content for seamless, problem-free import into a Dreamweaver page, with all the fidelity and functionality retained.
The most interesting feature in Fireworks MX is its ability to generate graphics automatically from an XML file, using the new Data-Driven Graphics Wizard. This allows text templates in an image to be updated from the supplied XML data dynamically. Think of it as a mail merge for graphics. As such, hundreds of unique buttons, banners, and menus can be created instantly, based on the original template file.
Of all the applications included with Studio MX, FreeHand is, by far, the weakest product of the bunch. It's called FreeHand 10 for a reason: Macromedia obviously had its staff's hands full simultaneously upgrading the company's most popular products. Considering that FreeHand's main purpose is to generate vector graphics for Flash MX consumption, it's apparent to me that FreeHand took a back seat. As Figure 3 shows, FreeHand's bland interface doesn't sport the consistent MX interface design.
Figure 3. FreeHand 10 is the only main program included in the suite that has yet to sport the consistent MX user interface.
FreeHand 10's most severe omission is probably its inability to output to Scalable Vector Graphic (SVG) format. Many standards proponents envision SVG replacing Flash as the dynamic vector-viewing format of choice. This is highly unlikely for two reasons: because of the massive installation of Flash players bundled with all the major browsers on all the major platforms, and because the ease of creating Flash files with ECMAScript-based ActionScript is considerably easier than authoring a comparable XML-based SVG file version. Even Adobe (the main commercial advocate behind the specification) has somewhat acquiesced with the release of LiveMotion, which can generate basic Flash format files. Obviously, it's in Macromedia's interest not to promote the use of SVG adoption, and the omission of SVG support in both Flash and FreeHand is a sign that Macromedia intends to keep it this way.
ColdFusion MX Developer
One of the products acquired through Macromedia's purchase of Allaire was its flagship Web-application-server product, ColdFusion. ColdFusion MX (see Figure 4) is Macromedia's actualization of ColdFusion's next-generation release.
Figure 4. ColdFusion MX Developer is identical to the Enterprise edition but is limited to use with a single-developer IP connection.
Rather than executing the ColdFusion Markup Language (CFML) parsing engine in machine-dependent and memory-leak-prone C++, ColdFusion MX merges its CFML syntax with its JRun Java application server in the form of a JSP tag library. Hence, ColdFusion MX is a full-blown, robust, standards-based Web-application server that can consume Java 2 Platform Enterprise Edition (J2EE) and Microsoft COM-based objects as well as legacy CFML-based Web applications, with the added benefit of sandboxing the server processes. Gone are the days of rebooting ColdFusion servers because of memory leaks and runaway processes. Plus, with little or no alteration, ColdFusion MX can host JSPs (including those calling J2EE services) developed for use with overpriced and underused Java application servers.
The biggest reason ColdFusion MX is the server of choice for Macromedia Studio MX probably is that it's the only server capable of Flash Remoting. If Flash is being considered for its new data-transaction capabilities, ColdFusion MX is inevitably part of that equation. And Flash should be considered because ColdFusion continues its tradition of making the hard stuff easy. One reason ColdFusion caught on the way it did was its ability to connect to a database and display query results to Web clients with easy lines of code. ColdFusion MX elevates this theme of simplicity to XML Web Services with a single keyword. By setting the access parameter of any ColdFusion function equal to remote, ColdFusion instantly turns that function into a Web Service ready for consumption by any .NET, Java, Perl, Python, or other Web Service-capable language. ColdFusion can consume Web Services hosted by these other platforms almost as easily. Simply set the webservice parameter of the CFINVOKE method equal to the URL of the WSDL file and pass the parameters to the remote server by setting the name and value of the parameter using the CFINVOKEARGUMENT element. That's it! I thought .NET made it easy to create and consume Web Services, but ColdFusion makes it as easy as breathing.
To make it simple for Macromedia Studio MX users to appreciate the incredibly time-saving and downright cool features ColdFusion server provides, Macromedia has included a Developer edition of the product identical in every way to its top-of-the-line ColdFusion MX Enterprise edition, with one important exception: a single connection from the same machine on which the server is installed. When they say Developer edition, they aren't kidding.
Tell us what you think! Please send any comments about this review to [email protected]. Please include the review title and author.
Macromedia has packaged the most comprehensive and affordable software suite since Microsoft Office. Macromedia Studio MX contains all the tools serious Web developers and designers need to create stunning Web sites in a fraction of the time it would take to code them using traditional text editors. Macromedia Studio MX also elevates Flash beyond simple click-through animations into a truly useful and exciting presentation layer for data. With the release of the MX family, Macromedia has cemented its position as one of the main software companies whose products will continue to drive Internet innovation for years to come.
Here are Macromedia Studio MX's highlights:
- The suite has excellent features and superb support of the latest and greatest Web technology standards.
- Dreamweaver MX is a dream to use and features hundreds of free, user-developed extensions. Embedded applications can be developed in a flash using Flash MX.
- The MX user interface is consistent and complete without being intimidating.
- Accessibility (in line with U.S. Section 508) is taken very seriously and is prominent in all the suite's programs.
- The suite includes a Developer copy of ColdFusion MX for developing Flash Remoting application scenarios.
These are the product's weak points:
- Flash Remoting only works with ColdFusion MX server.
- The Flash client provides no visible, trustworthy indicator when conducting secure data transfers.
- FreeHand is not MX-enabled.
- Macromedia Studio MX is bundled with so much software that leveraging all its capabilities will take months to master.
600 Townsend St.
San Francisco, CA 94103
Phone: (415) 252-2000
Web Site: http://www.macromedia.com