Login | Register
Everyone to their bases - Flash is under attack!

Everyone to their bases - Flash is under attack!

YouTube is testing video delivery using the HTML5 draft and the Open Standards crowd says Flash will die. The iPad will not support Flash and tech journalists make bold headlines and proclaim the death of Flash. A Javascript experiment plays back Flash files and bloggers proclaim Javascript is the new Flash. Apparently the Flash platform is under attack these days but what else is new?

I've really enjoyed the last weeks buzz in the community, but I'm getting somewhat tired of it. The Open Standards crowd is in awe by the first public tests of video playback based on the HTML5 draft. They quickly proclaim that Flash video is dead especially since Flash now can be played back with nothing but JavaScript! Several Flash community members and Adobe evangelists rush into defense positions and write articles about how much better Flash video is and how important it is for video on the web.

Then after Apple presented their new consumer tablet, the history repeats this week as well. Robert Scoble even went so far as to ask Can Flash be saved? And yet again evangelists and others start posting about how the iPad needs Flash and why the lack of Flash will be it's demise. What's wrong with this picture and why all the fuss?

HTML5 and video

The combination of HTML/CSS/Javascript has come a long way and it certainly competes against Flash when it comes to web applications. Solid frameworks make it easy to craft applications and the tooling is also coming along. HTML5 is the Open Standard that will take this to the next step, but it's not exactly a walk in the park. HTML5 is the work of a committee and this makes it hard to keep momentum. The expected acceptance of HTML5 is in 2022 but parts of it will be usable by 2012. You can check the current implementation status on whencaniuse.com.

The video tag in the HTML5 draft will make it possible to play video with any browser and YouTube are now testing this. The standard for the video tag is apparently a mess so the testing is limited to Chrome and Safari. It's all a question of what video and audio codecs to use, but Google could solve the situation. They recently acquired the company ON2, the makers of some of the best video codecs available. Google could easily solve the clutter by opening up the ON2 codecs to the HTML5 standard. As one of the two video codecs in the Flash Players is licensed from ON2, this could help Flash moving towards an Open Standard as well. The ON2 deal is not yet finalized but is expected to go through mid February.

These are just a few of the problems related to HTML5 and even when finalized it won't kill Flash in any way. Even if VP8 is contributed by Google to the HTML5 standard, it'll be far from a "killer" as Flash can do so much more than just web apps and video.

Apple and the iPad

image

Apparently, Apple doesn't see Flash as part of the "Open Web" and Steve Jobs even elaborated on this recently. Even if the spec for creating SWF files is open and anyone can make their own Flash Player as well as authoring tools, Flash is not open. It's a "standard" driven by a single company. Controlling this standard has enabled the innovation that others feed off (ref SilverLight) but I don't think it's this lack of a standard that holds Apple back. Apple has several good reasons for not allowing Flash onto their platform.

Flash breaks a very basic rule on the iPhone, namely the iPhone SDK Agreement point 3.3.2 explicitly prohibits the installation and execution of interpreted code. This prevents not just Flash, but all other similar architectures such as Java and Silverlight as well. The reasons for this are many, but it boils down to user experience. iPhone and iPads will end up with users that don't know anything about computers. Providing support cost a lot of money and since Apple is controlling all the code, they can fix anything that is wrong themselves. Imagine if there was an error in the iPods that required customers to call Apple for help? Apple has sold 250.000.000 of these...

Some claim that allowing Flash will put a nail in the coffin for Apple's App Store since there will be a flood of free Flash based games. I don't believe in this scenario at all and I also think it's a good thing that the iPhone OS does not support Flash.

Flash on devices has never been a success and the reason is simple. To get decent performance on a tiny device, one needs to go to a lower level than Flash has been capable of up until now. If the iPhone got Flash support, everyone would hate Flash since it was so slow on their device. When native applications are so much faster, everyone would understand that this can't be Apple's fault. My iPhone is slow enough without Flash and while sporting a slightly faster processor, it will be the very same case with the iPad. Flash Player 10.1 is the first solid implementation for Flash on Mobile devices but it's no silver bullet. You'll still have to develop specifically for low specification devices, so don't even think about doing advanced things like Papervision and Away3D. The same goes for the CS5 export to iPhone OS. It requires extreme care to get decent performance, so don't think authoring for the iPhone will be just a click on a button.

While iPhone users will get to see a lot of blue LEGO bricks, this can be solved. Well written detection code can display alternate content such as an image with a link to the App Store where you can download the alternative iPad/iPhone version. Popular Flash games such as Farmville is bound to take this route and Flash developers should already be used to provide alternate content. This is of course more expensive, but the market is certainly there. The iPad is not a device for the average programmer, it's a device for their parents that don't care about how hackable something is. They just want something simple to solve their limited needs.

The iPad is the first computing platform that could really go mainstream as I could teach my mother in law how to use it in just 15 minutes. Not only that, but she'd even remember how to use it the week after when her grandchild calls her up to tell her that she should check her email to see pictures from their latest concert. If something crashes on this machine, my mother in law wouldn't know what to do and she'd be afraid that she had broken something. I trust it's true that the Flash Player is involved in many of the crashes on a Mac. After all, my browsers crash every second day as well and Flash is almost always involved. Preventing crashes and hiding the effects from this is an absolute must for a device targeting this audience.

To Flash developers it's of course sad that so many people can't enjoy what they've created, but the Flash Player can't be the solution to everything. It's just a tool that has phenomenal capabilities / reach and as developers we should choose the right tool for the job and not try to bend our tools into solving every task. Learning to program for the iPhone OS also offers Flash developers something Adobe can't give them (yet) - a proven way to monetize their content through the App Store.

Javascript based Flash Players

image

The Open Standards crowd was wowed another time last week when Tobias Schneider released his Flash Player written in Javascript named Gordon. This is a brilliant tech demo that kind of brings Flash to the iPhone, but emulating a plugin with Javascript is no more than a cool tech demo. The project supports a feature set so small that it compares best to the FutureSplash Player (even before the name Flash Player was first used in 1996). The Javascript implementation only works in select browsers so yet again this is hampered by the browsers poor cross-platform capabilities. It's a very fun and impressive project, but it'll never become a Flash killer.

Flash is always under attack and it's doing better than ever

Flash is a solid runtime packed with features. Video is just a single feature in a massive API that Flash developers can use. Deploying Flash applications offers full cross platform support (Windows, OSX, Linux, Ubuntu) and with 94% distribution of the latest player, more or less everyone can view what you have created. The Flash Player is found in so many other places than just desktop and portable computers. It's even used for the dashboard in Jaguar and Tesla cars.

While HTML5 will be both exciting and a great tool when it's finally adopted by all browser vendors many years ahead, it still won't offer standard Flash features such as streaming live video, webcam access, realtime bitmap filters and blendmodes, synchronized audio playback or a solid platform for making advanced applications such as games, audio editors, image manipulation software and much more. The Flash community has massive amounts of solid Open Source APIs and countless blogposts with advice and examples that makes development easy. Adobe authors solid tools for the Flash platform, but they are also creating tools for HTML5 development. While it's certainly possible to make games with HTML and javascript, it's a far cry from the experiences you can make using Flash. HTML5 will not kill Flash. Not today and not tomorrow.

image

Microsoft's Silverlight is the only real competitor to Flash in terms of features. It's not as widely distributed, but it's a very capable runtime that will be adopted by many customers in the years to come. Currently there's very few websites/experiences made with Silverlight, but it's increasingly popular as a way to deploy applications in businesses that have already invested in Microsoft technologies. Flash developers should be glad that Silverlight came along as it both confirmed web applications as important to businesses and it provides much needed competition for Adobe. Competition is good for Flash as it pressures Adobe to keep innovating.

The Flash Player may not be an Open Standard but this has enabled innovation that others can just dream of. Adobe is not sleeping on it's laurels. In 2009 alone, we got such new features as Pixel Bender, Text Layout framework with solid font support, Dynamic sound generation, Audio recording (AIR), Local file upload and download, Peer2peer connections and much more.

Flash Player 10.1 will offer Flash playback on a long list of new devices and while Adobe would love to add Apple to this list, it probably won't happen anytime soon. This is just fine! If the iPhone could play Flash files, everyone would say that Flash sucked. Millions of Flash files that are not optimized for mobile devices would play back terribly slow. It's unlikely that Flash developers all over the world will run to clients they had ten years ago and get acceptance for making iPhone versions of old projects.

Controlling the user experience is the Alpha and Omega for Apple. They have the source code for the entire OS, so they can fix anything that is wrong. On the desktop, the Flash Player has long been the only piece of software that is part of the OS that Apple does not control. If the Flash format became an Open Standard, Apple could make their own Flash Player that tapped deep into the system APIs for greater playback speed. Could this happen?

Making Flash a Standard

Flash is already a standard due to its widespread use, but it's controlled by Adobe as opposed to an open committee (though they probably have that within Adobe as well.) This has enabled fast paced innovation for many years, but it has also made it difficult to turn Flash into a real Open Standard. Adobe isn't making money from developing the Flash format or Player. They make their money from the tooling around the runtime and Adobe has no monopoly on this. The SWF file format is open and there are more than 1000 applications that can export to the SWF format. Adobe is already competing against these and you are now free to make your own Flash Player (To use the Flash brand name you need Adobe certification.)

It's not unlikely that Flash may become an Open Standard in the near future but there's at least two obstacles: the Fraunhofer MP3 codec and the ON2 VP6 video codec. These are licensed technologies that you just can't drop as this would break a lot of Flash content. Adobe could maybe pay their way out of the first and Google holds the key to the second as they will soon own ON2. While theoretically possible, it's not very likely that this will happen soon. It's more likely that Adobe will keep innovating and that the others will follow as best they can.

In other words, if you're a Flash developer - the future has never looked brighter! Now can we all please keep calm and stop bashing Apple for not supporting Flash on the iPad and get back to producing great content using a great runtime?

About Jens C Brynildsen

Jens has been working with Flash since version 3 came out. Since then, he's been an active member of the Flash community. He's created more than a hundred Flash games (thus the name of his blog) but he also creates web/standalone applications, does workshops and other consulting. He loves playing with new technology and he is convinced that the moment you stop learning you die (creatively speaking). Jens is also the Editor of this website.

Next article:
FITC 2010 Amsterdam - Day 1

Previous article:
Adobe and Omniture

Get new stories first

Click to follow us on Twitter!

 

Comments


Posted by terjeruuda on 02/03 at 12:54 AM

The future certainly looks bright!

Great and refreshing read, Jens!


Posted by adampasz on 02/03 at 02:24 AM

I keep hearing it bandied about how Flash crashes everyones’ browsers, but I never hear any evidence to back up this claim.  I’m a Flash developer, I surf the web plenty, and I almost never experience browser crashers.  True, there are some apps. that eat up CPU, but for the most part they’re doing sophisticated rendering. 

I propose, to the people that are so upset about Flash crashing their browsers, how about starting a public list of links?  This would help create a more constructive discussion by identifying what sort of Flash apps. are causing crashes, and also bring problems to the attention of the app. creators and Adobe.  I would start the list myself, but honestly, I almost never get browser crashes from Flash.


Posted by leebrimelow on 02/03 at 10:56 AM

Awesome post Jens. Thanks for helping to get the other side of the story out.

I totally agree that Flash has always been under attack by someone. The anti-Flash crowd is very good at doing mass commenting on blogs and news sites. It’s important not to let that “noise” make you think that things are worser than they are.

As for Flash crashing on the Mac, that is true that it happens much more than on Windows. But the reality is that ALL plugins crash on the Mac. Flash has the highest number because it is obviously used MUCH more than any other plugin. I’m not blaming this all on Apple, but their OS is not a plugin-friendly environment.

We’ll have more details soon. But thanks for rallying the troops!


Posted by Jens C Brynildsen on 02/03 at 11:17 AM

@adampasz We discussed this at our last Flash UG meeting and it is apparently true like you say that Flash never crashes the browser on some machines. This is however not true for all machines. About half the UG attendees got crashes like the ones I link to below.

I’ve uploaded a small batch of crash reports to http://www.flashgamer.com/a/JC_Flash_Crashes.zip in case you want a closer look and as you can see from this picture http://www.flashgamer.com/a/Console.png my crash logs are dominated by Adobe software. The crashes in ADL (Adobe AIR) are usually caused me doing something wrong but the rest is real crashes.

I don’t know why it is different from machine to machine, but based on my own experiences I have no reason to doubt it when John Gruber writes that Flash Player is involved in a solid share of the crashes. This does not mean that the crashes are entirely Adobe’s fault, but it’s still something that Apple don’t want on devices made for “everyone”.

Starting such a list isn’t a bad idea at all, but these logs are sent straight to Apple. If Apple don’t share these with Adobe, they obviously cannot fix what caused the issue either. Let’s hope Adobe has access to these reports!

J


Posted by Jens C Brynildsen on 02/03 at 11:49 AM

@leebrimelow True. CoolIris actually crashes my Safari more often than the Flash Player does but it’s not a very distributed plugin at all.


Posted by adampasz on 02/04 at 12:51 AM

Jens, thanks, this is great info.  I’m glad to hear you’ve been so proactive about looking into this.  I wish Adobe would do more to lead the charge…

For the record, I use Firefox, not Safari most of the time.  That probably has something to do with why I don’t see many crashes.


Posted by mwille64 on 02/04 at 01:23 AM

I do not believe that running older not mobile device optimised flash applications are the problem. It is easily possible to identify whether a Flash application is mobile device optimised. And if the latter is not true today it would be easy to implement such validation.

I use mainly FireFox as a browser and rarely IE and Chrome. Whilst all do crash from time to time, FireFox crashes at most ones or twice a month and I can’t see any particular link/relation to running Flash apps in the moment it crashes. So taking into consideration that I’m a Flex/Flash developer, it is hardly worth to even mention that there are indeed browser crashes.

Of course I have a Windows (7) based system and not a Mac!

So the question is, does the Flash Player on Macs crash because of the bad implementation of the Flash player plug-in for Safari or Safari being a badly implemented browser (or both) or is it because Apple isn’t much interested (for whatever reasons) in getting its acts together with Adobe to make the thing work properly on Apple devices.

I just feel the latter is the truth. I might be wrong.

On the other hand it looks like as if there is more progress being done with Flash Player running on Blackberry devices. I really hope this will soon become reality as it will

1) proof whether mobile devices can run optimised Flash apps sufficiently fast and stable and

2) put some pressure on Apple to open its mind about Flash for iPad and iPhone

Last comment: I too believe that HTML5 will not be a replacement for the Flash Player, at least not in the foreseeable future.


Posted by mwille64 on 02/04 at 01:34 AM

I just feel I need to make another quick posting and bold statement for which I proably get fired…nevertheless…

If the Safari browser crashes because of whatever bad developed plugin is running in it, then the Safari browser and the underlying OS is the first to be blamed.

Ultimately a plugin should be shielded enough not to crash the underlying browser.

My understanding is that Apple actually decided to build in such functionality in the Safari browser to finally shield the browser, selling it as a bold move to protect the Safari browser from unstable Adobe software. That is of course just the usual marketing fog to hide the Safari’s short comings and a problem that should not exist in the first place.

Just my 2c


Posted by Jens C Brynildsen on 02/04 at 09:53 AM

@mwille64 The best I’ve read on this is this article: http://daringfireball.net/2010/01/apple_adobe_flash

In brief: OSX and the Safari browser is full 64bit but it has to retain a 32bit sandbox subsystem running in a separate thread since Adobe does not offer a 64bit plugin (as do few other plugin vendors). Adobe has 64bit for Linux in the works though, so an OSX version should be on the horizon.

I’d guess that this approach has less with Adobe to do and more with being practical about things and not breaking things that already work. After all, if Apple really didn’t like Flash they’d probably not distribute the player with their OS in the first place?

J


Posted by Skiller on 02/04 at 11:11 AM

Great article, Jens, and one of the few one can call very fair, unbiased and balanced. Makes you a good journalist after all. ;-)

Best regards
C.


Posted by Izitmee on 02/11 at 09:40 AM

There’s one thing I believe should be added to this discussion: let’s not forget that many Flash Players’s crashes are due to Flash/Flex content developers.

Flash development needs a lot of attention towards memory management, and many developers forget to behave accordingly (clearing events when destroying objects, minding their loops, and so on), leading to development related crashes. Also, a lot of the SWFs you find online are cumbersome debug releases, even if sometimes there’s totally no need for it.

It’s true: Flash has tons of bugs. But most of them are known, and though this is not an excuse for a buggy player, I believe the browsers crash issues would be a lot less serious if more Flash developers were more scrupolous :-)

Kind regards & a nice day
Daniele


Posted by inntoon on 02/24 at 02:44 PM

I think your technological assessment is wonderful. However, I think blocking flash is a business decision as much as anything.

Much of Apple’s hardware is simply a portal to one of their stores. The iPhone leads to the app store and, along with Apple TV, to the iTunes store. The iPad will connect to the iBook store - and that’s a reason the iPad is a giant iPod instead of a touch-screen laptop.

As enticements to purchase a direct link to do business with Apple, you get a crippled but still fairly useful web browser and access to some pretty engaging content. Allowing flash in the browser at any speed would allow third parties to create competitive alternatives that slice into Apple’s pie.

What will be interesting to see in the second half of 2010 is how many great content options, enabled by Flash and other technologies, appear for Android and other non-iPhone devices. Consider also that Apple is now practicing draconian censorship and Disnifying their offerings to the disdain of a web community that has always valued its freedom.

If flash and open content options persuade enough people to abandon the iPhone platform, Apple will be ready with faster processors and some sort of content rating system to recapture their attention.

For now, they have a profitable monopoly and it’s a face-saver for them to bash flash instead of proclaiming that customers are subservient to their own greedy business interests.

Dave Bricker
http://www.davebricker.com


Posted by salvync on 03/15 at 12:53 AM

It is disappointing to know that the Ipad is not going to support flash.  I started learning flash and I think is an amazing application.

Submit a comment

Only registered members can comment. Click here to login or here to register