Explaining the MX vision

Tim Anderson talks to Jeremy Allaire, Macromedia's chief technology officer.


    "We are absolutely focussed on establishing Flash
as the premier rich client"


Web Development code examples

Books for developers



Tim: At a high level, how would you describe MX?

Jeremy: For the last 18 months we've been hard at work on our next generation family of products under the MX branding. It is a fully integrated set of products that combines a rich client which is the Flash player combined with server technology centred around ColdFusion MX, and then a suite of design and development tools that are integrated as Macromedia Studio MX.

Tim: What does MX stand for?

Jeremy: MX as an acronym doesn't stand for anything specifically. MX as a concept refers to two things. It refers to the idea that the Web is moving towards rich internet applications, which combine content, application user interfaces, applications running in the network, and communications, into a single environment that enables a better end-user experience and lower cost for corporations. MX is the specific integration between our rich client, our server, and our suite of development tools.

Tim: What is happening now with MX?

Jeremy: Flash MX was launched a month or two ago and has been very well received. We're now announcing a whole new set of technology in support of the Flash environment. ColdFusion MX is a major new release of that platform, built on J2EE, that allows people to use a rapid scripting environment to build server applications that can compile and deploy to any J2EE application server including our own. It includes new technology for connecting Flash clients and remote application servers and web services, which is called Flash Remoting and included in ColdFusion MX. It allows you to connect web services and application servers to Flash objects in the client. There's also new technology for creating, publishing and using Web services within ColdFusion, at a very simple level, so that even scripting level developers can develop and use web services. Finally, Studio MX is a major set of tools releases that are integrated into a studio, and the anchors of that are Dreamweaver MX, Flash MX, and Fireworks MX.

It's a transformation of those products. Dreamweaver is going from being a leading web authoring and site development tool to being a powerful development environment for server applications. So we've combined Dreamweaver Ultradev and the ColdFusion Studio environment into a single product, Dreamweaver MX, that allows people to build both client and server applications including web services, server scripting, and so on.

Flash MX has also evolved, adding design features but also expanding its use for application development. The tools introduce standard user interface components, a component model, a more advanced object model, programming tools, a new IDE with debugging built-in. It's really expanded its capabilities for building rich client applications, tightly integrated with servers and web services.

Tim: What is different about the MX tools?

Jeremy: We believe that these rich internet applications involve the convergence of content and application, so we've tried to develop a workspace and an IDE model across the tools that's configurable to the different perspectives and developer types, but with a common workflow across those environments. Rather than trying to fragment into lots of different tools, we're trying to aggregate and integrate them so it's simpler for people to purchase. You buy Studio MX, in the US that's $799.00, which gets you all of those tools in a single environment. We want to get that on everybody's desktop.

When you open the tools for the first time, they ask you, "Are you a designer? Are you a developer? Are you a generalist?" You can select the kind of perspective you want to use and configure the workspace to that set of work. So we really allow someone to work as they prefer to, and they can make invisible the tools that are geared towards other types of tasks.

I can open up Dreamweaver MX purely in a coding view, and have it work just like Homesite, with web services and database programming tools, and never do anything else. It's a very effective coding environment. On the flip side, I can strictly be a designer, designing style sheets and HTML, and integrating graphics, and have that perspective.

Tim: With ColdFusion moving to Java, what's happening to Dreamweaver's ASP support?

Jeremy: Across all of the MX products we're providing strong support for both .NET and J2EE, the two major platforms. We're trying to create a set of software that lets you extend the value of those, rather than trying to replace them. ColdFusion MX runs on any J2EE application server. You can import and use .Net web services, and web services that you build in ColdFusion can very easily be used in .Net. You can call COM objects. You can integrate with the standard Microsoft API.

In Dreamweaver MX we've actually expanded support and added pretty rich support for .Net development. You can author ASP.Net pages as well as old ASP. Of course, the integration is much tighter between Dreamweaver MX and ColdFusion MX. So we've added some additional features which are only available with the MX family.

Flash Remoting

Tim: Can you say more about Flash Remoting?

Jeremy: This is a technology that allows you to expose objects and web services on an application server as if they were local ActionScript objects. It is similar to Java RMI, or .Net Remoting, which are doing similar things in those worlds. Flash remoting uses a very efficient binary protocol that runs over HTTP. It is optimised for objects that are created in Flash. If I have a ColdFusion component sitting on a server, I can run that on the ColdFusion server using a script, or I can import it and use it in Flash as if it were a local Flash object. So it is a very powerful framework for client-server communication.

It also allows you to use Soap web services directly from Flash. So I can put in the wsdl file, or its URL, and Flash Remoting will build a proxy for that web service, and allow me to access the APIs of that web service from a Flash client.

Tim: Is Flash Remoting only a feature of ColdFusion MX?

Jeremy: Flash Remoting supports ColdFusion, .Net and Java. The capabilities come with ColdFusion MX, but you can also buy the Flash remoting service standalone.

We have adaptors for ASP.Net and for Java, so you can use Flash as a client with any backend.

This is a transformation in the role that ColdFusion is playing, from being its own standalone proprietary server, to being something that extends other infrastructure. So when I purchase ColdFusion, I can use it with Flash Remoting to get to Java applications that I might have, and also create applications that compile and run in Java application servers. We see it as something that will be interesting to a lot of people, in a way that it hasn't in the past.

Tim: With the push towards Flash as the rich client, are you concerned about alienating those who prefer other kinds of client?

Jeremy: We are absolutely focussed on establishing Flash as the premier rich client. We think that people building applications will find it very compelling. Its architecture is now better suited to interactive applications and we're making it much easier than it has been in the past to build these.

However, there will be many applications where Flash is not the client. Obviously basic static content HTML is fantastic, dynamic documents are fantastic. We happened to supply the leading HTML authoring tool in the industry, so we have quite a franchise and commitment there. We expect to see a spectrum of things that people are building. We have a little chart that we've built that reflects this.

  • At one level you've got static content, and you might use Dreamweaver MX and Fireworks MX to build that website.
  • Next you've got rich content which goes beyond that, where you use Flash, but still static, not an application.
  • Then you have basic web applications. Dreamweaver MX and ColdFusion MX make an excellent combination for building dynamic web applications, and we expect to see tons of people do that.
  • Finally we have rich Internet applications, where you're leveraging a rich client, leveraging this new services-based model on the server, and building applications.

It's a spectrum. We want to enable people across that spectrum, but to drive towards these rich Internet applications over time.

Java and .Net futures, Tin Can and more: click here for part 2

Copyright Tim Anderson 29th April 2002. All rights reserved.

Sign up to be notified of future articles

Macromedia Studio MX best buy: upgrade from 2 or more Macromedia products
Details here for (US) Studio MX Windows and Studio MX Mac
Details here for (UK) Studio MX Windows and Studio MX Mac

Latest books
On Flash MX and Other Web development topics