(This is a follow-on to my post The Adobe Flash Player Deadlock)
I’ve been very pleased to see that, after my original post on March 9, many
of my criticisms have been addressed, and I’ve learned that some were simply
founded on poor communication. Let’s run through some of them.
Criticism: There is no way for the general public to report flash player bugs.
Originally, your options for reporting bugs were posting comments on a
certain blog, or filling out the Adobe feature request form at
http://www.adobe.com/go/wish. The blog
wasn’t particularly encouraging since few of the issues raised there got
addressed or even received a positive response (I’m also not linking to the
blog because towards the end the exchanges between frustrated Linux users
and a beleaguered Adobe project manager make both sides look needlessly bad).
I had also not been aware of the wishlist form as an accepted avenue for
reporting bugs, but the current version of the page makes that a little more
clear and easier to find in a search on Adobe’s site. However, the wishlist
form still isn’t very ideal. Rather than a black hole to send “wishes” into,
I’d really been hoping for a public bug tracker where you can actually see
the fate of your problem report. Even Sun, in their most obnoxious days,
had such a thing for Java.
Thankfully, as of April 8, Adobe finally has a public bug tracker for flash:
http://bugs.adobe.com/flashplayer.
This criticism is now completely addressed.
(Many thanks to Marnen for filling me in on this
point.)
Criticism: Adobe is not devoting sufficient resources to the Linux Flash player for it to remain viable.
I had based this criticism on Adobe’s public statements and history so far.
After an initially promising release of Flash 9 (Linux Flash had previously
languished buggily at verison 7 for an extended time), subsequent Flash 9
releases were increasingly infrequent and full of new regressions. Adobe was
supposedly going to make a big push for Linux with the release of AIR, but
when Adobe actually released AIR 1.0 in February, they omitted support for
the Linux platform since (according to the AIR FAQ at the time) they had to
“wait on the core Flash Player’s support for Linux to be finalized.” All
these things together painted a very ominious picture for the future of
Flash on Linux.
On March 30, however, Adobe released an alpha version of AIR for Linux,
showing that they were making a serious effort to support the platform.
I suspect that the reason for the falloff in Flash 9 support is the result
of Adobe reallocating programming resources to Flash 10/AIR, although it
would be nice if Adobe publicly announced their plans the same way that
they did for 64-bit Photoshop, so people wouldn’t be left to conclude that,
absent released software, they didn’t have any serious plans at all.
This criticism is probably unfounded to the extent that Adobe is doing the
best they reasonably can as long as they are not accepting outside help by
opening development of their own player (which itself would require a
significant initial investment of resources that Adobe may not have).
However…
Criticism: There is no finalized release of the Flash player for Linux which is stable enough to use for development work.
It’s still the case that the latest Flash Player 9 takes out my browser
multiple times an hour if I use it heavily (FlashBlock has helped mitigate
this issue for casual use). Since Linux is my preferred development
platform, there’s no way I could see myself developing for it until this
changes.
(A few people have asked me why I think Adobe has to be altrustic and expend
resources supporting Linux. They don’t, of course. But then I don’t have
to be altrustic and bend over backwards to develop for an RIA platform that
doesn’t have good support for the development platform I normally use either.
Remember that the original post was about why I personally didn’t want to
develop for Adobe’s platform.)
For now this criticism remains unaddressed, although with the alpha release
of AIR for Linux I have hope that it might be addressed this year.
Criticism: Adobe is putting up roadblocks for open source Flash player implementations.
Even when Adobe finally published specifications for the flash format, they
carried restrictions which prevented using them to implement your own flash
player. Interviews with Adobe employees in the past had also indicated
that Adobe was concerned about retaining control of its platform. Worse,
in March they had announced their intent to make DRM part of the flash
platform, introducing an additional obstacle for Open Source players.
However, just this month (May), Adobe launched the
Open Screen Project and
removed the restrictions on the use of their specifications. Some have
called this a PR stunt, since the way it worked out Adobe hadn’t relaxed
the restrictions on the specifications until all the information published
in them had been reverse-engineered by the developer community anyway.
However, I think calling it a PR stunt misses an important point—the Open
Screen Project is specifically a signal that Adobe is no longer directly
hostile to alternate Flash Player implementations.
This criticism is largely addressed; DRM remains an issue on the horizion,
but Adobe’s public stance against non-Adobe players has clearly changed.
Criticism: Adobe doesn’t consider broad platform support for Flash to be important.
Historically, aside from Flash Lite (which is fairly different to the regular
Flash platform), Adobe’s official support for Flash has mostly extended to
PPC OS X and x86-32 OS X and Windows. There’s been the rather flaky and
inconsistent support for x86-32 Linux (and the zombie-like revival of some
version of the PPC Flash 7 plugin for the Wii), but that’s about it. The
thing is, until you are able to support a certain number of platforms, the
incremental cost of supporting each additional platform is extremely high.
There’s essentially a knee in the graph, and Adobe is still quite far from
reaching it.
As Sun discovered with Java, truly broad platform support is really only
possible with an open source implementation of the platform. The
community-developed zero-assembler Hotspot has enabled the JVM to be brought
to a wide variety of new platforms which didn’t have Sun Java before with
extremely little initial effort, and soon may start leveraging LLVM for
cross-platform JIT performance. Flash will not be able to catch up in terms
of platform support until at least one solid open source implementation of
the Flash platform is available. On the evidence of the Open Screen Project,
and their previous open-sourcing of the Tamarin runtime, I think Adobe
finally realizes this.
I think this criticism was unfounded. Their release of Tamarin in November
ought to have been a clue to me that they were waking up about this.