Deja vu in Adobe's Flash fight with Microsoft
Give us the tools
At times I had to pinch myself at Adobe Systems' Max conference last month In Los Angeles, California. Was this an Adobe, or a Microsoft event?
First there were the case studies, like the MLB.com - Major League Baseball - web video, originally seen at Microsoft's Mix 2007 when it used Silverlight, and now at Adobe Max as a Flash example. Then, the New York Times reader, originally shown at Mix 2007 as a Windows Presentation Foundation (WPF) showcase. Finally, an Adobe AIR application demonstrating the Flash 10 Text Layout Framework.
Another deja vu moment came during the Sneak Peeks session at which Adobe shows experimental features that may never ship. We were shown a feature in the Flash Builder IDE called Pause and resume development, which lets you break into the debugger, change some code, and have the change applied immediately on resume. A similar feature is already in Microsoft Visual Studio, where it is called Edit and continue.
A further demo showed integrated cloud and client debugging, reminiscent of Visual Studio where you can already debug ASP.NET server code and Silverlight client code in the same solution.
You could reasonably conclude that Adobe is successfully fending off the challenge to Flash from Microsoft Silverlight, while striving to catch up with its competitor's developer tools. Greg DeMichillie - formerly at Microsoft, as it happens, and now working with Adobe Platform Tools - explained the roadmap for the three Flash IDEs.
Those three are the original designer-oriented Flash Professional, the Eclipse-based Flash Builder for code-centric development now in its second beta, and the forthcoming Flash Catalyst (also Eclipse-based) which Adobe calls an Interaction Designer. Catalyst enables designers to import assets from Photoshop, add interactivity and state transitions without writing code, and then export the project to Flash Builder for ongoing development.
Adobe's intention is to integrate these tools more tightly. You can open a component in Flash Professional directly from Flash Builder, and in future you will be able to do the reverse, editing code in Flash Builder while working in Flash Professional. In its first version, Catalyst does not allow round-tripping, so exporting the project is a one-way trip, but this will change. My guess is that Catalyst will eventually become an advanced visual designer for Flash Builder.
Flash Builder in conjunction with the new Flex 4 SDK is a significant advance from the current Flex Builder 3. A new component architecture separates visual appearance from behaviour, enabling easier skinning as well as being more amenable to unit testing. Another theme is data-centric development, Adobe's term for new tools that support data binding, paging, synchronisation, and generating forms and charts.
When Adobe acquired Macromedia in 2005 it brought together Flash and PDF, and while this makes a powerful combination there is a tendency for the company to put them forward as the answer to every problem. The new features in LiveCycle ES that make PDF the vehicle for client applications are arguably a step too far.
That said, Adobe has not abandoned HTML. Lea Hickman, a director in the Creative Solutions business unit, hinted at plans to support HTML 5 features in a forthcoming Dreamweaver. "Dreamweaver is in a sweet spot since we introduced Live View, which is basically an embedded WebKit," she said. "We like to position Dreamweaver a little bit ahead of the curve in terms of adoption."
The big story at Max was around mobile. Adobe's announcement of Flash Player 10.1 for Windows Mobile, Symbian, Palm WebOS, Google Android and RIM Blackberry means that a consistent Flash runtime for mobile devices looks likely for the first time. Apple iPhone is not fully included, though it will be possible to compile Flash applications to iPhone native code.
Adobe is far ahead of Microsoft, whose Silverlight runtime has yet to appear even on Windows Mobile. The mobile initiative is interesting for application developers as well as for video, and will be supported by a mobile version of the Flex SDK, codenamed Slider.
Is Flex now a serious contender for Enterprise clients? Borre Wessel, whose company Lab 49 built a financial trading application called Matrix in Flex - a significant project, with 600,000 lines of code and 30 developers - believes so. "In the Flash player itself there's very few bugs," he said.
"We sometimes miss features in ActionScript as a language. I would say it is on a par with alternatives, probably even better. And it's a very mature platform. The Flash player is more than 10 years old."
Adobe's developer story is patchy in places. The LiveCycle ES middleware is built in Java, and I heard from several attendees that they would like to see Adobe better supporting the Microsoft server platform. ActionScript is dated in comparison to C# or Java, as Wessel noted, and executes more slowly. There is still no sign of multi-threading for those programming the Flash runtime, and the developer tools, while catching up, are not yet among the best.
The design side on the other hand is the best around, while the multimedia capabilities of Flash look increasingly interesting in conjunction with the new collaboration services in LiveCycle ES, which enable features such as whiteboard sharing, chat and voice over IP. The next iteration of Adobe AIR, the desktop runtime, allows execution of native code so that developers will be able to launch local applications.
OK, it might have looked like a Microsoft event, but MAX at least showed the scope of Adobe's Flash Platform continues to grow. ®