By Lynda Weinman
In 2005, Kevin Lynch, chief software architect for Macromedia, wrote a white paper (available on Macromedia's Web site) that defined the idea of Flash as a platform. This is the perfect term for what Flash has become; an umbrella technology that publishes graphics, sound, video, and programmable applications that can stand alone as executables, can be published to game consoles or mobile devices, or published via the Internet. Because Flash contains a programming language, called ActionScript, it can interface with middleware and servers. This makes it possible to create dynamic content, whereby Flash graphics, sound, and video can accept input from a server or a client.
Some Background on Flash
Many people don't realize that the term "Flash" is used interchangeably to describe an authoring tool and a player that displays the published output from the authoring tool. The authoring tool, called Macromedia Flash (now published by Adobe) offers drawing tools, video and sound encoders, an animation timeline, compression tools, and a programming language with which to script interactive logic. Files created in the authoring tool are saved in the FLA format, which can be edited from within the authoring environment of Macromedia Flash.
Files published from the authoring tool Flash are output in a format called SWF, which is compact in size for easy downloading and is optimized to stream over the Internet. A SWF file cannot be edited in the authoring environment; it is in effect, a read-only final version. Many tools, such as Adobe Photoshop, Illustrator, and ImageReady can write the SWF format, but not the FLA format. The only tool currently enabled to author FLA files is the software-authoring product called Flash.
The Flash player allows end-users to view the SWF on a desktop, game console, mobile device, Web browser, or wherever else it is installed. The player can come pre-installed on a device or Web browser, or can be downloaded from the Adobe/Macromedia Web site. It is cross-platform, and will run on Windows, Mac, and Linux.
A new Flash authoring platform, called Flex, has been published recently by Macromedia. Flex employs an XML-based language called MXML, and comes with various components and features that make capabilities such as Web services, remote objects, drag and drop, sortable columns, charting/graphing, built-in animation effects, and other interface interactions extremely easy to implement. This product is positioned as a tool that will easily create RIAs (Rich Internet Applications) and was built from the ground up for developers, unlike Flash, which started its life as an animation tool that gradually adapted to become a development tool shared by both designers and developers.
Before extrapolating what the future of Flash might bring, it's first important to identify its current features and benefits:
Flash contains development and design tools for drawing vector-based artwork, controlling dynamic and graphical text, pixel-artwork editing, an animation timeline, sound, video encoding, compression, scripting, and publishing to the SWF format.
It's possible for a SWF to be played within a Web browser, as a stand-alone desktop application, or on designated game consoles and mobile devices.
The Flash scripting language called ActionScript enables client-side programming of interactive applications as well as communication with a serverto get and post dynamic information. ActionScript can access a wide array of data formats including XML, WebServices (SOAP), XMLSockets, and Flash Remoting with just about any middleware technology such as ColdFusion, ASP, PHP, and Ruby on Rails.
ActionScript allows scripting of Flash "objects" such as sound, artwork, transparency, color, and filter effects.
Sound in Flash can by synchronous or asynchronous. Flash compresses sound and publishes the results as a smaller download than most other formats. While sound can be published without a picture, one of the advantages of Flash is that it can combine sound with static or moving picture assets, including video and Mp3.
Video in Flash can be used as a layer combined with other graphics, vector artwork, type, sound, and transparency effects. Of all the other Web video formats (QuickTime, Real, Windows Media Player), Flash video is the only format to support alpha transparency. This means that Flash video can be layered; video can composite on top of video. In addition, the programmability of Flash allows for interactive video, which other Web video formats don't offer.
It's possible to publish executable Flash presentations that run on the desktop, game console, or mobile device without the need for a Web browser.
Future Predictions 2006
Now, on to the future of Flash. With the stunning $3.4 billion acquisition by Adobe, there is clearly a huge amount of potential for growth and expansion. These predictions are based on conjecture; so do not take them as gospel!
It is likely that Flash will be able to be integrated into PDF, which will give the PDF format a huge increase in functionality. Interactive PDFs are currently clunky and limited in features. PDF could become a Trojan horse to deliver Flash as a document exchange format, rather than a device delivery format. This could be a way to distribute desktop applications in a seamless and compelling manner. Recent announcements at conferences, on Macromedia blogs, and on Macromedia Labs describe a new productcode-named Apollowhich looks to be the basis for the next generation PDF/Flash product.
It is likely that future Adobe applications will be able to export FLA files in addition to SWF files. This means that a Flash project might originate in Photoshop, Illustrator, After Effects, Audition, or Premiere, and be fully editable within Flash. While Adobe tools currently export SWF files, exporting FLA files will be far more versatile and powerful. As well, interoperability between Macromedia and Adobe tools should improve greatly, which should eliminate what has historically been one of the harder challenges for professional Flash design and development shops.
ActionScript is already built into Macromedia Flex. Existing Flash users will be able to easily adapt their Flash skills to program Flex applications, which enables developers to build rich Internet applications that run on the desktop, Internet, and mobile devices. These applications will also be cross-platform and capable of interacting with other standard technologies.
The next generation Flash Player 8.5, combined with ActionScript 3, has a brand new code execution engine that was completely rewritten and offers a huge speed boost over past versions of the player. This will be a welcome change for developers and should bring new converts to the format who have previously been dissatisfied with performance.
Flash could overtake QuickTime and Windows Media player as the premier video format for Web, desktop application, and device delivery. Given that Flash video can include a level of robust interactivity that QuickTime and Windows media cannot support, along with its unique runtime alpha compositing features, it is natural that many video publishers will adopt Flash over other choices.
Flash has grown from a simple animation tool to a powerful application-building tool. With Adobe's muscle and Macromedia's mindshare, it is likely to play a more dominant role as a delivery standard, and will offer alternatives to Java and platform-specific development tools. All eyes are on Adobe, which has never created tools taken seriously by developers before, to see how it will grow the Flash Platform into a delivery system that rivals no other.
Lynda Weinman is the founder of lynda.com, a software education company that produces online training, books, training videos, and educational conferences. She is the founder of the Flashforward Conference & Film Festival, the world's first and largest conference on the Flash Platform. Weinman created the popular Hands-On Training (HOT) series of books, published through Peachpit Press.