XFL: Flash's New Source Format

I recently met with Flash authoring product-manager, Richard Galvan, to talk about Diesel, the next version of Flash (i.e., Flash CS4, or version 10 for those counting). Adobe has already demonstrated a bunch of high-impact features for Diesel, including inverse kinematics, a new tweening model, 3D "postcards in space", and advanced text components (see MAX 07 keynote, FOTB 07 keynote, and FITC Amsterdam 08 keynote). But Richard was keen to talk about a lesser known feature quietly percolating behind the scenes: XFL.

Since its inception, the Flash authoring tool has stored documents in a binary source-file called .fla. Historically, interchanging source with the Flash authoring tool has been virtually impossible for third-party software because the specification for .fla has never been public. But things are changing in the next version of Flash. Flash CS4 will be able to export *and* import a new source format called XFL. An XFL file is a .zip file that contains the source material for a Flash document. Within the .zip file resides an XML file describing the structure of the document and a folder with the document's assets (graphics, sounds, etc). The exact details of the XFL format are not yet available, but Richard assures me that Adobe intends to document them publicly, allowing third-party tools to import and export XFL.

So in theory, you might one day edit the images of an XFL file directly in Photoshop without disturbing the timeline information also contained in that file. Or you might be able to import a page from a word processing document into a Flash presentation.

But perhaps even more exciting is the potential for the smaller, grass-roots community. Being XML-based, the new XFL format should be fairly easy to understand and generate. That means any small tool company, web agency, or even independent developer will be able to create a purpose-built authoring tool that can output XFL. Of course, the XFL file would then need to be opened in the Flash authoring tool for final .swf export. But a .jsfl script should be able to ease the workflow between an XFL-generating tool and the Flash-authoring .swf-compilation process.

The natural next step in the evolution of XFL authoring would be to take the Flash authoring tool out of the equation altogether. If Adobe were to offer a command-line XFL-to-SWF compiler along with XFL, nearly any decent programmer would be able to create a .swf-authoring tool, even in ActionScript. The Flash developer community itself would finally be able to create its own custom Flash-authoring tools. I wonder who would be the first to nostalgically make Flash 4 for AIR in ActionScript?

XFL might not have the instant appeal of inverse kinematics, but it could eventually prove to be the feature in Flash CS4 that has the greatest impact on the Flash industry. After all, its name has an "X' in it.

Posted by moock at March 6, 2008 11:39 AM

