MXDU 2005, February 17-18, Sydney, Australia

 
Feb 20, 2005

By Sean Corfield

This two-day conference, organized by Daemon Pty Ltd., a local Macromedia services and training company, has quickly developed a reputation as one of the best Macromedia technology conferences on the calendar. Into its third year, the conference attracts some of the top names from around the world and focuses on the blend of Flash / Flex / ColdFusion that makes for compelling applications. This year about 250 people attended, mostly from Australia and New Zealand.

Although the conference itself is only two days, it wouldn't be fair to omit the ANZ National MMUG meeting that traditionally happens on the evening of "Day Zero", before the conference.

ANZ MMUG, MXDU Day Zero

This well-attended notionally one hour event began with some informal networking (and a cash bar) before three short presentations (about twenty minutes each). The cash bar and the local penchant for continuing discussions over beer in bars means that the event is typically much longer than the hour it is advertised as.

First up was Richard Turner-Jones, Queensland MMUG Manager, who walked us through a case study of a Rich Internet Application that helps private pilots become familiar with air traffic control zones across Australia so that they can plan safe flight paths. The all-in-one interface combines maps, controls, photographs, 3-D airspace visualization and information about key locations. The maps are searchable and can be panned and zoomed. A very slick Flex / Flash application!

I was up next talking about what's "hot" in ColdFusion, based on the amount of coverage things got in 2004 on various blogs. The half dozen topics I chose to comment on were: ColdFusion MX 7 a.k.a. Blackstone, object orientation and design patterns, the explosion of new ColdFusion blogs, CFEclipse, new frameworks and increased activity around Fusebox, BlueDragon.NET. For each topic, I talked about why I thought it was important to the ColdFusion community at large -- mostly because it indicated that we're all growing up and tackling bigger and more complex problems, while trying to improve our skills. We're seeing more tools, more options, more opportunities ... It's a very positive time for ColdFusion! The frameworks I mentioned included Tartan (from Paul Kenney), ColdSpring (from Dave Ross, inspired by Java's Spring) and CFHibernate (Matt Woodward is considering something equivalent to Java's Hibernate persistence framework); they all got quite a bit of interest from the audience. On the subject of BlueDragon.NET, only one developer in the audience uses BlueDragon and I met almost no one at the conference who used it. Several folks said they didn't feel very comfortable relying on a small company, so far away, when they already had the global support of Macromedia -- and the very exciting new ColdFusion release -- to work with. About half of the audience had already downloaded ColdFusion MX 7 and several people already had it in production. Australians seem to be early adopters (and they produce some incredible applications). There also seemed to be a pervading sense of wariness about Microsoft and .NET - Microsoft hosted a breakfast at the conference to showcase Visual Studio.NET for .NET 2.0 and most people came out of that presentation shaking their heads, disappointed with what they saw as a glorified drag'n'drop wizard that had little to do with what they considered programming. After the U.S. ColdFusion community's near obsession with the "threat" of Microsoft and .NET it was a refreshing change!

Finally Mike Downey gave an informal state of the Flash union and then led a Q&A session since some of the top Flash gurus in the world were in the audience (Aral Balkan, Chafic Kazoun, Grant Skinner, Guy Watson, Jesse Warden, Matt Voerman, Peter Hall and the Nectarine crew). One of the common themes was that they are now getting lots of Flash work and that work comes to them. A few years back they would have had to actively go out and sell Flash.

MXDU Day One

The keynote opened with the now legendary Nectarine-authored Flash intro. This year the theme was superheroes and the animation featured interviews with the heroes "Flash", "ColdFusion", "Flex" and "Breeze" - and a cameo of Tim Buntel - in the style of the opening sequence of "The Incredibles". Very amusing! Geoff Bowers (Daemon) kicked things off with introductions and then handed over to Mark Blair, Macromedia's APAC Server Product Manager, who introduced two RIA developers to showcase their soon-to-be-launched applications, both built with Flex: a nice single-screen flight booking system and a very impressive car parts directory application for use by mechanics, complete with exploded parts diagrams. The latter was a testament to the productivity gains of Flex over DHTML; the Flex prototype took only a matter of days to build and will be replacing a DHTML version that took six months to build!

Then it was time for Tim Buntel, who mimed his way through a ColdFusion MX 7 feature tour, with 1950's 'tiki lounge' style music and slides. Even though many people had seen most of the features before, Tim proved he could entertain and impress without even saying a word! Then he switched to a more traditional presentation style to provide a full overview of all the new functionality in this new release.

After the break, I attended Kai König's talk on scalability. He opened with some background information about Java integration in ColdFusion, then started in on the scalability aspects of J2EE, and finished by looking at some architectural and design tips to help make your application more scalable. He had a lot of material to cover but one of the highlights included showing Sun's visual JVM monitor that lets you watch memory and garbage collection behavior while your application runs.

Next was my session on application frameworks. Quite a lot of the audience were already using either Fusebox or Mach II and a few were using both, which made it easier to point up the similarities and differences without having to really labor over the core concepts behind the framework. I used a simple example application built in a variety of styles with Fusebox and a couple of styles with Mach II to illustrate various points. For a first run of the talk, it went well and ran to about forty minutes plus ten minutes Q&A (Kai ran over a little so I started about ten minutes late). It's definitely a talk that I could happily extend to two hours if anyone wants that much detail! I'll be making the code samples available in due course.

Lunch was a choice of veal or pasta with a wonderful variety of salads and other assorted goodies. MXDU is fully catered with coffee / tea at the start of the day, pastries and more coffee / tea between the keynote and the morning sessions, a full hot lunch (with fabulous desserts!) then more coffee / tea in the afternoon break with cookies!

Sticking with the server track after lunch, I attended Tim Buntel's talk about the new rich forms functionality in ColdFusion MX 7. He noted that the CFFORM tags had been rewritten in Java for this release which meant some performance improvements. For a form with 1,000 input fields, CFMX 7 can render it in about 40ms compared with 1,800ms for CFMX 6.1! He showed the new validation and input masking features, as well as how the validation is also now available in CFPARAM and the new isValid() function. Flash forms came next and he showed how to use the new Flash data grid with editable fields and data bindings to other fields on the form, using ActionScript and the {variable} notation. Impressive! He also explained the caveats about performance if you make the Flash form recompile on each request (avoid dynamic field names and labels, avoid conditional or repeated fields). Finally he showed some of what the new XML forms will let you do, including extending form controls using custom CFFORMGROUP types and your own XSL skin. He showed a sophisticated dual-select box created from just two CFSELECT tags inside a CFFORMGROUP and then he showed a multi-step wizard. In both cases the skin automatically created all the necessary navigation buttons and JavaScript, allowing the developer to concentrate on just the business data in the form itself instead of worrying about layout and user interaction. He also noted that you can easily use this technique to have your CFTEXTAREA tags render using your favorite rich text editor, such as FCKeditor. As you can imagine, there was plenty of interesting Q&A after this talk.

Robin Hilliard was next, talking about component reuse and packages. He talked a lot about code structure and organization to aid with reuse and being a "good neighbor": package structure and naming, and variable storage for interoperability with other code (encapsulation). He also covered several design patterns that provide decoupling as well as some aspects of application frameworks that help build more modular code. Robin was his usual enthusiastic self and the presentation was packed with information -- more information than most of the audience could digest, I suspect! I know my brain was hurting by the end of it...

After the afternoon tea break, Brendan Sisson of Daemon talked about internationalization. He explained five levels of globalization: none, unicode, locale formatting, resource bundles and locale switching, and finally, multi-lingual content. He walked us through the planning stages, including making an application locale-neutral as pretty much a first step. He noted that CFMX 7 now provides access to all Java locales and this is *big* news! This was a great talk, with a lot of important hints and tips for anyone considering multi-lingual applications.

Luckily, before your brain explodes after a keynote and five sessions, the day ends and the social activities begin! A lot of people had signed up for the inaugural MXDU banquet and we assembled in one of the ballrooms as instructed. Geoff organized us into just over a dozen teams of around eight people and gave each team a Polaroid camera and a set of cryptic clues. The goal was to photograph what the clues led us to, around Darling Harbor, with your team members and as many of the public as possible in front of the place or thing! Once you have all five places or things photographed, you head back to the hotel and assemble a creative collage. I thought it was going to be a bit duff, really (not being the world's most enthusiastic team sports player) but my team had a cunning plan... Ben Bishop of Daemon was our fearless leader. The rest of the team was Matt Voerman (of RocketBoots), Joshua Lawrence (a Flash developer) and Frank Verheggen (of Nectarine). Our cunning plan was to very quickly zip round and take the requisite pictures without any of us in shot, then retire to a local pub (the Pyrmont Bridge Hotel) on the way back to the hotel and get passersby to take pictures of the team in front of the pictures we'd just taken! Too clever by half. We were very proud of ourselves! We didn't win. But we did have a lot of fun!

A live jazz band provided a musical backdrop to the dinner (which, like all the meals around MXDU, was very good!) and then the strange waiter who'd been bugging several people throughout the evening was introduced as our comedy entertainment for the night. He was hilarious! Turns out he's a Dreamweaver user and he was seen attending the conference!

MXDU Day Two

Nectarine excelled again with "Flash", the superhero, rescuing the two Mikes (Downey and Chambers) from "TED" (The Evil Deadline). "Sparkle" made a guest appearance as a somewhat ineffective child superhero (with no powers!) with much laughter from the audience. Queen's "Flash Gordon" theme provided the musical accompaniment. Another winner!

Mike Downey started out talking about the explosion of Flash video in advertising, marketing, training and entertainment. He showed several Flash video sites, including the very impressive Red Bull "copilot" site, where you can experience a plane race from multiple camera angles with optional pilot commentary, etc. [http://www.redbullcopilot.com/] He also showed C|NET's home page with video reviews, Amazon's home page which is currently premiering the trailer for the forthcoming "Hitch Hiker's Guide To The Galaxy" movie (looks great!) and then Microsoft's "Future Vision" site. The irony of Flash powering Microsoft's future vision was not lost on anyone in the audience!

He ran through some stats: Flash is available on 98% of machines, Flash video is available on 96% of machines (Flash Player 6) and progressive video download is available on 84% of machines (Flash Player 7). Mike gave some quick pros and cons of progressive video versus embedded video and then mentioned the forthcoming Flash Video Streaming Service that will provide hosted video delivery (from VitalStream, Speedera and MirrorImage). He also mentioned the Flash Video Kit for Dreamweaver which is spreading the ability to embed Flash video in web pages.

Mike Chambers came up on stage and started by thanking Geoff and all the Daemonites for a great conference, saying it was well organized and treated the speakers well, before showing a couple of very impressive sites using Flash: Disney's "The Incredibles" and Nike. These are both great uses of Flash for branding. Then he introduced Richard Turner-Jones who demoed the airspace application that some of us saw at the MMUG meeting. He made specific mention of how the site was designed to work well on slow connections, using low resolution maps that progressively increase resolution once you've finished panning and zooming (Mike Downey had made the same observation about the video reviews on C|NET's home page; they adjust the video resolution and frame rate to suit your connection speed).

Back to Mike Downey and on to Flash Lite for mobiles and devices. He showed some of the runners-up from the recent 3GSM competition to create compelling content for cell phones and noted that there are 29m Flash Lite enabled handsets out there already. Comparing Flash Lite to J2ME, he said the J2ME requires a different Java codebase for each different class of device, while Flash Lite pretty much eliminates that, letting you run the same Flash code on every device. One of the most popular J2ME games is a bowling game that has over a hundred codebase variants! Game developers are switching to Flash Lite instead, not only for the single codebase aspect but also for speed of development, being able to bring Flash content to market in weeks rather than months.

Mike demoed some Flash applications on cell phones, starting with an MXDU application that offers the entire conference schedule as well as all the speaker bios, a local map and a game -- very nice! Next up was the winner of the 3GSM contest, a traffic viewer application for New York City. It lets you navigate a map of NYC and drill down to a specific traffic cam, at which point it fetches a live still image from that camera! Then he showed a very addictive little maze game.

Next was FlashCast, a channel-based, push technology based on the Flash Lite player in conjunction with a back end content delivery system. Mike did a quick demo of FlashCast, showing the CNN News channel, with the main point being that data is asynchronously downloaded to your phone from the server as a "push", rather than you having to navigate through menus and request content and waiting for it to download ("pull"). The tagline is "Information finds you". FlashCast has not yet been launched but you can read about it on macromedia.com [http://www.macromedia.com/software/flashcast/productinfo/overview/].

Mike Chambers came back on stage to provide a sneak peek of some future Flash technology goodies: 8ball (authoring) and maelstrom (player). He said the focus of the next release of Flash is on three key areas: performance and stability (in both authoring and runtime), expressiveness (gradients and filters), and text/video. He ran some demos of each - all very impressive!

After the break I attended Mark Blair's talk about developing Flex applications on the ColdFusion platform. He went over the similarities and differences between Flex and ColdFusion in order to set the scene. This was particularly useful as it provided a good frame of reference for ColdFusion developers who are not familiar with Flex (or vice versa). Then he showed an intelligent instant messenger buddy that he'd developed using a combination of CFMX 7's XMPP (Jabber) event gateway and a console front end built with Flex. The idea was to simulate a helpdesk system that customers could interact with to get technical support. The Flex console logged all messages received and allowed an operator to send responses back to customers. The ColdFusion back end handled routing of the messages but also provided smart responses to customers, such as telling them average wait time (for a live operator) and responding to frequently asked questions. Mark walked us through all of the code said it only took him about two hours to build the whole thing. A production quality version would probably also use Flash Communication Server to provide a real-time "push" of data to the Flex console to avoid polling the server.

In the next session, Tim Buntel went into more detail on the printing and reporting capabilities in ColdFusion MX 7. I was a little distracted since I was online dealing with some server configuration issues back at base but with half an ear I heard him cover what can be done with both CFDOCUMENT and CFREPORT (and the Report Builder), showing a lot of cool functionality. He also mentioned a few caveats such as not being able to use CFDOCUMENT to render content that contains Flash (because the tag wouldn't know how to drive the Flash movie to pick a frame to render). That means you have to be careful when combining CFDOCUMENT with CFCHART. You should generate static images from CFCHART and include those back into the page you've wrapped with CFDOCUMENT tags. I hadn't really paid much attention to these tags before (the Report Builder only runs on Windows so I'd never tried it and I hadn't had much cause to create PDF or FlashPaper documents dynamically) but Tim impressed me with what these tags can really do!

After lunch -- chicken curry, smoked salmon sandwiches, salad, wraps, etc. -- I went to Geoff Bowers' talk on CFMX 7's new event gateways. He explained the main concepts and showed how to set things up in the ColdFusion Administrator. He then covered the two types of event gateway applications: initiator (an application that sends messages) and responder (an application that processes messages that it receives). He gave some examples of each and noted than an application can be both, of course. He showed a great tip for debugging event gateways. Since there is no web page associated with event gateway requests, you can't simply use CFDUMP to see what is going on and CFLOG only lets you write out simple strings. However, if you use CFDOCUMENT wrapped around a CFDUMP tag, you can write complex structures out to a PDF file in nice, readable dump format for each request. Very slick! As someone who's built numerous event gateway applications, I can tell you that this trick will come in very handy. Geoff walked through a complete example using the Jabber instant messenger service with a localhost Jabber server (Jive Messenger -- open source, nice install). His example used two listener CFCs, a technique that is not well-documented. You can provide a comma-separated list of CFC paths in the ColdFusion Administrator to have an event gateway invoke more than one CFC for each event! One of Geoff's CFCs just logged incoming messages. The other was adapted from the phone directory example in the documentation and looked up information in a database and responded to the IM user. It also handled session management so that it could have a dialog with the user. He also briefly covered what you would need to do to write your own event gateway and emphasized that event gateways alone could provide enough of a solid business justification for buying Enterprise Edition over Standard Edition (which does not include event gateways). It was a very good talk that ensured everyone would be up to speed for the next session: my talk on enterprise integration, primarily using CFMX 7's event gateways.

My talk was a case study of a project that I'm about halfway through at work right now. I opened with a brief history of macromedia.com, tracing its evolution from BroadVision to CFMX 6.0 Updater 3, to CFMX 6.1, and now to CFMX 7 as we deploy more and more web applications. Then I talked about the changes behind the scenes, deploying Oracle Applications for our financial and human resources systems and salesforce.com for our lead management systems. I also spoke about our gradual move to a hub and spoke architecture using the Java Message Service (JMS) on top of Fiorano's MQ message hub product. Initially all our integration was done using custom Java code but with the advent of the CFMX 7's JMS event gateway we have been able to deploy faster, more maintainable publishers and subscribers. I also discussed the changes within our order management back end, as we switched from tab-delimited flat files and batch file transfers to industry standard XML formats and, recently, to real-time messaging using JMS. ColdFusion's ability to handle XML, FTP and now JMS has made it a cornerstone of our enterprise integration strategy.

One more coffee and cookie break and it was time for the speaker roundtable. Geoff decided that since the focus of questions is usually on the Macromedians present, it made more sense to put just us up on stage to field questions. One thing I really liked about this session, as opposed to similar sessions at other conferences, was the positive vibe and the enthusiasm for Macromedia technology that came across in the questions. There were lots of specific technical questions, some gentle probing about future product directions and some fairly left-field questions about combining various product technologies (Flash Communication Server getting more mentions than I'm used to hearing). There was none of the "attacking" that seems to happen at some conferences -- a refreshing change. Then it was time for thanks all round, especially for Geoff and his faithful Daemon crew for putting on such an awesome event, and people began to drift away.

Another great MXDU -- with many people already looking forward to next year's conference!

That evening I attended a dinner for Macromedia Partners on the South Steyne Floating Restaurant in Darling Harbor, which was a good opportunity to get into detailed discussions about what some of the partners are doing with our products and hear about their successes (and their pain points). Once again the food was excellent and the conversations were great -- special mentions to Mark Stanton (Gruden Pty Ltd) and Craig Harcombe (Telligence, Austiger Hosting) -- and I got to meet some Macromedians for the first time, including Brian Chau whose name I'd seen on internal emails several times. It's always good to put faces to names.

Saturday was a quiet day in the hotel, spent mostly online working with one of my project teams back in San Francisco (it was Friday afternoon for them) as we continue our enterprise integration project. Saturday evening was the traditional speakers' dinner at Daemon HQ on the other side of town. Scott Fegette and I shared a cab with Kai König (while Kai's wife shared a cab with Jesse Warden and his wife Brandy). We all spent a fun evening chatting with various speakers and eating and drinking (can you spot a theme here?). Geoff and Julie had wisely decided to hire caterers this year (they did an awesome job of self-catering last year but it meant they didn't get much chance to mingle) and the food was incredible! I spent a lot of the evening talking with Chafic Kazoun, a top Flash developer whose name was very familiar but who I had never met. We talked a lot about the challenges in building robust, distributed enterprise systems and he was able to give me a quick demo of one of his projects -- amazing stuff and very gratifying to see people tackling these sorts of projects with Macromedia technology.

It's been a great week. I can't recommend this conference highly enough: the caliber of the speakers, the technical depth of their talks, the networking, the relaxed, fun atmosphere of the whole conference. MXDU deserves the special place it has created in the hearts of both attendees and speakers. I'm looking forward to the next "rock concert for geeks" at MXDU 2006 -- Thanks, Daemon!
Sean Corfield, Macromedia's Director of Architecture, brings 20 years of technical and managerial experience in architecture, web technologies, and programming languages. He has expert knowledge in UML, OOA/D, CASE, C, C++, Java, SQL, Broadvision, ColdFusion, and HTML. He relishes a technical challenge both inside and outside of work and healthy technical debates (many of which can be found on his blog [http://www.corfield.org].

Add a Comment
(If you subscribe, any new posts to this thread will be sent to your email address.)
  
Privacy | FAQ | Site Map | About | Guidelines | Contact | Advertising | What is ColdFusion?
House of Fusion | ColdFusion Jobs | Blog of Fusion | AHP Hosting