Contact
Search
Essays
« Have tracing JIT compilers won - notes | Main | The Real Value of an Internship »
Thursday
Feb042010

Where is Flash going?

When you roam the online forums and look at the reaction of the iPad not having Flash, you can see two distinct camps. People are either angry because they can't use Flash or happy to see Flash not installed. Now with the iPad and the iPhone dominating the mobile market, more than ever, people are predicting that Flash will die.

In some cases, the concerns are absolutely correct. The example everyone is using is video - and I personally agree that Flash should not be the dominant video player. Video should be an open standard because it's so integral to the web. It is in the HTML5 spec so that any browser implementor can play video. You're going to want to use HTML5 for video, for if not ALL video, at least most. Same with a few animations. Flash should die as the de facto video player. But the death of one application does not mean the death of a whole platform.

If you look at Flash as a ubiquitous video player only, it really is all downhill. The real problem is that the platform almost hit 100% ubiquity. What's so sad is that once you hit 100%, you can only go down and that's what's overlooked. So yes, Flash will probably decline, but death? If Flash remains on 80% of all browsers, that's still a very impressive and quite alive platform. What Flash really needs to do then, is move away from playing video and displaying annoying ads, to becoming a platform to build applications.

This brings up the question of whether or not there is room for Rich Internet Applications and extra plugins in general (Flash, SilverLight, Java FX, and Google Native Client). I don't pretend to be able to accurately predict the future, but history tells us developers are going to want to do something that HTML/AJAX/CSS can't do. That's why plugins were invented in the first place. All Adobe can do is make something awesome and try to court developers. So who will want to use Flash to build applications?

Most web developers don't seem to care. One argument for Flash is that it streamlines the whole web application development workflow from start to finish. You don't need to mess with HTML, JavaScript, CSS, PHP, SQL, etc. However, this has been the case for a while and you still don't see that many developers jumping onto Flash, SilverLight, or Java FX. The pain of so many web technologies, of dealing with all the browser incompatabilities, isn't painful enough for people to jump aboard any of these plugin systems. The quality of developer tools don't seem compelling enough either. SilverLight's whole ecosystem is lightyears ahead of Flash's, yet few people jump to SilverLight. As a whole, web developers just don't want to deal with plugins unless they absolutely have to and only then they use Flash because it's installed everywhere. While the use of plugins in general will decline, the first choice will still be Flash.

What about the big mobile web growth? There are mobile versions of web applications and there are native apps. There is a clear want for native applications on phones. The big elephant is the iPhone and it's descendants (iPod touch, iPad). While it doesn't support Flash, there is a hack around in Creative Suite 5 to have Flash applications on the iPhone. Every other phone will have native Flash. Near ubiquity on mobile platforms is a compelling case. Unlike the web where you have three main rendering engines (IE, Gecko, WebKit) that are all trying to implement some standard (IE 6 doesn't count), all the cell phones are completely different. Writing an application for a BlackBerry is completely different from an Android device. The "write once, run anywhere" may be worthwhile on mobile and that's also where growth is. I can see many developers saying it's nice that I only have to write three types of applications instead of a billion: A normal web app with PHP, HTML, etc, an iPhone app, and an everyone else application in Flash. At least it stops at three.

Lastly, the market Adobe targets are the designers and content creators. Adobe's products let content creators focus on making content, not coding. Designers should not have to know anything at all about code period. Only the more advanced users, who want to do something that can't be done in the regular toolset should have to look at code. Then they should have the ability to tinker with it. As long as Adobe focuses on letting content creators create, Adobe wins. Adobe makes money off tools with no clear competitors. There is nothing out there that says Adobe can't have two buttons on all the designer tools: publish to HTML5 if thats all they need. If they want to do something HTML doesn't support, have a "Publish to Flash" button. I actually see this being an amazing selling point.

When you look at Flash as a pure video player and if the world revolves around the iPhone, it does look like Flash is starting the slow spiral to irrelevance. Realistically Flash is probably not going to remain the dominant video player, but it is going to be on everything but the iPhone - quite a big difference than death. The real question then, is what new areas will Flash be used in, and will it be awesome enough to attract anyone? As a partial Flash VM developer, I find it quite interesting. It frees me to start looking at markets that Flash may never have been used in before. Server Flash? Can it compete with PHP or ASP.NET? Can I install it on my TV and play some games? If Flash isn't constrained to annoying ads and a video player, where could it go? How does Flash give content creators awesome ways to display their great work in a fluid manner? That's a much more interesting question than asking "how can we save Flash?".

Other Opinions:

Random Notes:

  • Tamarin is the virtual machine inside Flash. The VM is all open source.
  • Most of the Tamarin team develops on the mac. I'm the weird one who uses Windows.

Disclaimer: I am a part time intern in Adobe's research lab (not product! I have no idea what product is doing.) working on the Tamarin VM. I'm also a student which lets me do things that may not be practical from a business perspective. All thoughts expressed are mine and mine alone (I'm sure there is some bias here). They do not represent Adobe or Adobe's position on anything. I don't have any insider knowledge nor influence as to what Flash is going to be doing. And no I was not asked nor paid to write this post by anyone at Adobe.

PrintView Printer Friendly Version

EmailEmail Article to Friend

Reader Comments (5)

An insightful post.

I think of software in terms of 'worlds' or platforms and there are first class players in a world and poor relations.
The iphone world has first players in Objective C and Cocoa api's. HTML 5 is a poor relation - but getting richer. Flash - in the cold.
In Chrome/ChromeOS - HMTL5 and ECMAScript are first class things. Flash is a poor relation.

I'm surprised that Adobe didn't try to make Flash/Actionscript a first class environment on mobile platforms. That is the whole api of the module device is exposed to ActionScript api's. Something similar to Android but with Flash replacing the Java/Darvik layears. If it was done well it could have made money out of licensing. And developers would have got on board.

If Actionscript could find it's way into Chrome - with Dom access - via native client - it could give Actionscript/Flash a new lease of life.

February 4, 2010 | Unregistered Commentertom

Hi Tom,

The idea of first class citizens is an interesting idea. In the world of HTML, Chrome OS, I concur. Flash is a second class citizen, as are all plugins. However, I don't think having ActionScript accessing the DOM is a good solution. If you want to play with the DOM, use JS. Like you said, Flash is a poor relation if you view it as a plugin, but I do think it can be a first class citizen for other applications.

Adobe is trying to make Flash a first class thing on mobile. 10.1 exposes a lot of those things - (http://labs.adobe.com/technologies/flashplayer10/ - "New mobile-ready features that take advantage of native device capabilities include support for multi-touch, gestures, mobile input models, and accelerometer bringing unprecedented creative control and expressiveness to the mobile browsing experience. Watch Flash Player 10.1 video demonstrations that show SWF content running on smartphones.".

February 4, 2010 | Registered CommenterMason Chang

Mason, thanks for the update on adobes mobile planes.

I was thinking something along the lines of Adobe MoblileOS - where the linux kernel of android is reused and the ugly java/darvik layers replaced with actionscript/flash. So actionscript becomes a first class player on the platform. And if actionscript could access the DOM then an "integrated first class world" would be offered. Quite similar to Adobe Air - but owning the platform! Air is currently a poor relation on the various pc platforms - and the action has moved from PC platforms to mobile platforms - phones, touchpads, tablets etc.

There is no great love for java and javascript out there - and Google can't seem to make it's mind up between the two. A cleaner language - actionscript - which is fun to develop in - and has complete power over the platform would be cool. At a higher level than Objective C. The Adobe Mobile OS platform would need to be slicker than android with better tools if dev were to go for it and operators willing to pay licences.

February 6, 2010 | Unregistered Commentertom

Flash runs on Samsungs Bada OS. But what strikes me is that Bada is offering C++ api's for native apps - not a runtime Java/Darvik layer as with Android. The Bada C++ framework api's look well designed.

February 15, 2010 | Unregistered Commentertom

Hmm, I'm not sure I'd like native C++ apis. As much as everyone hates the app store, I kind of like it. I would hate it if my phone crashed because of some buggy program. I guess we'll have to see if this problem occurs on Android.

We also have to see if Adobe's strategy to push out AIR across all the mobile OS's will work. It's exactly what you're talking about Tom.

February 17, 2010 | Registered CommenterMason Chang

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Post:
 
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>