Opinion: Mixed Macromedia Messages

Opinion - Flash Mx 2004 ActionScript 2 - "Danger Danger, Will Robinson, Danger Danger"
Macromedia's Flash has enjoyed phenomenal success in the smart media development market. This is because Flash allows the delivery of the richest set of multimedia (most popular sound, image, vector draw, font, and video file types)in the most compact form (nobody compresses all media types as well as Macromedia yet). At the same time, Flash provides an increasingly sophisticated scripting option with ActionScript, a JavaScript clone. Coupled with Macromedia's cross platform development (Windows and Mac) plus cross platform delivery through web plugins (including presence on 98% of all browsers) and standalone executables or player app (available on Linux, Mac, Windows, Solaris, and other Unix versions) with specialized PDA and mobile platforms - Macromedia Flash is deservedly the front runner in rich media.

But as rich media become ever more important not just on the desktop and Web, formidable opponents are starting to show up. Microsoft, for one, wants to make the desktop the client platform of choice and has a two pronged approach to garner more presence in the market. Windows Media Player will be the compressor and deliverer of MS rich media; "Sparkle" will be the development tool. Meanwhile Sun, repulsed from the desktop by Microsoft's antitrust guilty actions. has designs on the mobile, PDA and even the desktop. And the Java engine certainly has the cross platform reach and horsepower (but also bulky size) to pose a threat in certain market segments. Finally, there is a bevy of start-ups and long time players being fueled by industry standards such as SMIL for multimedia, X3D for 3D modeling and SVG for vector graphics. These players have embarked on a variety of rich media systems.

So it is no surprise that Macromedia has put a lot emphasis in the latest versions of Flash on scripting (primarily ActionScript) and networking (Flash Remote and Flash Communication Server). This allows it to keep ahead of the rich media pack But all this effort has come at the expense of less designer and graphics enhancements to Flash. In fact 3rd parties such as Adobe, Corel, Swishzone, Swift3D, ToonBoom and others are leading with enhancements to the various designer tasks required to produce top notch 3D, animation and design experiences in the form of .SWF Flash runtimes.

But that has not been the only casualty. In the last 4 years ActionScript has sprouted from a simple few command lines to full Object Oriented scripting language based on the Javascript model. Up until now, Macromedia has deferred to Netscape/Mozilla and has kept to a fairly strict subset of JavaScript. But with ActionScript 2 starts to define new standards, albeit close to the proposed but not ratified new JavaScript 2.

The problem is this - in the process of building more data processing muscle into ActionScript 2, Macromedia has sacrificed ease of development and use in several ways.It has also gotten ahead of the ECMAStandard. Finally, Macromedia is continuing a bad tradition of not providing developers with migration tools for getting from there to here(ActionScript 1.0 or earlier code to ActionScript 2). These are the "Danger Danger, Will Robinson, Danger Danger" signs.

Specifically, on ease of use ActionScript has gone from a case insensitive to a case sensitive language. BiGone and Bigone and bigone are now different names and objects in ActionScript 2. The curse of Unix, case sensitive filenames, is now imported in general into all naming in ActionScript 2. Next, strong data typing is being introduced into ActionScript 2 as an option. Heretofore the following has been legal: var ii = 33; ii="a string now". But with ActionScript 2, if you declare var ii:number = 33; ii="a string now"; the latter statement will raise an error. All fine and good as long as the weak datatype or variant structure is retained in ActionScript. But this refugee from Visual Basic knows what happened to that language and its Variants. They were dumped in the name of object oriented purity. In fact, VB.NET is so different from VB6 and so close to C# that developers are deserting it in droves and just moving from VB directly to C#.

There are many changes to object and class definitions in ActionScript that bring it closer to Java in syntax. Nothing wrong here as long as the old object definition syntax forms are retained. The attraction of ActionScript is the ease with which user objects could be created in ActionScript 1. The danger danger is that these old forms will be deprecated and then lost. Then ActionScript will just become Java; like VB became a C# knock off (which is just a Java knock off). Not good. Ease and speed of development is the order of the day in programming. We need languages that are orthogonal to our leading languages like C/C++ and Java/C#. Hopefully, as Macromedia rushes to defend its turf, it will allow ActionScript to retain its ease and speed of coding roots while judiciously expanding its rich media and data processing capabilities.

Comment on our Opinion. The most astute and/or wittiest comments will be attached to this page. Just add an email address to the Name field so we can confirm that your comments may be published.

Top of Page  OpenSourcery Home  Tips & Tutorials