Adobe's Plans For Flash

Tom Arah examines what the recent Flash-based developments mean for the future.
Amazingly, the Flash SWF format’s rise to dominance began with its ability to embed simple, cartoon-style vector animations into HTML web pages to give them a bit of a lift...
The format could well have died like any number of other proprietary player add-ons, but Macromedia added new must-have design capabilities with each new release – bitmap and text handling, MP3 audio, simple interactivity, server-side integration, advanced programmability, in-built user interface (UI) components and, perhaps most important of all, video. Each new design feature meant that more authors used the technology, producing more content and so driving end user take-up of the latest player. The end result is that Adobe, who acquired Macromedia in 2005, can now claim that Flash is “the most pervasive software platform” with 98.7% of internet-enabled desktops able to access Flash content. It’s been a story of continuous breakneck development so expectations were high for the latest release and the first under Adobe’s management.
But they weren’t fulfilled – at least not at first sight. While the last Macromedia release, Flash Professional 8, saw a whole host of major new design benefits, such as support for blend modes, bitmap effects, improved text display and a new video codec with alpha support, the new features in Adobe’s first release, Flash CS3 Professional, are largely tinkering around the edge. In particular, while the new integration with Illustrator and Photoshop will help creativity and workflow, there’s little new design power within Flash CS3 Professional itself. Adobe was forced to hype up less-than-thrilling advances such as the ability to convert complex tween-based animations to complex ActionScript, an improved but still awkward skinning system for UI components and new tools for adding – wait for it – rectangles and ovals.
While most of the changes were tweaks at best, there was one undeniably fundamental development. What makes Flash CS3 Professional stand out as a watershed release is its introduction of the entirely new ActionScript 3.0 scripting language. This is a total rewrite of the existing ActionScript 2.0 (still included for backwards compatibility) with a completely new language based on the ECMAScript standard targeting a completely reworked Flash Player API (Application Programming Interface). The changes are so fundamental that, for the first time, it was necessary to add an entirely new ActionScript Virtual Machine (AVM2) to the associated Flash Player 9 to execute ActionScript 3.0 content (the original AVM1 remains for backwards compatibility). The result is a modern and powerful, object-oriented, class-based programming environment with superior debugging capabilities producing more robust applications capable of dealing with large datasets and which, thanks to the new AVM2, can process code up to 10 times faster.
On paper this all sounds great - but in practice what it means is total upheaval. The average Flash author is a designer first and a developer second. These occasional scripters will probably never have heard of ECMAScript let alone want to throw away their current hard-won coding practice to tackle it - especially as the new language is more demanding, for example requiring stricter data typing. Moreover, while new API features such as the E4X (ECMAScript for XML) support for handling XML as a native data type are welcome, this comes at the expense of lost familiarity and some important problems with interoperability – for example you can’t mix language versions or access variables in loaded ActionScript 2.0 based SWFs. The bottom line is that it’s lucky that the new ActionScript 3.0 debugger does a better job of highlighting coding mistakes, because there will be a lot more of them.

The new ActionScript 3.0 language and API are radically different
Such upheaval would still be worth it if the end user benefits clearly justified it – and for some projects they certainly do. However for most of the work that Flash is currently used for, they don’t. The Flash authoring userbase has built up over the years based primarily on its media handling and design credentials; the number using it for extensive programming and to handle large datasets is still comparatively small. Unless the code execution in these relatively rare projects was unacceptable then Flash Player 9 adds little. Certainly nothing that marks it out as providing the new benchmark for best available end user web experience. The end result is that, for most projects, most existing authors will be better off targeting Flash Player 8 and the ActionScript 2.0 that they are comfortable with. Doubly so as the current penetration of Flash Player 8 is near-total at 96% while the new Flash Player 9 lags some way behind - and will take longer to catch up if many designers stick to targeting version 8.
This looks bizarre. Macromedia ensured Flash’s success by providing new end user benefits to drive new player and authoring application penetration so producing a virtuous circle. With Flash CS3 Professional, Adobe seems to have got it badly wrong by simultaneously failing to provide any major new design benefits while alienating the majority of its existing authors so giving no compelling reason for anyone to upgrade. If there’s ever been a version of Flash that both author and end user can miss out on, it looks like it’s this one. It’s even stranger because, for the first time, Flash is about to face some meaningful competition - and competition doesn’t get any more meaningful than Microsoft deciding to muscle into your territory.
Microsoft has decided to target Flash for very good reason because it recognizes that Adobe is absolutely right: with close to 99% of internet-enabled desktops, and via Flash Lite a good proportion of mobiles too, Flash is the most pervasive software platform. That’s not just more pervasive than media players such as Shockwave or QuickTime, it’s a bigger market share than Internet Explorer can claim – or Windows itself! And while at the moment the format might primarily be used for delivering eye-catching banner ads and embedded You Tube videos, that’s really only scratching at the surface of what can be done. Flash has moved light years away from its humble origins – nowadays in the hands of advanced users it really is a platform capable of hosting the next generation of Rich Internet Applications (RIAs).

Flash is the most pervasive software platform
These RIAs mix rich design, multimedia, live data, advanced interaction and programmability and deliver them efficiently and consistently across multiple browsers and devices. As such, RIAs tap directly into the three main directions in current computing: the move towards richer design and end user experience; the move towards greater connectivity, live data and internet-based delivery; and the move beyond the desktop to multiple devices and platforms. In comparison the longstanding model of the standalone PC desktop application suddenly seems hopelessly outdated. And, crucially, all you need to access the wonderful new world of RIAs is the Flash Player – it doesn’t actually matter which operating system or browser you are using. This is Microsoft’s worst nightmare with its prime assets, Windows and Internet Explorer, effectively rendered irrelevant, acting as mere hosts to the all-important Flash player. It’s not a distant threat either, with that massive player penetration, the rival platform is already there in place.
Having recognized the threat, Microsoft is naturally responding by taking the attack to Flash. It’s a story I’ve covered in some detail over the last few months (see RW147 and RW148), but it’s useful to go over the main points again. Firstly, and most fundamentally, Microsoft has rethought and reinvented Windows’ core design functions with the all-new and all-important Windows Presentation Foundation (WPF) moving beyond basic bitmap-based writing to the screen to provide a far richer API including resolution-independent and scalable vector handling along with support for audio, video, 3D, XML data, server-side integration, pre-built user interface controls and so on. All these features were pioneered by Flash, but Microsoft breaks significant new ground with its introduction of a modern, declarative presentational markup language, XAML (eXtensible Application Markup Language), with which this new WPF-based functionality is described and controlled. And with the imminent XAML-based Expression Studio, and particularly the central Expression Blend authoring application, it is about to provide the tools to bring together these new WPF-based design capabilities with the existing programming power of C#, VB.NET and Visual Studio to produce the next generation of rich Windows EXE applications.

Microsoft is set to directly challenge Flash in the RIA design space
That’s Microsoft’s core territory of the Windows desktop reinforced and defended, but the new WPF architecture is also designed to take the fight to Flash by moving into the browser. Using Expression Blend you can not only produce industrial-strength standalone EXEs but also lightweight XAML Browser Applications (.xbap). XBAPs are WPF applications that are non-installed, browser hosted and run in a security sandbox – in other words a direct rival to current Flash RIAs. Most significant of all, with its Silverlight technology (previously codenamed “WPF/Everywhere”), Microsoft is producing its own browser-hosted player to take on Flash directly head-to-head.
Silverlight will enable authors to embed rich content into their web pages based on a cut-down subset of WPF and .NET functionality. Crucially, the fact that Silverlight content is displayed by a player enables it to be seen in different browsers and even across different platforms with Microsoft providing Windows and Mac-based add-ons for Mozilla’s Firefox and Apple’s Safari with mobile device support in the pipeline. Silverlight content directly takes on the most common function of Flash SWFs, enabling those animated banner ads and embedded videos, and generally allowing the web author to move beyond the inherent design limitations of XHTML/CSS. Moreover SilverLight’s support for Javascript-based external control leaves Flash trailing by enabling seamless integration of browser and player content – hover over a product in an HTML table for example and a related Silverlight video could begin playing. And Silverlight has another promised trick up its sleeve with its ability to act as a runtime to enable native desktop application hosting so bringing cut-down C# programming to the Mac.
It’s an extraordinary turnaround effectively reinventing Windows from a closed, standalone, desktop operating system into an open, internet-delivered, cross-device player platform. With the turnaround, it’s suddenly Adobe rather than Microsoft that looks to be under threat as, when the massive army of professional .NET desktop programmers is unleashed into the RIA arena, there’s a real possibility that Flash might get crushed. Once you appreciate the significance of the advent of WPF, XAML, Expression Studio and Silverlight, it certainly explains why Macromedia decided to throw in its hand and join forces with Adobe. But with the apparently lacklustre Flash CS3 Professional release has Adobe accepted its fate and thrown in the towel too?
Absolutely not: there’s far too much to lose, and to gain. Instead Flash too is being completely overhauled and repositioned to be made battle-worthy. Over the years Macromedia and Adobe have talked a good talk when it comes to the importance of Flash-based RIAs but, despite the reach of its player platform and the richness of the experience it can deliver, the number of RIAs out there remains small. And the reason is simple. Flash might be a great design platform capable of providing the richest web experience available, but it has never really cut it as a serious development platform. ActionScript 2.0, like the Flash format itself, developed organically and in piecemeal fashion over the years and, while a lot can be achieved with it, it just isn’t powerful enough for mission-critical work. Most professional developers opening the Actions palette and coming face-to-face with the idiosyncracies and non-standard practices of ActionScript 2.0 and the feebleness of its coding environment and debugging facilities would – and did - give up in disgust.
While it is painful for current design-oriented users, the introduction of the standards-compliant and far more powerful and robust ActionScript 3.0 in Flash CS3 Professional is a necessary first step if Flash is going to attract the new developers needed to create the RIAs of the future. But it’s not enough. Any developer opening the latest Flash CS3 Professional is still almost certain to give up on it because, while the scripting capabilities might now be standard-compliant, the whole Flash authoring environment built on its stage, timeline, symbols, tweens and movieclips, is certainly not. So has Adobe shot itself in the foot – alienating its existing designers but not going far enough to attract new developers?
If Flash CS3 Professional was the end of the matter, the answer would have to be “yes” – but it isn’t. In fact the introduction of ActionScript 3.0 to Flash CS3 Professional was largely incidental. ActionScript 3.0 and the AVM2 in FlashPlayer 9 were actually first introduced back in June 2006 with Adobe’s launch of the Flex 2 framework and its associated Flex Builder 2 integrated development environment (IDE). Unlike Flash itself, the Eclipse-based Flex Builder will be immediately familiar to current professional developers sporting components accessed from a library that are dragged onto the screen to create the user interface. Alongside this visual Design view, Flex Builder also sports a powerful Source view where the visual interface can be seen and edited in the entirely new (though very XAML-like) declarative presentational mark-up language, MXML (Macromedia eXtensible Markup Language). For the procedural logic, ActionScript 3.0 (Flex 2 doesn’t support ActionScript 2.0) is handled as embedded code blocks within the MXML or as external AS files. Working in this way, Flex Builder effectively acts as the Visual Studio equivalent for Flash authoring and, while Flash CS3 Professional remains of little interest to the professional developer, Flex Builder is a very different prospect.

Flex Builder is the equivalent of Visual Studio for Flash-based development
But the reverse is also true and few Flash designers will be tempted to jump ship to Flex. In fact at this stage existing design-oriented Flash authors might well be thinking that, while these changes might be fundamental, they are also largely irrelevant to them. Or, worse, that they are relevant but only in so far as they explain why Adobe has chosen to inflict an entirely new scripting language on them and been too busy reworking Flash’s development credentials to extend its design richness. However, for those willing to climb the ActionScript 3.0 learning curve there will be important longer term benefits – and for design-oriented authors as well as hard-core developers. In fact the introduction of ActionScript 3.0 is just the beginning of Adobe’s reinvention of the Flash platform and what can be achieved with it.
To begin with, the choice of ECMAScript for future Flash coding is hugely significant. It might famously sound like a skin disease, but ECMAScript is actually the official name for the current standardized specification of JavaScript and JavaScript is the scripting language found in Acrobat and, more importantly, all major web browsers. This unified approach to scripting within the hosting browser and within the hosted player will make life much easier for web authors. Moreover, with ActionScript 3.0’s new events model based on the W3C DOM3 Events specification, the ability for communication and interaction between browser and player opens up. No doubt just as Expression Web will enable SilverLight content to be fully integrated into its web pages, Dreamweaver will do the same for Flash. Working like this, and especially when used in conjunction with AJAX, the dynamic web page itself can become a RIA.
As well as enabling Flash content to become a much more integral part of the user experience within the browser, the move to ActionScript 3.0 is also central to enabling Flash content to break free from it. Key here is Adobe’s Apollo initiative (since renamed to AIR - the Adobe Integrated Runtime) which is the code name for a software development kit (SDK) and cross-operating system runtime currently under development and recently made available in alpha form from Adobe Labs. Apollo will offer authors full integrated SWF, PDF and HTML/CSS/AJAX support along with a dedicated API that supports file I/O, native windowing capabilities and online/offline capabilities. What this means in practice is that, once the end user has installed the runtime (a one-off download of under 10MB), they will be able to install Apollo applications directly to either their Windows or Mac desktops (XP SP2 or OSX 10.4 or later with Linux support to follow). Crucially this direct desktop installation will enable the Apollo application to simultaneously break free of: the browser security sandbox – enabling full file-based writing and reading; the need for a browser connection - enabling applications to have offline as well as online functionality; and, most importantly, free of the browser itself – enabling stronger, uncluttered branding and design. This will be serious power that takes Flash design onto the desktop and right to the heart of future computing.

Adobe’s new Apollo SDK has recently gone into public alpha
With Apollo, Adobe’s battle plan becomes clear – and it’s clearly very similar to Microsoft’s. Both companies are completely reworking their current architectures along similar lines based on new design and development platforms, new players, new runtimes, new authoring applications and new presentational mark-up languages. Both companies are also targeting the same new RIA space which straddles everything from universally accessible media components for web pages, through sandboxed browser-hosted web applets, to full-blown, installable desktop applications. The main difference is that while Microsoft is unleashing its army of desktop developers onto the web, Adobe is unleashing its army of web designers and developers onto the desktop. Put it all together and there’s going to be the mother of all battles to dominate the future of onscreen design.
Initially the new Flash CS3 Professional might seem disappointing and even a backwards step for existing users but, seen in the light of these wider developments, a very different picture emerges. See it as the lull before the storm: an opportunity to check out the options before deciding whether to switch allegiance or to brush up on your ActionScript 3.0 skills.
PostScript: Just in at the time of writing is the news that Adobe plans to release the source code for the next version of the Flex SDK - that is the underlying components, libraries, debugger and compilers but not the Flex Builder authoring tool - under a free-to-use-and-adapt Open Source license. It’s a smart step allowing Adobe to continue its own commercial development while gaining the input of thousands of third-party developers and the good will of the entire web community. It could prove a decisive blow in the upcoming battle with Microsoft.
Recommended Further Reading
Below is further reading on the subject, as recommended by amazon.com users.
Click here to find similar recommendations from amazon.co.uk
To search directly please use these links: amazon.com and amazon.co.uk
Tom Arah is the webmaster of designer-info.com. He has been a professional designer working with computer software since 1987. He also offers training and consultancy and since 1997 has been the contributing editor covering design issues for PC Pro, the UK's biggest-selling (and best) computer monthly.
Home | Web Design | Publishing | Bitmap (Photo) | Vector Drawing | 3D
Site Info | Site Map | Search | Contact | Guestbook |
For older content (over 300 reviews and articles) please click here
To support the site please shop via these links: Amazon.com & Amazon.co.uk
