Articles Archive
Articles Search
Director Wiki
 

What's (really) New in Director MX 2004

April 9, 2004
by Tom McCrystal

Director MX 2004 is out. Of course, if you're a Director developer, the two key questions that you're asking are: "What's new?" and "Is the upgrade worth the price?"

I've been using MX 2004 on a daily basis since its release, as well as quite a bit during the beta test. Based on my experience, the short answers are: "There's a lot new you'll care about" and "Upgrade? Yep. Get out your checkbook right now."

The rest of this article isn't a review, per se, but more my impressions of how Director MX 2004 is impacting my work as a developer. If the work you do is different, your mileage may vary. For instance, if you do a lot of Shockwave 3D development, there's not a lot of new 3D in the upgrade. If you do CD-ROM or Rich Media application development, there's a ton of important stuff.

There are a few new features that I won't cover, just because I haven't really worked with them yet. There's a lot of promise, though, with stuff like DVD control. The ability to name sprites is another huge improvement, but since this is a feature that requires the new engine, is one that will become more important to me in the future as we transition to developing new applications from scratch in MX 2004.

Another new feature that won't be mentioned is Windows Media support. That feature is Windows-only, and its utility is in many ways supplanted by the availability of linked Flash video files. The same goes for support of QuickTime 6. Flash video can't reach the quality of QuickTime, but for our clients, "video without installation" is compelling.

The Good

Bug fixes: The Director Team fixed an amazing number of bugs this round. Importantly, there were fixes to a ton of "quirks" that don't sound like a big deal, but are nonetheless bugs that drive developers crazy at deadline-time. The 254 character pathname bug in Windows is fixed. The "Windows unprivileged user can't use an embedded font" problem is fixed. The XML xtra shouldn't leak memory anymore. Film loops and LDMs won't blow up. The FileIO xtra has been improved, and has new features that help cross-platform deployment.

Look and feel: The entire application is zippier, with fewer quirks. The "feel" of 2004 is probably worth the upgrade, by itself. A lot of little things were polished up. For instance, the Lingo syntax dropdown menus are organized differently and, in general, are easier to use. At the end of the day, I just get more accomplished in 2004 than I did in MX.

Backwards compatibility: The file format is the same as 8.5/DMX, so if you have to push shockwave or build a projector with an older engine, you can do so. Obviously, the new features won't work.

JavaScript Syntax: JavaScript syntax is a new addition. I'm not using it much, because I don't think C/Java/JavaScript-style is a particularly good way to structure a language. That said, Lingo programmers are expensive and hard to find, while JavaScript programmers are plentiful and in some places and many will work for beer. From a production management standpoint, JavaScript syntax opens up the pool of resources that a developer has available.

JavaScript syntax does give you access to language features that aren't available in Lingo, like regular expressions. Note that you can't mix Lingo and JavaScript Syntax in the same script member, but you can call JavaScript functions from Lingo and vice versa. Since it's real JavaScript, you can also pick up and use much of the open-source JavaScript code that's available on the Internet, say, for encryption routines or data parsing and validation. It's an incredible time saver and I believe that this will make a real difference in the development process.

A real object model: One of the benefits of implementing JavaScript syntax was that it forced the Director team to think through and document the object model. This led to a few changes and cleanups, including filling in a few of holes in dot syntax in Lingo.

Most of the changes are Good, but some will bite you in the ass anyway. Most notably, the syntax for creating timeout objects has changed: timeout().new(timeoutName, refreshInterval, #handler, target) replaces the old timeout(timeoutName).new(refreshInterval, #handler, target) This isn't documented anywhere, but has been covered pretty widely on the usual lists.

Similarly, window creation uses this new syntax. The rationale is that under the new object model window("theWindowIwantToCreate") references something that doesn't actually exist, so you're now required to explicitly create it first, with window().new It's sort of a pain to get used to, but it makes perfect sense once you do.

Another change is that the windowList works a little differently. The stage is part of the windowList, now. Getting the number of a non-existent member now returns <void> rather than -1, and breaks if you access the property using dot syntax. Properties in the xtraList have changed slightly.

Backwards compatibility, pt. 2: There's a new, undocumented, the scriptExecutionStyle property. If you set it to 9, you can use old-style Lingo; movies that were built using Director 8.5 or MX default to this setting. New files use a value of 10, requiring new lingo.

One nice thing is that you can change the scriptExecutionStyle on the fly, so when updating a project, you can use it to protect old code while selectively using new syntax.

As an example, say you want to be sure a handler executes using old syntax. At the head of your handler, push the current scriptExecutionStyle into a temporary variable, set it to the scriptExecutionStyle to 9, run the code, then restore it before you leave.

Language Choice: Director has the reputation of having a steep learning curve, although I believe that's unwarranted. I have long contended that Director is far easier to use than Flash. It is a much richer development tool, so it does take longer to get to know the whole product.

With the addition of JavaScript syntax, Director really has three programming languages: Classic Lingo (an easy, English-like language that's accessible to designers and developers who may be new to scripting), Modern Lingo (built around dot syntax - the tool of choice for most experienced developers), and now JavaScript syntax.

This language choice is the key to making Director accessible to more members of your team than just the "Director Developer". Classic Lingo lets a non-developer prototype features, and not bother you until it's time to write production code. JavaScript syntax lets you pawn work off on your web team, which is incredibly important when a deadline looms.

Flash assets: Importantly, the Flash Asset supports content generated by Flash 7, aka Flash MX 2004. There are a number of new features in Flash 7, such as linked .flv video files (think video without a QuickTime install) and a more robust scripting environment. You can also set the Flash asset editor to do "roundtrip" editing; in other words, double-clicking a Flash member opens Flash application, loads the appropriate file for editing, then saves any changes and reimports the .swf.

Macromedia claims a 15% to 70% improvement in Flash asset performance. I haven't tested this claim, but my experience is that things do seem to run better, so I'm inclined to believe it. There's also a new "common player" property for Flash Assets - you can tell multiple sprites to use the same instance of the Flash player. This will speed up Flash even more, or not. What it will do is help you get memory usage under control.

Activation: Activation sucks. Activation means that when you install Director MX 2004, your computer must "phone home" to Macromedia to make sure you are not a software pirate. In theory, this should be a non-issue. But it does make simple things like installing on a non-networked machine or upgrading your machine a pain. If you need to do a temporary install of Director on a troublesome machine, for instance, to track down a bug in your project that only happens on that configuration, you'll need to deactivate the copy on a production machine, activate on the new machine, troubleshoot, deactiveate, and reactivate. Yuck.

Activation doesn't always work. The Activation Hotfix available for download at the Macromedia site is your friend. So, you may be wondering why I've dropped "Activation" in "The Good" section.

Once some pinhead sold Macromedia management on the idea of activation, it became a fact of life. The reason I drop activation in the "Good" column is Macromedia's license policy: two activated installs per serial number. You legally can use the same copy on your primary workstation and your laptop, or set yourself up to work at home. MACR gets it, and when it came to setting license terms, did the Right Thing.

Activation sucks, but there's a much smaller chip on my shoulder about it because of Macromedia's license policy.

Xtra Support: In general, most xtras that worked with MX, work with 2004, even those you might worry about. BuddyAPI works, DirectFTP does, too.

Publishing Tools: The publishing process is vastly improved, although it's still not perfect.

You can build Windows projectors on the Mac, and vice versa. One gotcha, though, is that if you're building a windows projector with external xtras, there are a few .dll files that you need to copy over by hand. See page 458 of the "Using Director" manual for those details. It should also be noted that Mac Classic projectors can't be created using Windows.

License changes: The Director EULA is now the same as the Flash EULA. That means the made With Macromedia requirements have been dropped. Likewise, the "You can't compete with ShockMachine" requirements is also gone.

Shockwave Installation: I've recently been updating our workstations to the latest version of Shockwave, and it seems to be a generally easier process than in the past. At four megabytes or so, it's not a terribly large download by today's standards.

One thing to note is that there are a few changes to the xtras that are part of the standard install. For example, the multiuser xtra isn't there anymore. It's important to take a pass at older content that depends on now-missing xtras, becuse things will break if these xtras aren't set to auto-download.

The Bad

Documentation: There is none, or at least there's no paper with the upgrade. The full package comes with the 84 page "Getting Started with Director" booklet, which does a pretty fair job walking a new user through Director's feature set. Two manuals, "Using Director MX 2004" and "Director MX 2004 Scripting Reference" are available for purchase at $90 for the pair. The "Scripting Reference" is the old "Scripting Dictionary," which now weighs in at a whopping 1118 pages!

In fairness, many developers prefer electronic documentation, so my beef may not apply to you. Both of these manuals are on the CD as .pdf files, as well as part of Macromedia's online LiveDocs system.

Of course, system help files are also provided -- on MacOS X, Director's help system is integrated into the system's Help Center.

A few weeks ago, I sat in on Steve Cherneff's online "Meet Director" seminar. Documentation was one of the major threads in the chat window. According to the chattiest of the participants, the "word" -- mostly secondhand information from direct-l -- was that Director's documentation was not very good. That's simply not true. The documentation is actually good; in fact, it's actually possible to us the "Using Director" manual to learn the product. Although Gary Rosenzweig's books are probably a better choice.

Yes, there are a few undocumented issues like timeout and window syntax, the JavaScript gc() garbage collection call, and the like. Those are minor issues; my complaint is simply that a thousand-dollar product ought to ship with physical documentation.

FlashComm: The Flash Communication Server, billed as the replacement for the Shockwave Multiuser Server, has been dropped from the package. The Macromedia party line is that the free version of FlashComm is all you need for development, after that you need to pay. I've had this discussion, many times for a long time, with FlashComm management. They're simply wrong. If you plan on doing real production FlashComm development, budget for a 50 user "Personal Edition". ($499US)

Given that the version of FlashComm bundled with DMX was 1.0, it would have made sense to at least include an upgrade to version 1.5 as a part of the upgrade package. The Flash Communication Server1.5 upgrade brings a few new features and Linux support, available at macromedia.com for $99.

The Ugly

Interface: Developers either love the MX interface, or hate it. I don't love it, so the bad news is that not much has changed. Floating tool palettes still get in your way, although several keyboard shortcuts have been changed to make them easier. The always useful Object Inspector is new <shift-command-F-11>, a change from the finger contorting <shift-command-~>.

Flash Components: My view comes pretty close to "Real developers don't use stock components". That's not a slam on components. Simply, MACR's components are designed to be general purpose and bullet-proof. That translates into "not very lightweight." Exercise: Create a new flash file, then add a checkbox using the built-in component. Save it. How big is the file? Answer: "Holy Jumbotron, Batman!"

If you're used to using components in your Flash content, file size isn't a critical issue, and components are part of your producton workflow, component support is a huge win. This may be especially important to Flash developers moving to the more-powerful Director environment. If you roll your own components, it's a non-issue.

Price: It's inevitable that developers whine about the price of our tools. The full version is $1,199. Upgrades are $399. That may be a fair price, but it's three times the cost of Flash. Importantly, it's also above the spending limits of many institutional and government employee credit cards, which adds an extra layer of paperwork for many who might want to use it inside their organization.

Upgrade pricing only applies if you're upgrading from Director 8.5 or MX, so if you are still working in 8.0 or earlier, you'll have to bite the bullet and pay full ticket. Macromedia's general upgrade policy is "from the last two releases"; in this case, they ought to offer a "We want you back special" to users of older versions.

My other concern is that, at this price, there's not really much incentive for Flash developers to take a look a Director. If it were up to me I'd be promoting this release directly to the installed Flash base at the upgrade price, perhaps with some sort of instructional media to give the Flash folk a leg up.

Director belongs in every serious developer's toolkit. Macromedia needs to be more aggressive in making this happen.

The Bottom Line

Director MX 2004 is an incredibly rich product, and this release is clearly "ready for prime time". In my judgment, Director MX 2004 is one of the best releases to date.

While I'd hesitate to call it a "must buy", if you're spending a lot of your time in MX, the productivity gains, bug fixes, and new features make it worth upgrading today. If you're still using Director 8.5, MX 2004 brings new capabilities that are well worth the price -- I simply can't imagine limiting myself to the technologies that were available three years ago, even despite my belief that the MX interface is less productive.

Since the file format hasn't changed, there's no need to bite the bullet and upgrade all of your copies at once. That makes things a little less painful, but we're still planning to upgrade each of our licenses -- Director MX 2004 is worth it. Tom McCrystal is the Chief Technology Officer at creative perspectives, inc. and at Pitchsmart, Inc., both in Charlottesville, Virginia. He's used every version of Director, and has been a frequent speaker at Macromedia User Conferences. In 1996, Multimedia Producer magazine named him to their list of the Top 100 multimedia producers in the Industry.

Tom McCrystal is the Chief Technology Officer at creative perspectives, inc. and at Pitchsmart, Inc., both in Charlottesville, Virginia. He's used every version of Director, and has been a frequent speaker at Macromedia User Conferences. In 1996, Multimedia Producer magazine named him to their list of the Top 100 multimedia producers in the Industry.

Copyright 1997-2017, Director Online. Article content copyright by respective authors.