Is the Open Screen Project a good thing?
Disclaimer
OK, maybe I am on crazy pills since 98% of the reactions I’ve seen thus far have been positive, but I have some pretty serious reservations about this whole thing. I make a living developing for the Flash Platform via Flex, and have a great time doing it, so I am extremely invested (in most every sense of the word) in the success of the platform. I also have no business training or education and have only an outsider’s view of Adobe and the decisions the company makes. As such its entirely possible that some of what I say here may be completely wrong. If that is the case I apologize in advance and welcome any corrections.
Flash Players everywhere!
So one of the main benefits the project aims to create/claims to enable is the proliferation of Flash Player on a multitude of devices. The enabler of that proliferation, according to Adobe and others, is the removal of licensing fees and terms. Now when they say devices, they mean everything from cell phones to those fancy internet-enabled refrigerators nobody wants. In my opinion though, cell phones and UMPCs are what most people think of when the term “device” is used (and is what I mean by the term for the remainder of this article) and they easily represent the area with the largest potential for growth and impact.
But was licensing really what prevented Flash Player (the real deal, not Lite) from being found on devices to and fro? Up until Open Screen was announced I had never even heard such a thing suggested. The real reason, which seems suspiciously absent from discussion today, is that Flash Player is simply too memory and power intensive to run on most devices. Note this is absolutely not a knock against Flash Player, today’s devices are simply not very powerful and/or efficient. Maybe its just the initial excitement of the project but I find the complete lack of discussion of this major engineering hurdle perplexing.
Further evidence (in my mind) that its an engineering issue rather than a licensing issue is evident by looking at the partners listed on the project home page. Do you really think companies like Nokia, Samsung and Sony have any problem licensing technology they think will make their handsets more valuable? They’re not exactly short on cash, so if they find it valuable now they probably found it valuable a year ago. Yes, Adobe will be providing porting APIs which will help device manufacturers get the software running on their device, but thats not a silver bullet. Those porting APIs will be useless until there is a version of the player that can run in the first place within the power and memory constraints the device provides. Yes, I know about Tamarin-Tracing but everything I have read in regards to that points to it being a long way from production ready.
Financial aspects
This section is pure speculation but worth including I think. I also wonder about the revenue stream the licensing costs provided and how, if at all, Adobe plans on replacing that. I could be wrong but I thought I remembered hearing it was a pretty sizable chunk of change. Between this announcement and the proposed opening of the FLA format recently announced, what props up the Flash Platform for Adobe from a financial perspective? The only things that come to mind are the Flash IDE, Flex Builder and I suppose licensing/infrastructure fees for Flash Cast, as well as LCDS and FMS licenses. I have a hard time believing LCDS and FMS make a ton of money above and beyond what they cost to produce and support, and if you spend any significant time using Flex Builder you know it could be easily displaced as the premiere Flex IDE should another company decide to devote the resources to creating a true competitor. (There are high hopes for the forthcoming Flex support in IntelliJ.) That leaves Flash Cast, which I have no idea about, and the Flash IDE. Who knows, maybe the Flash IDE and/or Creative Suite makes enough to support the Flash side but it seems odd to eliminate a source of revenue generated by the platform itself.
Which Player?
While the persisting engineering challenge is a major hurdle not to be overlooked, my concern regarding it is dwarfed by my concerns about something else. That something else is ‘the F word’. Fragmentation. Myself and countless other developers were drawn to Flash largely because of its true write once run anywhere capabilities. I can honestly say I would have taken a completely different career path if all development suffered from the hell that is HTML/CSS/JS development when it comes to consistency across browsers and platforms. Flash Player undoubtedly owes a significant portion of its ubiquity and success to that consistency.
Until today that consistency was enforced by prohibiting the creation of SWF playback tools by anyone who had gained access to the file spec. Today that restriction was lifted and anyone can view the spec and do with it as they please. That makes me very nervous. Make no mistake about it, even with full access to the spec creating a SWF player would be no small task. Hmmm, are there any organizations out there with technical skills and significant resources and anything to gain by creating their own player? I think I could name a few.
I shudder at the thought of trying to troubleshoot my Flex 5 app for not only Flash Player 11, but also Silverlight 3 (now with SWF playback!), Apple SWF Player 1.0, Sun SWF Player .8 and the NBC Universal Music and SWF Engine. Not to mention playing family tech support to figure out if my dad has the right player for what he is trying to do. Ick.
Bad people
I am not one for conspiracy theories, but allow me to put on my tin foil hat for a moment. What is to stop any ill intentioned group from creating a SWF player with some not so nice ‘capabilities’? It would be possible to create and get users to install a player that looks and acts just like Adobe Flash Player, even has the same context menu and is indistinguishable in virtually every way, except this player comes with a handy dandy keystroke logger. And a nice little phone home feature that sends back your entries and reports every site you visit that contains a SWF. Wouldn’t that be swell?
Or maybe their player eliminates the context menu and crossdomain restrictions altogether and immediately enables every security issue those features are meant to address. The list of potential abuses is almost endless. The only thing really keeping this from happening is some spare time and technical know-how and/or deep pockets. Sadly, if possession of those was rare we would not have the malware and phishing problems we do today.
Take a deep breath
What do you think? Am I crazy? Do any of these things concern you? For everyone’s benefit I hope I am just being paranoid, but I will be very surprised if we don’t see at least some of these problems in the not-so-distant future.



on May 2nd, 2008 at 4:37 am
Hi Ben,
Join the skeptics club! I have been quite underwhelmed by the announcement, partly because I have an in-built aversion to over-excited vapourware press releases. Anybody and their dog is signed up to some ‘alliance’, ‘initiative’, ‘consortium’ or other. Until we see what they are going to do with it, it’s just marketing.
I’ve commented on a few places about the implications for mobile development, and the issue of fragmentation is HUGE in that space. Java on mobiles created more problems than it solved in some people’s minds, BECAUSE every handset manufacturer was able to write and implement their own JVM. Some did it well, others not, but basically they are all different - cue testing on 200+ devices if you want to cater for all users.
The same applies to interactive TV development. Ask anybody developing for the OpenTV platform how many set top boxes they have to do QA on. It’s staggering.
So I totally hear what you are saying about the scary world of lots of Flash Players. I’m not decided on whether this whole thing is good or bad news, but from the experience of other technologies, the old Java catchphrase “write once, run anywhere” just does not work in the real world. And that’s probably OK, just don’t let Adobe or anybody fool you that that new runtime is going to run exactly the same on all devices.
Another less excited mobile business commentator is Michael Mace (http://mobileopportunity.blogspot.com/2008/05/adobe-frees-mobile-flash-its-about-time.html)
Wolf.
on May 2nd, 2008 at 4:48 am
Right, I only have a couple of comments.
First, with regard to the usage of the full blown Flash player on mobile devices; it is now possible for many companies to produce their own player. Now, while this might take time and there will be poor versions of Flash player in the running, what it also means is that companies are now able to convert their own players to consume the SWF format. Thus, JavaFX and Silverlight, to name the most obvious, may someday run SWF files without breaking any rules. This is really good news!
Second, with regard to your conspiracy theory, what stopped people building dodgy Flash player hacks in the first place? If I were going to create a version of Flash that allowed me to do something “untoward”, I’d not really care that there was a license saying I wasn’t allowed to do so ;-)
I think the important thing to digest here, is that the development requirements expected from Flash developers is not going to go away, whether or not our compiled works will run on the Flash player, or some other companies player. We also don’t have to specifically wait for Adobe to write a player that runs on our required platform! Heck, if I wanted to, I could mock up some SDL based player that would run some of the SWF format for some obscure machine and not have to worry in the slightest if I’m treading on other peoples toes!!!
Great news indeed ;)
on May 2nd, 2008 at 5:04 am
You’re not crazy :) Thanks for the well-thought out post. Your concerns are valid and things that we’ve all been considering in our various conversations whenever this topic was raised in the past.
At the end of the day, we have to be confident enough that enough developers feel this way that they won’t support any third-party that aims to fragment the platform. Like you said, no one wants CSS/JS/HTML hell on the Flash Platform.
On the other hand, it raises _many_ opportunities and has _guaranteed_ the survival and growth of the Flash platform past the next decade.
I wouldn’t be surprised if the licensing rates were dropped as a response to Microsoft’s mobile Silverlight initiative.
See, competition == good :)
on May 2nd, 2008 at 5:46 am
Hi Ben,
The thing about many devices not being powerful enough is valid, but that fridge that nobody wants could probably get by just implementing the part of the SWF spec that is required to display the UI elements?
> Do you really think companies like Nokia, Samsung and Sony have any problem licensing technology they think will make their handsets more valuable?
They do. If adding this feature costs money, they will be skeptical. Up until now, they have had to pay Adobe a fee per Flash enabled phone. Some weeks ago, Nokia announced that they’ll offer Silverlight on the mobile without paying license costs. While not “short on cash”, they are very sensitive to costs. Europeans switch phones once a year on average…
Fragmentation is something I was worried about as well, but I found that Adobe is no longer afraid of this:
http://www.flashmagazine.com/News/detail/open_screen_project_opens_adobe_even_more/
I see their point - Flash is now so much a standard that if a certain player isn’t up to the task, it will die. The consumers and developers will see to that and do keep in mind that nobody will have an interest in creating their own browser plugin. Adobe already has that one covered and they have distribution like nobody else can ever dream of.
I wouldn’t say that you’re paranoid though. The things you are afraid of may happen, I just think it’s very unlikely.
J
on May 2nd, 2008 at 8:02 am
I’m not sure it’s necessarily true that a bad player will die. Suppose Microsoft implements flash playing that’s integrated with Internet Explorer. They might even get it right for now. But what about when a new version of the Flash spec comes out, and Microsoft not only implements the standard poorly but adds some new ‘features’? It’s HTML/JavaScript all over again.
on May 6th, 2008 at 7:46 pm
Ben, jou really have some strong points and i’m afraid as well. I used to be dhtml scripter before entering flash / flex. That was such a relief. Now there’s the risk of that testing hell coming back. I just hope the scenario of Tom blake (post above) won’t become reality.
Can anyone explain why opening the swf format is beneficial/neccesary for the open screen project? i understand the other parts:
1. Publishing the device porting layer APIs for Adobe Flash Player
2. Publishing the Adobe Flash® Cast™ protocol and the AMF protocol for robust data services
3 Removing licensing fees – making next major releases of Adobe Flash Player and Adobe AIR for devices free
thanx arnoud
on May 31st, 2008 at 11:41 am
That brings up a question I’ve thought about in the past, and is related to what Adobe must be trying to do with Flash/Flex. How does Sun stay in business and make money off of Java? They have the number two or three IDE (NetBeans), I haven’t seen a SUN workstation in probably a decade or more (I know many companies use them and the AIX platform used at my company is no more ubiquitous), much (most?) of the innovation in the Java space comes from elsewhere (Hibernate, Spring, JBoss, etc.), yet they seem to be doing quite well. I’m not a business expert by any means and SUN certainly isn’t going to say “We’re two quarters from bankruptcy.”, but I’ve never heard any rumors of their impending death either. So SUN seems to be making it work for them. Maybe Adobe wants to follow in their footsteps, whatever they are.
I also think, that if Adobe keeps the basic control over the Flash/Flex, SWF platform that is a good thing. I believe all of the successful open source projects have a strong central body guiding them. Open source is great for innovation and expanding the capabilities of your system because you invite the collective development talent of the world (at least that part of the world that buys into your platform) to add their ideas to it, but you have to have a central body that keeps the platform from splintering and becoming too fragmented.
I personally think Flex/AIR is the best thing to come along for GUI development since Visual Basic ruled the Windows world. I tried doing a GUI in Java for a project I’ve been working on, in my spare time, and ultimately abandoned it after I found Bruce Eckel’s post about the failures of Java in the GUI realm. Flex/AIR has most of the advantages of Visual Basic (it really needs a better IDE though, I’m developing my application without FlexBuilder due to both cost and my perception of little value added by it). Flex/AIR also has they great ability to communicate with WebServices and use the AMF protocol, that blows away HTTP in terms of speed. I love that data binding is built into the language (and you can bind manually if need be as well). I think Flex/AIR with a Java backend, for larger projects is the killer combination for today’s GUI development.
No I don’t work for Adobe, I just think they have a great platform and have learned from Java’s mistakes in the GUI realm. Also they aren’t trying to replace Java totally, they leave the backed, which Java excels at to Java and take the frontend, which their whole Flex/Flash/AIR platform is built for to themselves.