How I Overcame My Fear of Flash

Long ago I remember the first Flash site I ever saw–spinning gears replaced typically boring site navigation and sound illuminated a previously silent web. My jaw dropped and I said to myself, “I want to build these kinds of websites!” After playing with Flash Professional for days, I realized that my mathematically inclined brain just could not output the kind of beauty that I began to see all over the Flash powered web. I gave up and resorted to building very ugly HTML interfaces. Not because I didn’t want them to look better but rather, it was just too much work and I lacked the skill.

As time passed my attitude changed from Flash is very cool, to all these ‘skip into’ sites have gotten very annoying. I also gave up hope of learning to create Flash sites myself, due to my ever-growing ideology of Freedom, prompting me to switch to Linux on the desktop. And this meant running Flash Professional was no longer an option. Over the next few years hanging out on Slashdot led me to believe that since Flash was so abused, it really lacked value. When I first saw a simple web form built with Flash I laughed and said, “Why would anyone use Flash for these types of applications?”

Fast forward to 2005, my boss was a very creative person who wanted our corporate marketing website to be more like the Hidalgo movie site, than a static printed brochure. It was a fantastic vision that the executives liked, so we began researching technologies. I was against using Flash Professional for a number of reasons. I still was (and still am) using Linux on my desktop and I didn’t think Flash was the right tool for web applications. I am a programmer who likes to write code, not play with movie clips on timelines, and the site we were building also had to function as a customer service website with complex backend interaction, data editing and data visualization.

My boss came into work one morning after having been to a Flex briefing, jazzed that she had found the answer, “Let’s build it with Flex!” I responded by asking what was this Flex thing. I began looking around and I first saw the component explorer. Initially I thought everything looked great, but I was still unaware of how to build that kind of stuff and talk to the backend. I downloaded the trial, and dug in.

Within an hour I was pulling data from my backend and displaying it in a data grid that would have taken me weeks to build with HTML and a few days later I had built a POC for the portal we began building. I was extremely impressed with how quickly I learned Flex and built beautiful, functional stuff. I was pretty hooked, but still had all those lingering fears about using Flash. My main concerns were that Flash was proprietary, only used for annoyances, was not indexable by search engines, Macromedia had not been super Linux friendly, and Flash is a browser plug-in.

So how did I overcome my fears and jump head first into the Flash/Flex world, eventually becoming an evangelist for Flex? Before I begin, the following is not meant to be a point-by-point argument for why to use Flash and Flex. I save those for when I am confronted with specific use cases. The following is more about my specific use case, which may or may not apply to your use case. If you want to talk specifically about your use case please ping me. I’d love to hear what you are building and honestly talk about whether Flash and Flex is the best fit.

Fear #1: It’s proprietary

Being a Linux geek who compiles almost everything on my system from source, this was probably my biggest issue with using Flash as a platform. In my mind it comes down to three things: can I deconstruct Flash content without Macromedia (now Adobe) software? Can I construct Flash content without Adobe software? And, how tightly controlled is the innovation and direction of the Flash platform?

There are plenty of more religious reasons to fear Flash, but for my personal beliefs, those were the main three. As far as deconstructing Flash content, I was happy to learn that the SWF (Flash byte code) file spec is published and there are at least three open source Flash browser plug-ins. To construct SWF content numerous open source projects exist, including a Flex-like framework called Laszlo. And as far as community participation goes, I was pleased to learn that Flash and many other Macromedia/Adobe products are driven by Customer Advisory Boards and feedback received by the general public.

These facts were enough to satisfy Fear #1. I’m sure there are those out there like RMS, for whom these reasons are not enough. And let me make it clear that I firmly believe in the ideals that RMS believes. But in my mind there are people who are meant to fight for an ideal, bringing balance to the world and people who are meant to live in contradiction. Simply put, there are areas where I will sacrifice my ideals and there are areas I won’t. Flash is one of those areas where I have no problem living in a contradictory reality. Most of us live in such a reality. Is your Operating System Open Source? How about your video driver, your MP3 Player or the software behind the websites you use? I’m fine with Flash not being Open Source because ultimately I trust Adobe to continue doing the right thing and eventually make Flash more open. And I believe this for a few reasons. One, the PDF specification recently became an Open Standard with ISO. Two, Adobe recently open sourced the source behind the core of Flash Player, its virtual machine, with Mozilla. And three, I’ve never felt that Flash Player didn’t put my interests as a consumer ahead of Adobe’s corporate interests. For Flash Player to be successful, they must serve the consumers of the technology.

Fear #2: It’s only used for annoyances

Indisputably, the power of Flash has been abused. Pop-ups, pop-overs, skip intros and annoying ads run rampant across our screens. I’ve heard it said that one should never judge a religion by its abuse. The same adage applies to technology. Flash shouldn’t be avoided just because people use it for annoying things. After all, e-mail isn’t avoided just because spammers happen to abuse it.

We need to find creative ways to deal with the abuse. I personally would like to see a community-driven black list of Flash and DHTML abuses, similar to email RBLs. The more useful a technology is the more abused it will be. But that doesn’t mean we should stop using useful technologies.

Fear #3: It’s not indexable (or what I call “Integration with Web 1.0”)

When the web consisted primarily of documents, indexing worked really well. Spiders could easily crawl through URLs to obtain all documents in existence. As the web has become more of an application platform this method has begun to break down. Whether it’s Ajax, Flash or XUL, when an application moves state and code execution to the client, it becomes harder and harder for the search engines to index.

For the site that I built with Flex this was a critical issue, but it was resolved by creating a boring Lynx compatible version of our site. Since a content management system contained all of the content for the site it was a simple task and our problem was solved. However, I think there is still more work to be done. Search engines need to innovate in this area, perhaps by creating a web services interface to allow for application indexing. Since modern search engines rely on the interconnectedness of pages, creating a different, indexable version of your site will reduce your search engine ranking. However, by looking at sites like Digg and Delicious it would be easy to conceive some way to rate and moderate the usefulness and integrity of the new “application index”.

What about back button support? In Flex, back button support is built in and easily customizable so this was never an issue. Flex also provides an easy way to do hashmark urls (or named anchors) so the url changes as application state changes. Another Web 1.0 integration problem solved.

Fear #4: Macromedia has not been super Linux friendly

Flash Player for Linux releases have historically lagged behind the Windows releases, and there have been very few ways to build SWFs on Linux systems. For some the lack of a native 64bit Linux Flash Player has also been a big problem. These factors have long contributed to many Linux users feeling that they are second-class citizens in the Flash world, myself included.

Before I joined Macromedia, plans were in the works for Flash Player 9. I had a heart-to-heart with Emmy Huang about Macromedia’s Linux support and she assured me that Flash Player 9 on Linux was of the utmost priority. She also said one main hold-up was filling the open positions for a few great Linux programmers to port/build Flash Player 9 on Linux. Finally Mike Melanson found the job posting and relocated to SF to join the Flash Player team. He and many others fiendishly worked on Flash Player 9 for Linux and did a fantastic job! Public betas for Flash Player 9 on Linux began a few months after the Windows and Mac releases, and Flash Player 9 for Linux was officially released on January 17, 2007. And for those on 64bit Linux, using the nspluginwrapper, you can run the 32bit Flash plug-in.

Adobe now has numerous full time engineers building and testing Flash Player 9 on Linux. Also, it’s important to consider how committed Adobe has been to Adobe Reader working on Linux. In my opinion Reader support on Linux is fantastic. Adobe is extremely committed to making sure that platform technologies not only work on Linux, but also work the same way on Linux as they do on Windows and Mac.

Adobe is also committed to making sure that Linux users can not only view Flash content, but also create it. With tools like the free Flex 2 SDK, which I use daily on Linux, I am able to build Flash-based applications that take advantage of all the innovative features of Flash and run the same way on Linux, Mac and Windows. The free Flex 2 SDK provides a set of reusable components, a compiler and debugger that allows me to build web applications that are faster, more usable, and more aesthetically appealing than anything I could build with HTML and JavaScript.

Fear #5: It’s a browser plug-in

This was only a short-lived issue for me, so I’ll save the verbosity for a future blog. I believe that the concept of Browser Plug-ins was added to allow innovation outside of a snail’s pace seen in the browsers themselves. This gives web users the ability to go beyond the realm of HTML and experience amazing things within the context of a page accessed via HTTP. Flash provided just this, a consistent, innovative experience inside the browser, yet outside the limitations of HTML. Now 98 percent of the world’s PC users have Flash 6 or greater installed.

So why is there such an aversion to relying on a browser plug-in? Last time I checked more users have Flash enabled than JavaScript. Should we never rely on JavaScript either? And what about browser compatibility? Plug-ins, like Flash, do a great job of shielding web developers from the pains of cross-browser and cross-OS incompatibilities. From a web developer perspective I’m much happier when I can write once, debug once and run anywhere, than having to test on three different OS’s and over 20 different browser permutations. Many say that frameworks shield us from these cross-X issues. I don’t think they do, because almost every piece of software I write ends up being about 80 percent framework and 20 percent hand coded. People always end up having to deal with a slice of the application that falls outside what the frameworks does.

Also, a side note on Flex. The Flex programming model was conceived as a component framework where components are extensible and include properties, methods, styles and events. In my experiences by encapsulating these elements into a framework I rarely have to go outside the bounds of the Flex framework. With HTML and Ajax frameworks I frequently have to drop down to lower level code, outside the framework. Usually at first the framework gives me everything I need. Then the designers hand me something that looks nothing like what the framework provides out-of-the-box and I have to start hacking around the framework or even modifying the framework itself. This is not a maintainable way to code! With Flex I simply tell designers to use a designer friendly tool to create the design elements. Then I import those elements into my Flex application as skins.

Obviously there are things that Flash can do very well that the browser can’t do, or can’t do well. People are working to change this. But how long will it be before new standards are created, how long before browsers implement those standards and a majority of users upgrade to those browsers? I’d prefer not to hold my breath, because by the time that is all done the web will be nothing like it is today. Plug-ins are a harbor for innovation, stability and consistency. So why do we treat them as if they aren’t just as important as the browser? And with free products like the Flex Ajax Bridge it’s easy to communicate between Flash and the browser, as illustrated by Google Finance.

Fears Relieved

Here’s the point, Flash Player IS a ubiquitous, cross-browser, cross-OS virtual machine enabling next generation web experiences. Flex is a simple tool for developers to build applications that execute in the Flash virtual machine. In most use cases Flex applications take less time to build and result in better user experiences. Flex isn’t for everyone, or for every use case, but I hope my experiences have shed light on the whether or not Flex and Flash are a good fit for you.

  • I’m not sure that I buy some of this:

    1. I agree we all make compromises.
    2. you need to show me that back button trick some day
    3. Adobe/Macromedia is FAR from Linux friendly on the whole. The bulk of Adobe’s software is never released on Linux — some probably because they coded it in Visual Studio or some Mac tool thing and ported…However much is just because they don’t “get it”. I assume they’re starting to “get it” now that Microsoft has them in the crosshairs (support freedom for everyone or have YOURS restricted — this is the kind of business decision you make because you intend to be here and affecting the industry in 10-20 years…even if it has no impact on this quarter….Linux is also the key to the “alpha-geek” that Tim O’Reilly speaks so highly of…the influencers of the web itself). However, Apollo by the FAQ on has NO intention of Linux. The FlexIDE…built on ECLIPSE!!! has no Linux version (there is no reason for this other than they just don’t care enough). The Linux debug player seems more…unstable…than the windows version. I’m not saying they haven’t made progress…but they’ve yet to achive more than what I’d call a *marginally* post-token effort. I bet the Flash 10 plugin comes out significantly later than Mac/Win versions.

  • Largely, your experience is very (eerily) similar to mine. Including becoming professionally engaged in Flex through desires of my company. I still do have many issues with Flex.

    The two main advantages that I find in Flex over Ajax combined with good DHTML widgets (like yui-ext) and animations (like Scriptaculous), are 1) The portability aspect, that an app I write in one place looks and runs identical everywhere, and 2) The speed of development using Flex Builder. #1 is great, but comes with many costs (like indexability) and #2 is lost on those of us on Linux.

    I take much exception to your point about Linux compatibility. I *want* to believe that Adobe is engaging Linux, but I still don’t feel like it’s quite there.

    1) Linux was stuck with Flash 7 for an inexcusably long time. Flash Player 8 was never made for Linux (how can I properly develop and test Flash on Linux if I can’t test it on the player that the majority of web users currently have installed?). Adobe is quick to pat themselves on the back for Flash Player 9 for Linux, but this comes off a bit sour for those of us who were second-class citizens to Flash for many years (including, very painfully, the inability to experience the YouTube experience without sync issues until it was old-news to the rest of the world).

    2) As the previous poster points out, Adobe took a cross-platform IDE (Eclipse) and turned it into a Windows-only application. Even the Flex 2 SDK works on Linux, so how in the heck did Adobe end up with a Windows-only app?

    3) No Flash (the authoring program) for Linux, no Paintshop for Linux, no Acrobat (authoring program), no CS2, no Illustrator, no Dreamweaver…the list goes on, and on, and on.

    And on the subject of search-engine indexing, this is a huge issue that you largely ignore. Or better said, you pass the responsibility to the search engines. If Flash were a truly open format, then I would somewhat agree, but it’s not. It *is* proprietary (whether you excuse it’s proprietariness or not). Take, for instance, the company I work for. They have dictated a non-standard font for all main page titles. As a result, the title must be done as an image, thus ruining indexability and driving down page-rank. Would you suggest Google must check all images, and learn to index those few images that happen to hold a raster-version of a word?

    Overally, Flex2 is a driving force, more compelling than anything Flash has brought to the table previously. But, it still has a long way to go on many of the fronts you mentioned. I’m personally hopeful that Sun is successful with open-sourcing Java, and that drives Adobe to follow with Flash (the format and player). If they keep the Flash authoring tools proprietary, this wouldn’t affect the revenue stream since Flash Player is already free. Ah, we can all have our dreams, can’t we?

  • Raveman

    really nice entry, i enjoy reading it.
    I personally hate flash and I hope it dies (i uninstalled flash after some site got banner with sound and that was just too annoying, now i use flash for sites like youtube, but i have flashblocker installed :) I like applets more, yes they are slow so they cant be banners :) I never view any flash using sites(maybe just sites with games) so for me its dead :P but flash is great technologi, i dont see myself writing web apps in it, but i will check out Flex soon :)

  • Quote on fear #3:
    « For the site that I built with Flex this was a critical issue, but it was resolved by creating a boring Lynx compatible version of our site ».

    How do you do that ?

    Maybe it’s a dumb question… Do you put hard coded links in those Lynx pages to your Flex contents (pages)? And those Lynx pages are put not accessible to the public front-end of the Flex site?

    Thanks for any clue!

  • Pingback: Standard Web Standards» Blog Archive » Adobe Flash: Web 2.0’s Pariah? · Building the web, the standards way! CSS, XHTML, Accessibility, Usability, AJAX, Web 2.0, Adobe()

  • One of my biggest frustrations about flash is when it’s used for navigation menus. I’ve been using browsers with tab functionality since 2001, and I have become thoroughly dependent on being able to middle click on a link to open it up in a tab. 99% of the flash-based navigation I’ve seen is broken in this regard and I always find my self wondering why the designer couldn’t have just used a CSS-based navigation menu instead.

  • Austin

    Dear James,

    I think you’re spot on with all of your observations. I still feel that flash is an awesome creative
    tool which needs to take even more programming with it. Building in flash with a Kickass component set like the flex skinning framework would be something that adobe should strive for in the next release of flash 9. The skinning architecture in flex is good, however it could be even better — full customization. If they integrate this in the next flash then this will even make it more effective.

    Apollo is going to be cross platform, for windows, mac and linux.

    Best, Austin

  • Fear #7: because of the ads, lots of people use flash blockers these days.

  • (There is no number six!)

    Maybe “lots of people”, maybe not. Maybe the ones you most want to reach. Hard to know.

  • MikeD

    Here Here! I sure hope I can look back on my decision to “sell my soul” to the evil empire with a similar refrain. I’m glad your coming to grips with balancing your ideals and the world of big business that pays our bills! Best of Luck.


  • Pingback: links for 2007-02-22 at Blue Sky On Mars()

  • Peter Noone

    “…that would have taken me weeks to build with HTML…”

    I couldn’t read past that line. There’s some kind of fancy name for this sort of not-valid comparison.

    I’m not convinced.

  • Nice article! As I shared exactly the same fears with you, I am encouraged now to check out Flex.

  • For me, any flash site that attempts to do the whole experience in one flash movie, runs like a dog on my laptop. Flash is nice for games, artist’s websites etc.
    But NOT for web applications. Just too heavy, takes too much ram, and is plain annoying. I use the Flash 9 player for linux, and although YouTube works fine, not all sites do and sometimes i get audio in slow motion. Html is standard. You get what you expect to get, forms behave the same etc. Modern Javascript are no longer a pain to write and you can do a lot of cool cross browser things with JS.
    Flash has its place, but not as the be all end all web UI. it’s just out of scope for that i think.

  • I can understand why flash is tempting to so many people. Learn one tool and everything will run on all the browsers.

    But, really, HTML (/DHTML+javascript) is supposed to do that too – the fact that it doesn’t do it as well as it might is not really ascribable to HTML or its flaws, but to the fact that major players don’t seem interested in following the standard. To the extent that Flash is proprietary, it can ensure that everyone follows the standard, but how long until some major player implements their own Flash and their own Flex and starts to extend it in interesting, useful and incompatible ways? (Want to bet that such projects are already underway?) Then we’ll have two broken standards.

    As important, I use a flash blocker and intend to keep doing so (even though flash 9 is, indeed, now available for linux). Why? Because half the time flash is embedded in web sites, it is there to serve me advertising. And slow loading (usually) ads (usually with annoying music – but I keep the speakers off on any machine I use) plus enforced watching of those ads, just doesn’t interest me. I’d rather go to a site where I pick what to look at and read than one where the idiot marketers get to pick. This may mean that I miss out on some fantabulous flash sites. So be it – I can’t tell from the outside if the flash is worth looking at, and since mostly it is not, I’ll just skip the site.

  • I don’t plan on writing internet Flex apps for the same reason that I didn’t write IE-only sites from 2001 to 2005. I’m against any entity — commercial or no — becoming the sole gateway through which the world views the web. I believe the web is a commons and put my efforts into keeping it a commons instead of a walled garden.

    I’m not against Flash per se, it’s great as a media player and vector canvas. I’m against, in principle, doing things in Flash that can be done in HTML. Unfortunately the poor integration between Flash and the rest of the page means I wind up putting more into Flash than I’d like. The bridge helps a good bit, but it’s subject to weird restrictions and oddities so it’s better as an RPC mechanism than an integration mechanism.

    I keep my eye on both Flex and Apollo because I find both projects to be interesting and potentially useful. I’ve done the same thing for Flash since Flash 3 (when I was unsuccessfully trying to get rich typography headlines). In that time Flash has gone from trigonometric lookup tables to a JIT compiled app platform. I now use Flash on a semi-regular basis (sifr, drawing canvas) but I’m not comfortable with Flash bytecode becoming the lingua franca of the web. I continue to put my efforts into building robust javascript/html solutions.

  • Rick

    Flash support for Linux is not the issue, it’s just a symptom. The fact that Flash support for Linux has improved somewhat recently in no way addresses the real issue and the root cause of the problem: as a closed, proprietary standard Flash is *hostile* to the entire basic principle of the Web. The whole concept of “support for Linux” (or any other specific OS) is an insult to the Internet in itself.

    The attitude of Adobe/Macromedia towards open standards is more arrogant and destructive then Microsofts’ ever was. Microsoft is quickly coming around, but Adobe still believes it can hold on to its RIA monopoly at the expense of everyone else.

    Although like most other developers I’m forced to use Flash for lack of a better alternative, but I can assure that if such an alternative appears we will drop Flash in a heartbeat. Even if Adobe opens up, it will be to late. Right now many of use prefer to use AJAX where we would before use Flash, not because its easier (god no) but because it gives us the option of creating the right user experience without selling out to Adobe.

    I’m as pragmatic as the next professional when it comes to using proprietary stuff, but please don’t defend Adobe’s policy as if it were something to be applauded. Adobe’s attitude towards the internet and the necessity of open standards is as negative and arrogant as Microsofts’ was in the nineties. If Googles’ guiding principle is “don’t be evil” and Microsoft currently seems to go for “try to be less evil”, Adobe/Macromedia still firmly sticks to “be as evil as you can get away with”.

  • Please don’t claim that Flash supports Linux, as Flash does not support all Linux platforms.

  • The statement above that Apollo will be supported on Mac OS/X, Windows and Linux has no publicly verifiable source. Indeed (

    What platforms does Apollo 1.0 target?

    Apollo 1.0 will be supported on Windows and OS X.

    We are also researching what additional platforms we will support beyond Apollo 1.0.

    Which when converted from marketese means that Linux will be supported “no time soon”…

    The comment about a uber-flash app running slow is not true in flash 9. Load time is slow potentially. I mean Flex apps tend to push 500k and up. I was at a client site the other day saying “well the problem with Flex is that download times can be bad” and the app came up instantly on their fat network and his reasonably modern laptop… I was happy to be wrong. Also with the JIT stuff there seems to be no real difference between big apps and little apps so far as performance at least in Flex. I do think they could do things to get that download size of the actual apps a bit smaller…but for most corp networks it simply isn’t a big deal.

  • Pingback: Here Comes Adobe’s Flash Fibs Again…()

  • William

    Nice article,
    but you miss the fact that the such named “Linux support” it’s not there. Linux has far more platforms that x86 32/64bits.
    In the case of those running Linux in PPC (for example), Adobe support is 0. It’s o that adobe decided to support only x86 architecture, but they must asume that ;)


  • Pingback: Elliot Murphy 28:1 » Blog Archive » links for 2007-02-22()

  • Whoa… did James get linked on Slashdot or something…?

    Yes, nobody has yet found a business reason for writing Photoshop in Linux native code. Does that mean you won’t use other Adobe technologies which *are* practical on Linux?


  • Pingback: Yet Another Blog from Luar » How I “slashdot-ize” My Fear of Flash?()

  • Pingback: And to this I say… “Beeyah!” | Visualrinse | Design and Development by Chad Udell()

  • Chris

    I think the major problem I see here is that the technologists posting their comments are using their own experiences to judge whether the people using their applications will or will not like a particular platform. I’m sure that for many people here, their user bases are significantly less technical than they are, its certainly the case for the majority of work that I do.

    Lets face it, for non-technical people text is typically the worst way to get a message across or help make web apps intuitive. It doesn’t matter if your site always works for anyone who ever goes there, if all it does is present a bunch of text and a navigation menu at the top, nobody will read it. Joe and Suzy aren’t interested in your white papers, or your two page synopsis on why you are different, and they sure as hell aren’t interested in clicking the help button and being presented with a manual.

    Video, narration, animation, these forms of communication are vastly superior in getting a message across, or making a web application intuitive to use. For these, Flash (in moderation) is king.

    That being said, Rick has a great point about Flash being a closed platform. It is indeed a problem that Adobe will probably never be able to overcome. Flash will always be in some sense a closed format, simply because Adobe will not risk opening it.

  • Rick

    “Flash will always be in some sense a closed format, simply because Adobe will not risk opening it.”

    This may be Flash’ downfall. There are two very powerful IT-companies that would really like to see the dominance of Adobe in the RIA marketplace end and have adopted open standards as part of their strategy: Google and Microsoft.

    Google is obvious, it relies both relies on the web having an open architecture for its core-business (search) and is moving into online applications for which AJAX isn’t sufficient to make them “rich” in terms of multimedia, the importance of which you’ve just pointed out. Google already depends way to much on Flash for their own liking (YouTube).

    Microsoft is moving into the same arena (Live) and has seriously adopted open standards as a strategic move (which doesn’t mean they like it any more then Adobe, but they are not afraid to commit to it necessary). Both of these companies have the power to wipe out Flash marketshare, and both have a major interest in doing so unless Adobe stays one step ahead of them by opening up.

    In the near future Adobe may have to deal with something they haven’t experienced in a long time: real competition. Adobe has pitched itself against both the open source community and the most powerful it-companies on this planet. Good luck with that…

    (BTW, Flash isn’t the only sign of Adobe’s arrogance: holding out on providing universal binaries for OSX is another major sign that Adobe is thinking and acting like a monopolist. Adobe is probably the last major software company that hasn’t had to deal with the changes that swept through the software industry the past decade. Credit where credit is due: a lot of that is down to the unrivaled quality of their software. As much as I like open source and Linux, I will probably keep using Photoshop instead of Gimp in the foreseeable future.)

    All of this is the reason why I choose to use AJAX for web-applications, and only use Flash where it is absolutely necessary to provide a rich media experience, and use it in such a way that it is easily replaceable. For me, using Flex is a bridge to far when it comes to depending on a single vendor.

  • ““Flash will always be in some sense a closed format, simply because Adobe will not risk opening it.””

    The biggest problem we’ve had here is confirming what each speaker means by “open” when they say such things. The meaning keeps changing, the goalposts keep shifting.

    About the only thing left for it to mean is “design by (larger) committee”. But maybe after that it might change to “because Adobe is not a non-profit”. Hard to say; the label’s overloaded.

    (CS3 as MacTel: check the records. Easy to aver, hard to believe.)


  • YOO

    Nice! keep up the good work!

  • Pingback: tech decentral » links for 2007-02-25()

  • The biggest problem we’ve had here is confirming what each speaker means by “open” when they say such things. The meaning keeps changing, the goalposts keep shifting.

    Now that’s just total bull. There is the term “open” and the term is “free”, which do mean different things. But the open source community and the free software community have both been extremely consistent and thorough explaining what these terms mean. Sometime so thorough to the point of tedium, as is necessary in today’s legal climate.

    If you want to say “the goalposts keep shifting” you really should back it up, because otherwise you are just throwing around FUD. It’s just pure, unfounded skepticism. I would love for you to show me some quotes from a community leader like RMS that have changed over the years, because he’s remained unbelievably consistent on the subject of open and free. Quotes from some guy on Slashdot, Digg, or the Ubuntu forums don’t count.

    If you are going to sign your name jd/adobe then you are representing your company, like it or not. Coming from an Adobe employee, your comments just further demonstrate an attitude that disappoints me. This is why *I* will continue to have trouble overcoming my fear of Flash. I don’t trust you (or any corporation, so no specific offense to Adobe) enough to hand over the web to you. I’d like to, because you make excellent products. But without the trust, you will have a hard time really winning the world over. Ajax/DHTML has it’s shortcomings, but at least I don’t have to worry about trusting anyone.

    If Microsoft walked in front of the proverbial bus, there are several delivery options (Firefox, Opera, Safari, Konquerer, etc.) that I can turn to. If, let’s say hypothetically, we all trust you and build much of the web in Flex. And then, hypothetically, Adobe decided to leverage their dominate position and “turn the screws” and do something like charge $500 for Flash Player or force their own advertisements to show on top of every Flash movie. We’d have no one to blame but ourselves for handing you the keys to dad’s Porsche and asking you not to use them.

    So, if you hope to win trust (and it is in your business interest to do so), then you have to trust back a little. Keep a conversation open with the community, and put away the FUD like “The meaning [of open] keeps changing”.

  • Hi Dan,

    I think you make a great point, that ultimately it does comes down to trust. But don’t you actually have to trust the vendors that provide the web browsers? If MS decided to do something that broke your Ajax app, 80% of your visitors would be upset at you, not MS. They don’t know/care why something is broken and will almost always assume it’s the web site creator’s fault. If this did happen, would you be able to get all those users to change their browser so that your site would work? Obviously not everyone switches off non-standard browsers. Thus all HTML apps have a bunch of IE, Firefox, and Safari specific logic. We don’t actually write against the standard, we write against the broken implementations.

    I’d like to think that open standards give us freedom from having to trust companies, but it seems that we always have to trust those who distribute the software that our websites / webapps run in.


  • James, true, but we do have open options competing in that market. And we can see that driving improvement in standards. IE 7 is much improved over IE 6 on web standards. Open options (particularly Firefox) definitely had a lot to do with that. Also, I feel like I can have some influence on that. I can urge people to use standards-friendly browsers. I can participate the development of Gecko and drive standards compliance. As a web developer, I can work around lacking standards through code. With Flex/Flash, I’m completely, utterly at Adobe’s mercy. I have no influence.

    I am not in any way trying to imply that Flex or Flash is a bad product. It may surprise you to hear I work on Flex apps for a fortune 100 company almost every day. Flex 2 and Flex Builder are an amazing technology, and in my opinion, if a few issues were worked out, could very well rule the web for rich user interfaces. As it stands, I still recommend avoiding Flex when possible at my company. Due to the fast speed to market of Flex solutions and the reduced testing needs, I’d love to be able to do otherwise.

  • I think you have tons of influence on Flash and Flex! Way more than I do even! (I actually gave up some influence by going to work at Adobe… Now it’s always about what the customer wants and I am no longer a customer.) Flash and Flex development are largely driven by what the community wants. Right now one of the biggest things that we continue to hear from our community is that they do not want to have multiple Flash Player implementations to deal with. So we are trying to figure out how to reconcile that with those who would rather slow development of Flash with Open Standards and those who want to sacrifice the platform consistency by making it easier for other Flash implementations to exist. If Adobe pisses off it’s community by not doing what they want, then people will move to other platforms. This is no different than Open Source projects. Open Source projects have died because they didn’t do what their users wanted. Flash and Flex would die if we didn’t do what our users wanted.

    However, for those who refuse to trust Adobe with Flash I usually encourage them to invest in Gnash.

  • Hi Dan, I’ve been logging what different people seem to mean when the say “flash should be (more) open” for quite awhile in my weblog, and up at DevNet before that. No single link, sorry.

    But you, here, are you concerned about the size of the group that defines future versions of SWF files, or releasing sourcecode to Player for rewriting and rebranding by others, or the public bugbase/codebase/certification sense of “open”, or one of the other candidates…?


  • jd/adobe,

    Well, for my part, let me say that I wish Flash was free, in my ideal world. And I mean free in a very clear way, as defined by FSF. When I originally said “I’m personally hopeful that Sun is successful with open-sourcing Java” I really should’ve said “releasing Java as free software”. I no longer have any apprehension about hitching my wagon to Java now that it’s free software, and I’d feel similar about Flash if it were free. That said, in my less-than-idea-but-still-better-than-today world, it would be better if Flash were open sourced in an ASFL/BSD way.

    I really am not interested in community process of closed software. I’ve been down that road for nearly a decade with Java Community Process. Without being open sourced, it’s not a real community process. It’s a bunch of proposals being approved or rejected, largely by corporate interests. Open source developers aren’t interested in “process”. The community has little ability to actually contribute. In open source software, a member of the community can make changes on his own, and the really good ones will find their way into the core product. That’s the real power of it all. Can you imagine how expensive it would be to have developers working on Adobe products, only to throw away 95% of what they did, keeping only the very best? But that’s what the open source community does every day.

    I’ve frequently heard this point you raise about “multiple implementations to deal with.” For years, and years, and years this “fragmentation of the platform” argument was spewed forth by Sun management about Java. It’s a bunch of hooey, in my opinion. I’m willing to bet you’ve heard this from management, or it could at least be traced back to management. If you look around the open source community, this rarely happens in reality.

    In fact, I would suggest the opposite would be true. Take a look at Java. With Java, open sourceing will actually consolidate implementations. By not opening Java for years, alternative implementations like Blackdown, and IBM Java, Microsoft Java, Gnu Classpath, and Harmony had been developed over the years. The best parts of the Classpath project are going to get absorbed into Java. But after that, Classpath will be largely irrelevant, and the project will (I would guess) die. Many of the Classpath developers are already moving over to hacking on the core Java. Harmony won’t be absorbed (it’s not GPL, so it can’t), but I am betting it’s momentum is completely gone now that Java is free.

    You’ve already got implementations of Flash springing up like GPLFlash and Gnash. And if Flex causes Flash to really take off and become more central to the web (flying and screaming ads are not missed by anyone without Flash), more effort will be put into open and free implementations of Flash. Of that, you can be sure.

    So, when that FUD is presented to you, be aware it is mistaken. It is a safety vest for CIOs and CEOs who can’t cope with the changing and seemingly hard-to-control environment of the modern computing world. At the very least, you will have a working model to observe with Sun and Java. Watch and see if the FUD comes true. I doubt it will.

  • “Well, for my part, let me say that I wish Flash was free, in my ideal world.”

    I’m guessing that means that you choose not to develop atop Adobe Flash technologies today.

    But do you think that other people shouldn’t be free to do so, too? That’s what I seem to hear beneath your post.

    tx, jd/adobe

  • I’m guessing that means that you choose not to develop atop Adobe Flash technologies today.

    I’m not sure where me saying “I wish Flash was free” turned into saying I want to take away people’s freedom to use Flash, because that’s not my intent. As I said in a previous post, I develop Flex apps for my company. I have concerns about using it, yes. I do avoid using it for various reasons, as I also mention above. But I do use it. And I have no desire to keep others from making whatever technologies choices they want to make.

  • (Sorry Dan, guess I got lost while trying to sort through the various objections. I’m still not sure which “FUD” was referenced either. There was also a digression into clientside fragmentation, but I think clientside Java was killed by MS forking. But I’m trying to focus in on the core points of concern.)

  • I think what killed client side Java was the fact that applications written in it look rubbish on all platforms (i.e. non-native look & feel – more important than most people realise), and run like molasses. This doesn’t have anything to do with Microsoft directly. In fact a lot of MS’s Java stuff was aimed at fixing this, on Windows, at least.

    I would love to see some combination of SVG, SMIL, Scripting and whatnot replace flash/flex. This is quite plausible technically, it would just require more platform and tool support. As these are all XML based technologies they’re thus much better suited than flash to the world of mash-ups and freely flowing, connected data driven ‘applications’. Being 100% open and 100% made-from-plain-text, they’re also much more amenable to automation, extensibility and community support – all quite important for long term platform viability.

    This combination is actually becoming better supported in the mobile space, surprisingly, so might sneak in via the back-door. Firefox and Opera – which mostly owns the device/mobile browsing space, and is available on everything from Nokia to Nintendo – already have a lot of the browser support in place for this.
    This: works on both my Wii and (almost) on my phone. Maybe this will just grow, slowly, quietly into full(ish) support?

    Maybe someone will wake up one morning, a few years from now, and think – ‘Hey, SVG+SMIL+Javascript is pretty cool and it’s kinda supported everywhere, but no-ones really using it much. Maybe I could try doing…’, like what happened with XMLHTTPRequest and AJAX. Maybe that person will be working at Google on their new PictureWords ad program or Google Maps V2 (or something) and it’ll be Game Over?

    Who knows.

  • Tom Palmer

    I’m the “please open source Flash/Apollo player” person from the Sacramento Java User Group meeting tonight. I’ve posted another comment on another blog I found too. I’m just someone (and there are lots of techies like me) who doesn’t want to commit time and effort to non-open platforms. Sure there’s Gnash and whatnot, but that’s like the open source Java up to this point. They aren’t the Java people care about. People only want one Flash, just like they only want one Java. (I’m speaking in general. Of course there are dissenting opinions.) But I want that one Flash/Apollo to be open source. Keep the tools, even the freely available Flex SDK, closed source. That’s fine. If the Flash and Apollo runtimes became open source, I’d drop client-side Java real quick. And I doubt I’m alone. For now, I’ll stick to Java. The point of open source is forkability, but no one wants to fork unless the steward is doing a bad job. Just keep up the good work and no fork will get anywhere beyond free R&D. Follow Sun’s model for open sourcing Java (trademarks, GPL, and GPL + linking). I think it’s a good one.

  • Hi Tom,

    Thanks for coming to my JUG session last night. It was a lot of fun for me. Lots of great conversation. Here is another recent post about Open Source Flash:


  • Tom Palmer

    And thanks again for the presentation.

    I’m scared of registering at ZDNet, but maybe I’ll get to it. Those big magazines sure know how to be unfriendly. I’ve started an experiment at Jyte, though:

    One other person happens to have noticed it so far. I’ve thought of variations on the theme, but I’ll see how this one does for now.

  • Pingback: Creattica - Flash » Blog Archive » True Fullscreen Flash - Good or Bad?()

  • James Ward’s Blog » Blog Archive » How I Overcame My Fear of Flash I haven’t gotten over my fear of or distaste for flash yet, but at least it’s something I’ll consider, esp. since smart people like James Ward and Ryan Stewart stand behind it. (tags: flash programming adobe).

  • Great article Tom – Many of my favorite websites habitually utilize small bits of Flash but I almost always walk away from full-screen Flash pages.

    I see the inappropriate application of Flash, in large part, as a symptom of the power shift from printed/TV advertising/branding/promotion to their Web equivalents – Many graphic/AV designers and advertising/marketing companies are hurriedly transplanting to the Web arena – and with many clients ignorant of reality and importance usability issues, Flash provides a convenient landing spot. It’s the half-sighted leading the half-sighted.

    I think, a common misapprehension of SEO also plays a part. Many SEO consultants sell themselves on the basis of web-stat’/SERP results and the cleverness of their techniques – Whereas, it’s fundamentally a craft mixing two distinct outcomes: ergonomics and stealth promotion. Glossing-over the full ergonomic context of SEO, in Web-design, allows Flash a substantial niche. I’m not sure of the average webwide perspective but, on the retail sites I tend, search engine traffic accounts of about 50% of visitors – thus, SERP appearances must be considered a component of ergonomic design goals.

    With the absence of internal URLs, it’s more than a matter of lacking back-buttons, it’s the inability to deep-link and pant descriptive meta-data, in close association with crucial business objects.

    Systems designers a far better at designing profitable machine behavior – Graphic designers a somewhat better at designing customer emotions/perception and far better at making it look good. Advertising/marketing companies are great at manipulating profitable customer behavior but, many, and their purchasing equivalents (in client companies), have communication mindsets stuck in static or single time-line presentation. So the point-of-sale / project-extension is a land of Flash sensibilities, i.e. buying a graphic designers lead advertising/marketing company pitch! – Best, Ian

  • Pingback: Tech Per » Blog Archive » Flash is Still Closed Source and Proprietary Technology()

  • Pingback: Following up on “The Microsoft of the Web” at Ted Leung on the Air()

  • draker

    After reading this article and some of the comments, it strikes me that anyone who identifies themselves as a “developer” thinks that flash/flex is a good thing. Not so sure about the others, but from my point of view, it terrible for users.
    You say you “firmly believe in the ideals that RMS believes”. But you are one of those people “who are meant to live in contradiction”. “Flash is one of those areas where I have no problem living in a contradictory reality”.

    Right. You’re a developer.

    Let’s talk about me, the user.
    Is your Operating System Open Source?
    How about your video driver, your MP3 Player or the software behind the websites you use?
    Yes, yes, and yes, except for flash.

    Why do you ask these questions in such a haughty manner? Are you saying that if someone uses any piece of closed source software, ever, then they lose the right to advocate for open source for all time?

    “I’ve never felt that Flash Player didn put my interests as a consumer ahead of Adobe corporate interests.”

    I take it you were born yesterday? Adobe is required by law to put its corporate interests ahead of anything else.

    #3: It not indexable
    …but you say you can work around it. I say you can also sell a car without brakes; just build all the roads to put the intersections on top of hills. No problem.

    #4: Macromedia has not been super Linux friendly
    You got that right. I mean, the fear. Your apologist talk about Adobe Linux developers sounds like marketing feelgood speak. Show me the money. Adobe is not creating flash for Linux that works. Adobe is not creating anything else for LInux that works either. (Acrobat is marginal; I much prefer xpdf).

    #5: It a browser plug-in
    If firefox would get this right, there’d be no problem, but even with a modern browser, it’s trivially easy (obviously it must be, because it happens so often) for a broken flash plugin to crash or hang the browser.

    I’m pretty keen on open source, but only partially for ‘freedom’. A good portion of my eagerness for open source is this: if the source is open, the bugs get fixed.
    I must say that I am absolutely sick to death of the complete crap called ‘flash plugin’ distributed by Adobe for Linux. Flash 9 (after several buggy releases) was stable for quite some time. Then stupid web developers, like at the BBC, started printing stupid comments on their videos stating: to view full screen you must upgrade your flash player. Well, how about you downgrade you flashplayer, idiots, ’cause full screen worked _just_fine_ last week.

    No, it’s my responsibility — that’s right, the user — to live on Adobe’s bleeding edge. So now I have flash player 10 that still doesn’t allow full screen, and often causes my browser to lock up at 100% CPU for indeterminate amounts of time. Oh, and grabs the sound device at random times (even after flash-playing pages are closed) and interferes with my alsa sound driver.

    I agree with the commenter that flash should die a very fast, very painful death, and hopefully be replaced with a simple, efficient video player that actually works on more than two platforms. There’s pretty much no other use for flash aside from video (and advertising), I think the usage patters have clearly indicated this.

    Until then, I will continue swear and stamp my feet every time some website cons me into turning on flash for them, and then I lose my entire browser context, again, as my browser implodes.

  • draker

    Look, I had to make one additional comment. It is this:
    The problem with Adobe is more than just technical. It’s an attitude. The attitude is: we know better than you, so do it our way, or f-off.
    Example: I’m browsing here with dillo (, because it is small, fast, and efficient. And because my firefox was taking a rest for ten minutes after coming perilously close to death following a buggy flash player incident.
    I go to to check if there is a more recent slightly-less-beta version of flash for Linux available for download yet. And what I get is:

    “You may not have everything you need to view certain sections of Please see our site requirements.
    Sorry, your platform is not supported.”

    Well, duh. Dillo doesn’t support the standard plugin mechanism. But I want downloads for Firefox. Maybe give me a link? Here’s a thought: put all the flash players in a directory and let me browse it. But no. I haven’t passed the security check; I’m running an “unsupported platform”.

    Imagine if I went to, to download the latest distro, and the website said: sorry, you’re running Windows. Ubuntu is for Linux only; go away.

    That is exactly what Adobe is telling me. This has been typical of Adobe’s attitude for a decade. No, we won’t release the source for flash. We won’t even admit if we’re working on a Linux version. Oh, OK, we are working on a Linux version, but we won’t tell you any details about it or our schedule. Oh, btw, we’ve released it now. What’s that, it doesn’t work? You’re probably doing it wrong. Run on Fedora Core 3.14159 with this modification and you should be OK. No? Well, don’t get mad at us, it’s free after all. No warranty.

    See? Lousy attitude. For 10 years. And it has made me hate them, very much. And the fact that their products don’t work does nothing to change my feeling.