Paul Robertson's words, punctuated

Thoughts on development, user-centered design, code, etc. by Paul Robertson

Adobe opens door for creating alternative SWF players

Adobe just announced a new project called the Open Screen Project. There’s a lot going on with the project, so I won’t try to summarize all the different points and partners. If you read through the material, you’ll see that a lot of it talks about opening the door for improving access and presentation/experience for mobiles and other devices (the page describes it as “driving consistent rich Internet experiences across televisions, personal computers, mobile devices, and consumer electronics”).

In one sense, it’s a big bunch of companies partnering with Adobe to make it so that interactive content can be accessed on mobile phones (using Flash Player and eventually Adobe AIR, surprise, surprise). And the content isn’t supposed to be just available, but fully available, using the full capabilities of Flash Player. What? Full Flash Player running on a mobile device? Nobody’s ever complained about that, right? =)

But this isn’t just an announcement of a partnership to think about what may come someday in the future. As part of all of this, Adobe is doing some concrete things today. There are a few things that Adobe’s releasing/changing. The most notable of these to me is that Adobe’s changing the license restrictions on the SWF format (as well as FLV and to allow it to be used not only for creating authoring tools, but players as well. From the FAQ page (emphasis mine):

Publication of an unrestricted SWF file format has long been requested by the Adobe Flash developer community. The longstanding publication of the SWF specification has fostered a vibrant ecosystem of companies and developers who create experiences with Adobe Flash technology and by removing the SWF licensing restrictions we are allowing that growing ecosystem to use the file format for any purpose, including the ability to playback SWF content.

As you may know, for years Adobe (and Macromedia before them) published the SWF format specification, allowing other companies to create tools that generate SWF files. That’s why there are all those “build Flash for free online” sites and packages that hosting companies offer. That’s why Nicholas Cannasse was able to create the awesome MTASC ActionScript 2.0 compiler back when the only way to compile ActionScript was through the Flash authoring tool. Heck, even Adobe used to try to compete with Flash authoring with their LiveMotion product. (Try being the operative word. After all, Macromedia wasn’t dumb. They’d develop Flash version X and Flash Player version X simultaneously, release them both, and only then – a few months later, really – publish the SWF spec. At that point competitors could start working on a competing authoring tool. For people who were targeting a very different market that was okay, but for anyone trying to go head-to-head with Flash? No chance.)

Anyway, the license allowed all of that without any royalties or anything. However, there was a big restriction on the license – if you ever looked at the SWF spec, you could not create an alternative SWF player (i.e. a Flash Player competitor). There’s a compelling reason for this – even though the player has always been free for desktop computers and hence not a direct source of revenue, Macromedia knew that it’s greatest strength was in its “write once, run anywhere” capability. Every web designer knows how horrible it is to try and design a page to look even mostly similar in all browsers – let alone exactly the same. By restricting the creation of alternative SWF players, there is much less chance of alternative “mostly but not completely” compliant players showing up on users’ computers.

Of course, that’s in the past now. As of today the license restriction has been removed, and anyone who wants to can look at the SWF spec and, if they choose, use that knowledge to create an alternative SWF player. (Gnash team I’m looking at you!) In my opinion, for those groups this is the next best thing to Flash Player itself being open-sourced (and maybe better, since that would put them out of a project). While this does have exactly the negative potential I mentioned above, it’s a big deal for device manufacturers. If they bet their future on Flash Player, they don’t want to be stuck if Adobe goes out of business or decides to throw away Flash to focus more on their PostScript printer driver business =) It’s a risk, and I’m crossing my fingers that we don’t get splintered Flash Players all over the place. As others have said, there are some benefits that hopefully outweigh the risks. Fortunately, Flash is a pretty big brand, and Adobe’s definitely not releasing their trademarks on Flash, Flash Player, etc. So anyone who makes an alternative SWF player will not be able to call it Flash anything. (Unless Adobe decides to create a certification program for alternative players or something like that – something which I didn’t see mentioned at all in the project pages.)

For Flash/Flex/AIR developers, honestly I don’t think this project opens any doors immediately, but I think it does have a lot of promise for the future. Currently, it’s pretty hard to create Flash content for a mobile device. You basically have to create a separate version for every device. Many of the devices have Flash Player burned on the ROM, so that player can never be upgraded. If you want to target one of those devices you’re stuck on Flash 4 (tell target lives forever!) When a new version of Flash Lite is released, it takes months before it is added to devices and those devices get into stores and users’ hands.

So a lot of this is about Adobe and other companies working together to make it so that you can use the same code, targeting a player with the same capabilities, no matter whether you’re creating content for a PC or a mobile device. For example, part of the plan is to create a set of “device porting layer APIs for Adobe Flash Player.” In the words of the FAQ, these are “device-specific abstractions of Adobe Flash Player that enable it to work on different operating systems and devices.” Another notable part of the plan is to make it so that the player can be updated just like it can on a PC. Goodness knows I often wish I could update the Flash Player on my Wii!

Plus, the fact that Adobe’s no longer restricting who can create SWF players, and no longer charging royalties to device manufacturers who include Flash Player in their devices, means it will be cheaper, easier, and safer for companies to include Flash Player on their devices, meaning a larger market for content.

Anyway, I was pretty surprised by all of this, and happy for the potential future growth that this could lead to. Adobe’s once again making a big bet, and the payoff will be great for all of us if it works out.