Accessibility
 
Home / Developer Center /  

JD's Forum

John Dowdell

John Dowdell

John Dowdell joined Macromedia in 1993 and listens to people on various mailing lists, forums, and newsgroups. He likes to make complex things simpler.

View Previous Columns

 
Question of the week: What does MX mean to me?


Last year Macromedia and Allaire joined together, combining server-side and client-side development. This week Macromedia publicly announced the first member of this post-merger generation, Flash MX. Over the next few months we'll see other applications in this MX family of tools. But right now, with Macromedia Flash MX, we can all start to see and talk about the new opportunities offered by this combined Macromedia/Allaire development.

For me, Macromedia has always been about creating things where the audience could actually do something. Director started out as an animation engine but quickly added scripting for the user to influence what they saw. Swivel 3D created things to look at, but all along had an undercurrent of creating interactive 3D experiences. Authorware created courseware, Dreamweaver introduced DHTML and client-side JavaScript design, DrumBeat and UltraDev were the first design tools for server-side interactivity. On the Allaire side, ColdFusion developers have always pioneered in web pages that directly respond to the visitor. Making a static presentation is a necessary first step, but the emphasis has always been on interaction and response... not just looking, but doing.

At first you could "do" something only on your own isolated machine. When Netscape 2.0 arrived with its plug-in architecture, Java and Shockwave could reach out across the net, in realtime, and update the data in the page without losing the current user state. Director users were the first to work with techniques such as browser communication and server communication. Java in the browsers sort of atrophied after the Lake applet, but Shockwave continued to add visual and multiuser abilities and today is one of the few technologies that can be seen on the majority of computers.

There's a step beyond connecting full computers together, however. Processing power and connectivity are becoming part of the surrounding world. Ephemeralization is a real, observable trend. A roomful of electronics now fits in your pocket, and soon may be your pocket. Webcams and sensors bring live data to servers, which are gradually drawing conclusions in human-like ways, and which then send commands to these embedded devices. Talking to yourself on the street was a sign of instability a short while ago, but is a sign of productivity today.

The world is getting wired together, and people are getting wired together too. We're not just looking at documents published by some centralized authority... we're also learning about and controlling our immediate surroundings, in a very decentralized way.

Five years ago many businesses regarded web pages as bizarre. Today it's bizarre to see a thriving business that doesn't have a web page for your computer. I think that, five years from now, it will be just as bizarre to see a business whose services you can't access and use from wherever you are. The dynamics are clear, the opportunities great.


So, why Macromedia Flash MX? Like Java and Shockwave, it's a client-side runtime. But its development has always emphasized size and portability over sheer number of features, so it has achieved wider viewership on fixed computers as well as portable and embedded devices. It's a single, predictable engine, rather than competing engines which implement a single specification in different ways.

Aside from ubiquity and predictability, the Macromedia Flash Player offers ability. It is a standard ECMAScript engine without the bulk of text... it makes scalable vector-based graphics practical and usable... it combines time-based animation with the reliability of fixed frames for interface design. It is not restricted to a single platform, system, or architecture. It is very capable, and pretty much universal.

Even though the Macromedia Flash Player works easily with ASP, PHP or other components, it will be able to do more, more efficiently, with Macromedia's own application servers. The next version of ColdFusion is still in development, so it's hard to be specific today, but if you'd prefer to write your own server-side scripting then you might wish to study up on talking with other machines through web services, using shared objects to communicate state across different machines, and similar techniques.

Macromedia Flash is only the first part of the Macromedia MX family, and will directly work with existing and new MX tools as they arrive. I'm confident that a year from now the world will see this as the strongest interface available for rich web applications.


Here are some questions and concerns I've seen on the newsgroups already:

(Q) Does this mean I won't be able to publish things to look at anymore?
(A) Heck no... making something look-able is the first step before making something do-able, so publishing isn't going away. FreeHand has had more than a decade of engineering investment to become the best tool for multi-publishing, and a lot of Director work is still out there for non-interactive presentations. There's just faster growth and more opportunities in rich web applications, that's all. Television added to radio, just as radio added to phonographs.

(Q) Do I have to use ColdFusion? What about Microsoft? PHP? Lasso?
(A) That's fine, nothing has changed here... regular network communication is done by open protocols anyway, so you'll still be able to hand-roll custom solutions as you desire. We're just betting that the MX family of tools will make it faster to do more in, that's all.

(Q) I use ColdFusion, but don't want to see it reduced to "the appserver Flash likes best"!
(A) No worries... there are advantages to live single-screen interfaces, but that doesn't mean you can't work with static stateless text pages, same as before. The ColdFusion libraries have become more powerful than ever, now that they're portable atop Java and use web services, and the Flash intercommunication is just icing on the cake.

(Q) What about Director? You haven't mentioned it once!
(A) Hmm, well, I thought I did.... ;-) Macromedia Flash MX just arrived here first, so that's why you're hearing about it first. Macromedia Flash has more of an edge into portable devices, but Director still offers more power on real computers... they're both valuable tools to use. When the MX servers arrive I think you'll be able to tap into much of this power right in the current Director 8.5, but please do guide us in the Soapbox thread or wishform how you'd like upcoming versions of Director to take best advantage of the MX family, thanks!

(Q) Those handheld devices are baloney, you've been announcing them for years!
(A) Although a specific device may indeed have turned out to have had a durability approximating luncheon meat, the overall evolution of portable devices remains real. Most device manufacturers already realize they need a rich, predictable and universal client-side engine, and announcements are generally made when they license the Macromedia Flash Player. Not all these devices hit the market, however, much less get adopted by consumers. That's why we're trying to get the Macromedia Flash Player on all devices, instead of just a few. Still, Macromedia needs to do a better job of showing the current state of the various delivery platforms out there... please let us know in the Soapbox thread or Flash Player wishform exactly what type of device listing would best serve your needs, thanks.

(Q) I use Flash and want to develop rich web applications, but I'm on a Mac. Will ColdFusion MX run on it so I can test everything on one machine?
(A) I don't know yet, sorry. I do know that computers with Mac OS X Server are the only ones which support Java 2 Standard Edition out-of-the-box, but ColdFusion MX hasn't been fully announced yet, so I'm not sure if it requires J2EE or if there are other constraints. Could you let the ColdFusion and JRun teams know directly what type of information you need from then, please? (That said, all web development should be continually tested on a PC anyway, so you should be able to run the server on your local network just as easily as on your main design machine.)

(Q) Why does it look different? I just got used to the old Flash interface!
(A) Just like you’d do with your own application interfaces, we’re always testing how well the applications get out of your way and make it easier to work. Macromedia was the first to offer an integrated interface in 1995, back when most people were familiar with the interface model of desktop-publishing tools. With Dreamweaver 1.0 and the other web tools we used new models like browser-style windows and launchers, and these changes were consolidated in recent versions of Macromedia Flash, Dreamweaver, and Fireworks. Now, with the increased need to switch among coding and visual representations at will, the MX family borrows some efficiencies from ColdFusion Studio. You can think of this as the third major version of the Macromedia User Interface. There's always room to improve, though, so please let us know of any specific interface changes you want at the wishform, thanks!


That's what "MX" means to me, anyway: building atop the community's existing skills to make it easier to take advantage of new opportunities. The applications themselves have moved past isolated development environments, past a common user interface, past edit-in-place and round-trip editing, towards multiple applications which work together seamlessly on a single task. I've been with Macromedia for ten years, and this is the most exciting time I can remember... there are some great opportunities ahead.

But we still rely on your guidance, to keep nudging us along the path that works best for you! Even though we're all still at the earliest stages for Macromedia MX, please sound off in the Soapbox thread about how you see this, and let the various develoment teams know exactly what you wish in the future. Thanks a bunch! 8)