Adobe’s controversial decision to dump its Flash plugin for mobiles

Adobe’s controversial decision to dump its Flash plugin for mobiles
Adobe’s controversial decision to dump its Flash plugin for mobiles
Web developers are angry with Adobe.

Emotions are running high in the world of professional web design and development, with words such as “shambles” and “betrayal” in common use. This anger is directed at Adobe’s controversial decision to dump its Flash plugin for mobiles. Fellow RWC columnist Kevin Partner summed up these feelings in a recent blog post:

“The irony is that it isn’t Steve Jobs’ famous hatred of Flash that has caused this turnaround – the true villain of the piece is Adobe itself. By abandoning development of Flash for mobile, it eliminates Flash as an option for most websites... Farewell Adobe. Delete.”

After years as a Flash-based developer, Kevin will save himself a lot of money by ditching it for the open standards HTML, CSS and JavaScript. This is serious stuff: designers and developers who built careers around Flash have had their skills rendered worthless, and livelihoods are on the line. Unlike Adobe, these folk still believe in Flash.

Certainly, Flash can be abused in irritating banner ads; it annoyingly asks to be updated twice a week; and (like JavaScript) can crash the machine if poorly coded. However, the widespread prejudice that it’s an unnecessary hindrance to the smooth running of a browser-based web is wrong. Flash has enriched the web enormously with vector graphics, bitmaps, audio, video, interactivity, communications, programmability and now even 3D – today’s web would be unrecognisably poorer without it, and so will that of tomorrow.

The fact that Flash delivers all of this functionality via a browser plugin is actually its greatest strength. Adobe’s Allan Padgett discovered how to make Acrobat Reader render PDFs directly inside Netscape, showed this to Jim Clark and the Netscape Plugin Application Programming Interface (NPAPI) was born, enabling browsers to reserve onscreen space for content rendered by any compliant plugin.

Soon all browsers supported the cross-platform NPAPI, and player-based delivery became the norm: add a new function to the plugin and it’s immediately available to all web users regardless of CPU, OS and browser (and even backwards-compatible with the oldest NPAPI-compliant browsers). Contrast this with the glacial pace of HTML/CSS/JavaScript development, where designers deploy any new capability only after the slowest browsers and users finally caught up.

Ironically, the biggest beneficiary of this plugin revolution wasn’t Adobe, with its ability to render PDFs in the browser, but Macromedia, which could render Shockwave Flash (SWF). The reason that isn’t widely understood: NPAPI doesn’t only support rendering chunks of static content, but can also stream content through a persistent connection.

Macromedia broke free from HTML’s static page-based handling and brought the web to life with streamed content and, better still, such content was automatically protected because it was rendered on the fly and couldn’t be saved. Flash became central to professional web design and the natural extension for HTML. Usage exploded and the Flash player became the one plugin everyone installed. With penetration approaching 100%, developers could assume its presence – almost unnoticed it became “the world’s most pervasive software platform”, with greater reach than any individual browser or operating system.

Macromedia realised that it owned the universal online runtime, and decided to bring to the web the sort of interactive computing experience you could only then get on a desktop PC. In 2002, it released a white paper by Jeremy Allaire that floated the idea of the Rich Internet Application (RIA). Flash would no longer merely extend HTML pages by embedding multimedia content: the player would become the “rich client” supporting standalone, browser-hosted applications that enabled users to do stuff, not just see stuff.

A RIA could be anything from flipping an online magazine page to a virtual shopping mall, from videoconferencing to word processing. This up-shift from add-on to rich client was a major undertaking, and extending the web into a ubiquitous computing platform would step on some important and sensitive toes. Macromedia needed far more serious backing and, after failed talks with Microsoft, in 2005 it was acquired by long-standing rival Adobe.

Adobe extended Flash’s capabilities into its Creative Suite, the open source Flex framework and Flash Builder IDE. In 2008 it launched the Adobe Integrated Runtime (AIR), which made it possible to run Flash-based RIAs offline on a desktop PC.

Nothing but the web

After Adobe, the company most interested in making the web into a universal computing platform was Google. The ability to work well with plugins with improved security, standardised rendering and separate execution was central to its own Chrome browser – features that Google made available to other browser developers via its Pepper Plugin API (PPAPI). It even merged the Flash player directly into the Chrome runtime. The web itself was going to become everyone’s computing platform, and current heavyweight operating systems such as Windows and Mac OS would effectively become redundant; with data and applications handled in the cloud, the OS was needed only for loading the browser and the rich client.

In late 2009, Google announced plans for Chrome OS – a stripped-down, web-only, cloud-focused operating system aimed at netbooks, desktop PCs and a new class of handheld, touchscreen devices called tablets. By the time Google finally released its promised “Chromebook” in June 2011, response was muted. The advantages were clear enough: low-cost and maintenance, fast boot-up, security, and ubiquitous access to your cloud-based content that was easy to share with collaborators and was automatically backed up. The problems were just as clear: who in their right mind would choose ugly-looking and underpowered web applications over smooth, fast native desktop apps?

But this is to miss the significance of that rich client: if I were to use a Chromebook, I wouldn’t use an HTML-based application such as Google Docs; I’d use a Flash-based RIA such as Adobe’s own free Acrobat.com suite (Buzzword word processor, Presentation graphics, Table spreadsheet, Forms Central and ConnectNow web conferencing). Acrobat.com is far from perfect, but it demonstrates the potential for streaming advanced applications. But what about applications with serious data and processing requirements? Surely you can’t do something such as an online Photoshop in Flash? Well, yes and no: check out the Photoshop Express Editor from Photoshop.com (it’s free) and you’ll find it surprisingly powerful for consumer-level photo editing. I can readily imagine a future version becoming Pro capable.

Never forget that your local device doesn’t have to do all the processing; all the heavy lifting can be handled remotely, and all the rich client need do is to stream onscreen activity from that server via a live connection. Do you really believe that your PC can render a 3D animation faster than Google’s, or Adobe’s, or any other cloud-based provider’s server farm? This idea of Software-as-a-Service (SaaS), where application providers carefully balance server-based number crunching against rich client-side rendering was the long-term dream of the rich cloud. Even the most demanding supercomputer applications are thinkable as RIAs.

The web needn’t be a lowest-common-denominator experience, which is the case with current HTML and JavaScript-based web apps. The fundamental difference between a thin client and a rich client is that the latter promises the best of both worlds: server-based processing power delivered via a lightweight, design-rich front-end. It makes as much sense to share multimedia data, applications and processing power via the rich cloud as it did to share paged static information via HTML.

This revolution looked unstoppable, because another great advantage of plugin-based computing is that it’s immune to sabotage by competitors. When Netscape and Java first raised the possibility of the web as a platform, Microsoft famously responded with Internet Explorer and its strategy of “embrace, extend and extinguish”. That wasn’t possible with Flash because Microsoft couldn’t do anything to break Adobe’s self-contained, universal plugin – if it couldn’t stop Flash, its only option was to provide a superior alternative.

The result was Silverlight, a beautiful system built around the truly rich (and open!) mark-up language XAML, which enabled Microsoft’s army of Windows desktop developers to seamlessly translate their .NET programming skills into the development of powerful RIAs for cross-platform, browser-based delivery. Forget about Acrobat.com and imagine a cloud-based, Silverlight-delivered version of Office, and SaaS versions of every other Windows application. Silverlight revealed another strength of plugin-based delivery: truly open competition. Content producers could choose between Flash or Silverlight, according to their respective design and development strengths, but their end users didn’t need to make any choices at all, since both plugins (and any others) could happily co-exist.

With two competing rich clients, the stage was set for the web to reach its full potential, and Google, Adobe and Microsoft were all fully signed up to this vision. So were all the other major OEMs such as RIM, Samsung and HTC, via the industry-wide Open Screen Project that committed members to support Adobe’s new Flash mobile player and AIR with all their future mobile devices...

The death of the rich client

One man had other plans. Steve Jobs wasn’t ready to see his mobile devices turn into vehicles for rich cross-platform computing, capable of supplying the same sort of rich content and applications as his own native iOS apps and, hence, depriving his platform of its USP and exclusivity (and his App Store of its 30% margin). In the longer term, why would Jobs want the open web to turn into a rich and open cloud? What was in it for Apple?

Unlike Microsoft, Apple makes computer hardware, so what would be the future for Apple if the cross-platform web became the computing platform of the future? Steve Jobs’ visceral hatred of Flash wasn’t at all because it was “yesterday’s technology”, but precisely because it was “tomorrow’s technology” – and it could destroy his empire. Having watched his first lucrative walled garden demolished by Adobe – when it made its Mac-only publishing and graphics applications available under Windows – Steve Jobs knew that he needed to act fast.

When Jobs posted his carefully crafted “Thoughts on Flash”, and made it clear that the iOS platform and the iPad were never going to support plugins, it must have felt like a sweet revenge. At a stroke he killed off Google’s chances of turning the Chromebook into a serious competitor, and rendered worthless all the money and effort Microsoft had put into developing its cross-platform Silverlight. I can’t help imagining that, as he hit Send, he too may have been saying “Farewell Adobe. Delete.”

But isn’t this getting a teeny-bit paranoid? After all, it’s the man’s right not to support plugins if he doesn’t want to. Why personalise things this way? More to the point, if the future was so much brighter with Flash and Silverlight, why didn’t those other companies just stick with their vision, out-compete Apple and let the free market decide the matter? When even Adobe gave up so quickly, surely that demonstrates that Steve Jobs was right?

I still think of my PC as belonging to me rather than to Steve Ballmer, and I think that all interested parties should be able to – and be encouraged to – make software to run on it, and that it should then be up to me to decide which of that software I run. Flash-blocking by individuals shows freedom of choice in action, but a blanket ban by a device manufacturer shows the exact opposite. This must be one of the most extraordinarily anti-competitive acts in history.

As for the argument about “letting the market decide”, I wish it were that simple. I did hold out hopes that the lack of Flash support may hit Apple commercially, and that it would be forced to rejoin the cross-platform consensus on which the web was built. I even think Adobe might have continued with the mobile Flash player if Microsoft had announced support for both it and Silverlight within Metro. However, I can also understand how Microsoft looked at Apple’s business model and realised that killing off both rich clients in Metro and opening its own app store made far more financial sense.

What about Android? Why didn’t Adobe keep the faith there and at least keep the Flash flame burning? It’s this betrayal that has made developers such as Kevin Partner so angry – but sadly, I think that Adobe was right. When it comes down to it, the web is universal or it’s nothing. If Apple unilaterally decided to drop JPEG support, we’d all have to shift over to GIFs. Now that it’s dropped support for SWF, we have to shift to HTML5 and SVG and the video formats, where we can. Ignoring iOS simply isn’t an option. Killing off Flash in the browser is the last thing Adobe wanted to do, but it’s right to recognise the inevitable, and responsible to take the lead.

The universal cross-platform web plugin model had many strengths, but Jobs uncovered its hidden and catastrophic flaw: as soon as one platform refuses to support it, the plugin and its functionality is immediately rendered useless for everyone. This idea of not supporting any plugins should have been unthinkable, was unthinkable; but once he’d thought of it, Jobs knew that it couldn’t fail.

I recognise that Steve Jobs did far more in his life than ban Flash, but my anger and admiration is indeed personal. There was only one man on the planet who could possibly imagine taking on the rich cloud dream and wrestle the web genie back into the bottle. There was certainly only one man who could pull it off and still be revered as a saint – imagine what would be happening now if Steve Ballmer had announced Microsoft was unilaterally ceasing to support a web technology used by more than two million designers and developers, by more than 80 of the top 100 sites, and more than 99% of end users.

What’s happened has happened: Apple has won and the professional web community has to face the new reality. So is it farewell to Adobe?

There’s no doubt that many thousands of developers, such as Kevin, will decide that now is the time to move on. Ultimately, though, the mission of making both the web and computing experiences as rich, powerful and personal as possible will continue. Without mobile delivery, Flash SWF has limited long-term prospects in the browser, and the cross-platform future belongs to HTML5 online, and AIR offline. Adobe is still best placed to provide the tools (and to use SWF to provide continuity and backwards-compatibility). Adobe may have been mugged and hospitalised, but AIR and HTML5 are a new exciting territory in which I believe the company will survive and thrive.

What has died is a beautifully simple, all-purpose, universal rich web format for extending what HTML pages can do. With the death of both Flash and Silverlight in the browser, we’ve also lost a live, direct and untaxed connection between content producer and content consumer. Why should we pay 30% to Apple, Microsoft and Google for native apps that would actually run far more efficiently in our browser?

The biggest loss of all is that long-term dream of supercomputer cloud power delivered directly to cheap, secure, simple and personal rich clients. We may have been given “the web in our hands”, but we’ve been deprived of the rich cloud.