Thursday, August 27, 2009

Adobe, Flash is unsustainable

Flash doesn't work well on Linux. It's a well-known fact in both the Flash-development and Linux communities. When I try to load a Flash-based video in Firefox 3.1 on Ubuntu, the video has about a fifty-percent chance of working and a twenty-five-percent chance of freezing my browser. Any games I attempt to play are likely to never load, and the ones that load are likely to run slowly, look ugly, or freeze.

Not just Linux users are experiencing these problems. As Flash increases its compatibility and pervasiveness, backlash against its instability and slowness grows. Here's an excerpt from Engadget's review of HTC's new Flash-compatible smartphone:

Unfortunately, in our testing, we found the inclusion actually hurts operation of the phone more than it helps. When browsing to a site heavy on Flash (there are many), the browser loading times were abysmal. Furthermore, trying to view videos in-window produced choppy, nearly unwatchable results. You may have a better experience with lighter kinds of content, but in our opinion the main reason to introduce Flash into a mobile environment is to allow for broader media viewing options, and in the current state of this Flash player, you're not really going to get much mileage out of it.

The push against Flash can also be seen in PC market. Savvy users, tired of Flash slowing their browser and displaying obnoxious ads, are saying no to the Flash plug-in. Cutting-edge web developers, taking advantage of the major advancements in browser technology, are abandoning Flash in favor of embedded fonts and slick Javascript animations that are now compatible with modern browsers.

Adobe could repair these problems with more time or more money, but it has neither. If Adobe slows development on new Flash versions to focus on increasing its compatibility and stability, Microsoft's Silverlight will gain ground with new features. Adobe simply doesn't have enough money and resources to ensure good performance across the numerous platforms to which Flash is spreading.

I only see one way for Adobe to ensure acceptable performance on all platforms while expanding Flash's reach: release the Flash Player and compiler source code under an open-source license. Open-sourcing Flash would benefit Adobe in three ways:

  1. The cost to maintain Flash would go down. The developer community would help to identify and patch bugs, freeing up Adobe's Flash developers to work on the next version.
  2. Flash's performance and stability would improve. Many people would report bugs and contribute patches, and a few developers would spend hundreds of hours fixing Flash problems and making improvements. Additionally, users on non-major platforms such as Linux distros and smartphone OSs would help to test Flash more thoroughly.
  3. More people would use Flash and more people would develop Flash apps. Developers know that open-source projects are more long-lasting than proprietary platforms. Even if Adobe goes away, Flash will remain a viable platforms for interactive web apps. More users would trust the stability and security of Flash if they knew that thousands of people were working to make Flash stable and secure.

Adobe, Flash is too expensive to be maintained and developed by a single company. If you truly want Flash to be the universal platforms for highly-interactive web apps, you'll give it to its rightful owners: the users.

I'm not the first one to suggest that Adobe should release the Flash source code. See this open letter to Adobe for another take on the matter.