Why I haven’t installed a Flash player

Since I installed Ubuntu 8.10 three weeks ago, I have not installed a Flash player. I don’t just mean I haven’t installed the Adobe Flash Player, I mean I haven’t installed any Flash player at all, not even Gnash or Swfdec. Those of you who know me as a free/libre/open-source software (FLOSS) advocate may be wondering why this is. After all, I don’t need to use any non-libre software if I run Gnash or Swfdec. I’ll explain why having a FLOSS implementation of a technology is not enough for me to use it.

The primary reason I don’t want to support Flash is that Flash is not a standard. It is not recognized by any standards body, there is only one complete implementation (IETF‘s RFC 2026 Section 4.1.2 requires “at least two independent and interoperable implementations from different code bases” to be considered a “Draft Standard”), the source code for the lone implementation is not freely-available, and the complete specification for making a compatible Flash player is not available.

Adobe’s Open Screen Project may have confused people into thinking that the Flash specification is totally open. But, according to the Swfdec and Gnash project leads, it omits “huge amounts” of information needed to implement Flash. Namely, the Real Time Messaging Protocol (RTMP) and Sorenson Spark video codec (the most widely-used Flash codec, used by default on YouTube) are not mentioned at all. Additionally, the Flash specifications available from Adobe are distributed under a very restrictive license:

This manual may not be copied, photocopied, reproduced, translated, or converted to any electronic or machine-readable form in whole or in part without written approval from Adobe Systems Incorporated.

So there isn’t even a stable version of the specification that you can use unless Adobe agrees to always keep a particular version of the specification on its website.

Another major problem with the current Flash specification is that it does not allow for the use of royalty-free audio and video codecs. For more details, see my comment on “How Flash Can Integrate With The Open Web”. As a result, anyone who implements Flash must either pay for a license to use the audio and video codecs specified in Flash or they must pass that cost onto the distributors and/or consumers. Before Flash is considered an open format, it must support at least one set of open audio and video codecs, such as Vorbis and Theora or Vorbis and Dirac. Unfortunately, companies like Adobe are taking a “better the devil you know than the devil you don’t” approach to purported royalty-free codecs, claiming that they are too risky patent-wise. This issue is made clear in the HTML 5 video element documentation and the background on the HTML 5 Ogg controversy.

Because of these many issues that make Flash far from standard, I am choosing not to support Adobe’s quest to increase the Flash player user base. The reason developers choose to use Flash for content is because of Adobe’s claim that Flash runs on 98% of Internet-connected computers. You can help change that by refusing to use Flash in any form.

Some may ask me, “How could you possibly use the Internet without Flash?” In the three weeks that I’ve been living without a Flash player, I have not run into any content I needed to view that was only available via Flash. I can still watch YouTube videos using Stephen Paul Weber‘s Free Youtube! script, which can be used with the Greasemonkey add-on for Firefox. Videos from other Flash-only video sites can usually be downloaded with one of the many video downloading tools available online. Most videos you find embedded in blogs and other sites (such as Charlie Rose’s interview with Lawrence Lessig) use one of the popular video hosting sites. It should not be too hard to convert most such Flash videos into standard embedded video using a “Free Youtube!”-like method. Once that’s done, the vast majority of useful content that once required Flash will be transparently available to people like me who don’t use Flash.

10 Responses to “Why I haven’t installed a Flash player”

  • What’s a standards body, and who decides when it gets formed?

    In particular, C++ has a standard, but to get a copy, you have to pay the C++ standard committee some money. (The alternative is to read someone else’s interpretation of it and try to infer how it works.) By your reasoning, should I avoid using C++?

  • I didn’t explicity define what properties I believe a standard has to have, which was intentional. I haven’t decided for myself what qualifies as sufficiently standard. The list of properties that make Flash non-standard were meant more as an example of why Flash is not a standard according to nearly every definition of standard. (Of course, if one believes that a “standard” technology is a technology that has a large installed user base, then Flash is “standard” by that definition. Naturally, I do not agree with such a definition of “standard”.) The list was not intended to be a complete set of properties that every standard should have.

    The issue you pointed out with the C++ standard is a tricky one. I think it is an artifact of the processes that standards bodies used before distributing information became cheap and easy. I have seen it in many places myself, such as the specifications for magnetic stripe cards outlined in ISO 7811. I wouldn’t say this particular property makes a specification non-standard, but it definitively doesn’t jive with my free culture ideals. Many new specifications are freely-available so I hope that ANSI, ISO, and other standards bodies will catch up with the times and make their specifications freely-available as well.

  • Most current standards bodies suck. That doesn’t mean we discount standards, it means we do them out in the community instead of behind closed doors.

  • Why don’t you continue developing with SVG, then?

    Flash continues to get better, and just because you can’t look at all of their code doesn’t mean they don’t deserve to preserve their privacy and right to make a living.

    However, you are free to do as YOU choose. So, by all means, enjoy “Free Youtube!”.

  • Steven Vachon wrote:

    Why don’t you continue developing with SVG, then?

    Personally, I don’t do much web development so I don’t deal with SVG and related specs on a regular basis. My post was intended to describe why, as a user, one should not install Flash.

    I don’t think the best solution is to make a free spec to compete with all the features of Flash. We already have standard mechanisms for implementing many of the features of Flash. A good example is video, where designers can use the element. (Unfortunately, hard-headed companies continue to impede the adoption of royalty-free codecs so you can’t rely on one codec, but you can provide your video using multiple codecs to alleviate those concerns.)

    Flash continues to get better, and just because you can’t look at all of their code doesn’t mean they don’t deserve to preserve their privacy and right to make a living.

    Adobe has the right to keep their code and specs closed if they want to do that. I’m just saying that they are shooting themselves in the foot because they are necessarily reducing the number of users who will install Flash.

    I’m not suggesting that we forcibly take Adobe’s code from them. I’m saying we should stop using Flash until it is a standard. The only way Flash can become a standard is if Adobe opens up their spec (they don’t even have to open up their code; others will implement Flash if the spec is free). The alternative is to use other standard mechanisms for providing rich content on the web, such as JavaScript and , which may make it entirely unnecessary to have Flash at all.

    However, you are free to do as YOU choose. So, by all means, enjoy “Free Youtube!”.

    I will for sure. Unfortunately it’s still not quite free because of codec issues, but I am anticipating those will be solved when the BBC starts rolling out content using the Dirac codec soon.

  • Valid points. However, Javascript is still not on par with Flash yet. For designers, Flash is capable of so much more. Like detailed animation and real-time filters (blurs, etc). Flash also renders a lot faster than any browser.

    By the time browsers (and Javascript) catch up, Flash will be miles ahead again. With this, I don’t think it’s safe to say that users will benefit by avoiding the Flash Player. Since the days of cavemen, people have been impressed with shiny things.

  • I suggest you read my latest article, Why Flash is doomed. I outline a bunch of reasons why I think its days are numbered and respond to a lot of your points there.

    I’m not convinced Flash can do more than JavaScript. Have you seen http://www.whitehouse.gov/ and http://www.canonical.com/ ? Both implement real-time image fading with JavaScript. In terms of animation and interactivity, I suggest you see http://www.webresourcesdepot.com/25-amazing-javascript-games-some-fun-and-inspiration/ .

    As for browser rendering, you’d have to give me an example. I have not noticed issues with JavaScript rendering. When I used Flash, the rendering seemed quite slow so I guess I have different experiences than you.

    The fact of the matter is that Flash remains a proprietary technology so it will always be too inflexible for some situations. We are seeing this already with Internet-enabled cell phones and suspect we will see it move into netbooks as ARM processors become more popular in that space. As a developer, the only way to remain on top is by using standards.

  • “We are seeing this already with Internet-enabled cell phones and suspect we will see it move into netbooks as ARM processors become more popular in that space.”

    Note that last year Adobe announced (http://www.adobe.com/aboutadobe/pressroom/pressreleases/200811/111708ARMAdobeFlash.html) that they were optimizing Flash for ARM processors. Seems Adobe realizes they missed the boat on a lot of these new devices and with the open screen project are trying to make up for lost ground as well as getting the jump on any next generation of internet-enabled devices like tvs.

  • I too despise flash, and wish it to die a quick death. It is awful, and it does not help that 99.99% of the flash out there is for the single sole purpose of shipping advertisements to a user. That alone is enough for me to ignore it. So NoScript is set to block all flash, and no flash players get installed.

  • Flash will only be replaced in areas where it was merely used at an entry level which includes video playback and basic animation.

    For the more advanced animation found in the highest-end websites like that of Hollywood movies and sports cars, it will continue to prevail. Big budget marketing campaigns demand “WOW”, and web standards currently cannot deliver. Replicating such high-end features with web standards would not be bandwidth friendly— countless video objects layered in a canvas, for example.

Leave a Reply