or “Why Apple broke my heart and Adobe is holding the pieces”

by our very own Ryan Green

April 8, 2010 was the day the first salvo was fired, all out war declared, and the following day an Adobe employee named Lee Brimelow had his emotions get the better of him. His blog post told Apple collectively to… well… ahem. Apply screws to themselves.

See, the following Monday, was a day that I, as a Flex / Flash developer, loyal Apple fan-boy and AppStore developer had eagerly anticipated with bated breath. Monday, the 12th, was the day when the world would open up. When those, like me, whose livelihood depends largely on the Adobe Flash Platform would finally be allowed into the mobile space; unencumbered; invigorated; and empowered.

This is counterpoint to a previous post called ‘Coming Down Off The Flash Fence that has been unexpectedly busy vibrant on the whole traffic thing.
Ryan and Chris will be writing a third post soon to discuss what we can agree on and where we diverge.

Adobe, you see, had performed an end run around that pesky walled-garden placed around Apple’s beloved iOS. Their tools would allow Flash developers into the AppStore. Apple had long made it clear that no plug-in, indeed not Flash, known for performance and stability issues on the iOS older brother OS X, would soil their Mobile Safari browser and tarnish the image of Apple’s big new moneymaker. See, for all of Adobe’s posturing in the past few years about one platform on any screen, Adobe had failed to produce a solid demonstration of the full capabilities of Flash inside a web-browser on a mobile device. Monday was going to be different. Monday, the world would see how far the Flash Platform had come.

In my world, Flex is a God-send. The browser wars started during the reign of the first dot com bubble. Netscape, Opera, the long disparaged Internet Explorer 5 and 6, they all had one thing in common. They displayed webpages in a document specification called HTML. Some allowed designers to use this new fancy syntax called CSS to make our pages pretty and move away from those complex nested HTML tables. Some allowed developers to use Javascript to make the web behave more like software found on the desktop.

Internet Explorer, for me, sat at the top of the heap. For all of the other web-designers’ complaints of how difficult it was to make webpages look the same across all major browsers; the hacks and continued hacks web-designers must invoke to make their pages behave correctly. The use of magic snippets of code that exploit known defects in browser rendering engines to align that picture to the pixel. Internet Explorer was unique. Internet Explorer didn’t adhere very well to standards, but Internet Explorer was installed on 90% of PCs. Internet Explorer had a lot of really cool features, features that took the rest of the industry 10 years to adopt. In short, Internet Explorer allowed me to make some really cool software.

In a few strokes of the lawyers’ pen, Apple and Steve Jobs stoked the fire smoldering in the web-browser wars. HTML5, an emerging standard that is not complete, but IS forward thinking, was to be the victor. Safari and Webkit browsers would carry the torch, but Safari wasn’t and isn’t Internet Explorer. It has a 4% desktop market share in 2010. And the other webkit browser, Chrome, 9%.

But, Jobs is a cosmic force. A marketing titan that won’t be stopped this time around, and instead of picking on the 90% of browsers that don’t toe the line on HTML5 (those pesky browsers that can’t seem to die) Jobs chooses a little technology called Flash as its whipping boy…

Politically incompetent Adobe didn’t have a chance.

In the years that the browsers were pointing fingers, a technology called Flash rapidly took hold on the expanding interwebs. The Flash runtime wasn’t encumbered by browser manufacturer foot dragging. The Flash runtime was special. It wasn’t standard, it wasn’t open, but it could do some cool stuff. Animators flocked to it. You could make games. It played video inside the web-browser! You could put splash screens on your website that nobody looked at. It worked on 90% of pcs, and in any major browser. And as quickly as it ascended, it became victim of its success.  Very quickly Flash became a bad word in some circles, synonymous with “ad-ware.”

But in 2004, Macromedia (now owned by Adobe) changed direction. Flash MX 2004 Professional had an object-oriented-like scripting language. Typed variables. A User Interface Framework. Suddenly Flash wasn’t just a toy to deliver whack-a-president banner ads. Flash was a Virtual Machine; a platform which developers could use to write software once and deploy software anywhere. Flash looked far better than Java and had far more features than HTML.

Fast forward to 2010. Adobe had a really nice platform called Flash Builder (or Flex), an IDE built on Eclipse, mature, free, open-source software building blocks for building software fast, a virtual machine that could run on any major browser and operating system, and an exporter that converted Flash files to iPhone native packaged applications for deploying on Apple’s beloved AppStore. In fact, Adobe had 100 applications on Apple’s App Store presumably making Steve Jobs even more money.

Jobs is making an argument that shouldn’t be made. Flash left HTML a long time ago. It was never meant to replace HTML. It’s meant to augment the web, not declare itself “the web.” It’s a way for video producers to play video that just works and won’t be stolen. It’s a way for game developers to deliver awesome experiences to internet users. It’s a way for animators to deliver broadcast quality interactive entertainment on the web and finally, it’s a way for real software developers to write real software once and deploy it anywhere.

Is Flash dying? No, I don’t think so. It’s growing up. It’s not the same technology it was 7 years ago before Apple had a web-browser. Will we use Flash differently? You bet. Will I build software in HTML5? Sure – if the use-case fits.

And this is where I now stand; Beholden to a women I love who hates my best friend. No, not my wife folks, Apple Computer. And Adobe can’t seem to reframe the argument. This is about loving content creators. And letting them use the best tools they can find to allow them to compete with the giants of industry. That’s what makes the internet so special, and gives a little independent developer like me the chance to build something great.


  1. Pingback: The promise of Flash Platform revisited. :Media Greenhouse Developer Blog
  2. I should probably specify for the sake of clarity the difference between Flash and Flex. Flash is a runtime. It takes files with a swf file name extension, and displays flash content. This Is much like a web browser that takes HTML files and displays html content. Flex is software building blocks that make writing flash content easier. Much like Yahoo’s YUI JavaScript libraries for the browser.

    For that reason I think it’s important to throw Cocoa in the mix. Flex is written in ActionScript, YUI in JavaScript, and Cocoa in Objective-C. They are all building blocks on top of a runtime.

    So the question becomes which is the best tool to reach my target user base. To me it is useless to pit technologies against each other unless you have a context for use.

    For games, I would probably not choose Cocoa. If I wanted the game to live on consoles, apple idevices and pcs, I would choose unity3d or torque because their building blocks make it easy to build games for all of those platforms at once.

    When would i choose flash? For applications and games that I want to run on the Internet, social networks, and desktop pc/mac, and eventually non idevices mobile devices..

    When would I use html5? For websites and software meant to run in websites.

    As a developer I want tool and technology freedom to choose the best fit for the user. Let’s be honest, how many apps do we use in the safari browser? The iPhone/iPad is all about the AppStore and native apps.

    IMO, This is an issue of developer loyalty. As Steve stated Apple doesn’t want the meta framework standing between them and their developers because, as the console wars taught us, Games in exclusive agreements sell consoles. Unfortunately, Apple sells a lot of games built on meta frameworks like unity3d. It will be interesting to see how long Apple is able to play favorites.

  3. So to summarize (if I may), you’re saying that Flash – because of it’s history, the community support, the existing infrastructure, and the standard platform – is more ideally suited for web apps than HTML5, correct? Essentially, HTML (and HTML5 in particular) is a more generalized formatting of data and content that’s not as mature and is subject to the whims of browsers and how well they conform to the HTML standard, whereas Flash is designed from the ground up for web apps and has a specified platform from which to work that negates the differences between browsers?

    Sorry to chop your post down to something that probably doesn’t begin to cover everything, I’m just trying to simplify so I can understand better.

    If this summation is accurate though, wouldn’t the real differences between Flash and HTML5 be 1) maturity, 2) browser coding to meet standards, and 3) specialization?

    Seems like #1 would be addressed over time and #2 would, ideally, be a non-issue once the spec is finalized and browsers are coded to meet the standard fully (I know, probably wishful thinking on this one). That would leave #3, which would seem to be only a matter of determination. As in, “I’m going to write hundreds of extra lines of code/spend lots of extra time on this just to make it pure HTML.” Sure, I don’t see many corporations going that route, as it doesn’t make financial sense when there’s a cheaper, quicker option available. But I can certainly imagine folks who can spare the time and are absolutely consumed with the need for their content to show up in every browser, Flash or no Flash.

    Thanks for taking the time to respond Ryan, I really appreciate it – and all of you guys at Soma!

  4. In my experience, creating an HTML based Web Application (not web site) starts with the idea of cross-browser support and quickly devolves into single browser on single OS support.  Most of my experience over the last 10 years is for internal corporate software.  These are applications you would never know exist but breed like rabbits behind corporate firewalls.  This is where technologies like ColdFusion, Flash, and Silverlight thrive.  There is a keen interest by corporations with internal development teams to find a technology that can be deployed and used by all their customers.  Often these corporations have the power to mandate browser and OS.  In my case, the corporate standard for internal apps for many many years was Internet Explorer 5.5+ on Windows machines.

    I believe corporate environments find a solution like this necessary for a number of  different reasons:

    1. Limited Development resources and a significant need for custom software.  Development needs to deliver from a single code base on a mature rapid application development platform.

    2. Limited Quality Assurance/Testing resources.  Forcing customers to one platform means regression testing once rather than for each browser supported.

    3. HTML/Javascript Libraries are numerous and range in maturity, active community support, and are subject to evolving browser features and versions.  Frameworks and SDKs come and go.  To limit the risk of choosing a fly by night Software Development Kit.  Limiting support to a single browser means it is easier to create a home grown set of software building blocks that don’t have to be updated for browsers.

    4. Browser HTML standards historically have a poor track record of standards compliance among browsers.  And extremely slow adoption (4+ years).  I think that is part of the reason we are seeing a very slow death of Internet Explorer.

    This is where Flash comes in.  It is a mature Software Development Kit (4+ years) which has support by one of the largest Software companies in the world.  It has mature Integrated Development Environment tools which are essential for developer productivity.  It has a Mature Integrated Runtime (13+ years) that runs on 98% of internet connected pcs (including windows, os x and linux)

    HTML5 is not a Software Development Kit it’s not a rapid application development platform.  It is a specification for a document format, a specification for style sheets which dictate how the elements of the document look, specifications for apis to data storage, drawing apis and object models so that scripts can access individual document elements.

    Code must be written in the browser to make all this fanciness work on the browser, and code must be written by web developers against this standard to create mature software development kits that have all the hacks necessary to work on as many browsers as possible.  And believe me, browsers are not immune to defects.  Far from it.

  5. I noticed the same thing on the Fuzzy Wuzzy Fallacy and Flash Fence posts as well. Maybe double clicking the “Post Comment” button?

  6. I have no experience myself with developing for Flash, so I can’t say I fully understand the appeal of it, but I can certainly understand the benefits of only having to write code for something once, and having it accessible anywhere. I think this is the argument that Jobs makes with HTML5 though – that it’s the kind of write once, read anywhere thing that Flash used to be. Granted, it’s an incomplete standard at this point, but I think it’s close enough for general use and once complete, it’ll have the same level of portability that Flash does.

    I’m not entirely sold on HTML5 yet, so please don’t think that I’ve made up my mind about this already. But your arguments for Flash seem to be, essentially, that it simplifies the development process and allows a very broad audience to have access to your work – which wouldn’t necessarily be the case if you were coding for a specific OS. Is that an accurate summation? It would seem to me that, aside from learning the new bits and pieces of HTML that version 5 brings to the table, HTML5 does exactly that, doesn’t it?

    So I guess my real question is, what other benefits does Flash provide that HTML5, even in it’s finalized spec, cannot?

  7. Pingback: Twitter Updates for 2010-06-12
  8. Pingback: Tweets that mention Som(a)niloquy » The Lament of a Flex Developer -- Topsy.com
  9. Pingback: Som(a)niloquy » Coming Down Off The Flash Fence

Leave a Reply

Your email address will not be published. Required fields are marked *

Post comment