The state of Flash vs. HTML5

The debate about Flash vs. HTML5 began over two years ago. It all started with a public letter by Steve Jobs on April 2010: http://www.apple.com/hotnews/thoughts-on-flash/

Where are we today?

Flash is still the default technology for most content designed for PC-based consumption… Facebook and other browser games are Flash and web video is still Flash in most cases as well. Although YouTube supports HTML5 i.e. most sites still don’t offer it by default due to the mess around the video tag and codecs. On YouTube HTML5 is in testing stage an default off. The video encoding systems would need to encode each video at least twice to support most common browsers. Google announced o drop support for H.264 in Chrome but never did it. Mozilla announced support for native codecs installed on your machine including H.264 but didn’t implement this so far. All together H.264 is a bad idea as it’s not an open standard (more: http://www.zdnet.com/blog/bott/h-264-patents-how-much-do-they-really-cost/2122) but it would be a common standard at least between popular browsers like Chrome, Firefox, Internet Explorer and Safari. HTML5 lacks vital technologies like adaptive streaming (live content), content protection (for premium content) and playback locking (for advertising) . Some serious work needs to be done to get this right  (more recent info: http://www.longtailvideo.com/html5).

Mobile:

On mobile Flash is dead and users suffer wherever there is still Flash. Android 4.1 Jelly Bean doesn’t allow an easy installation via the Google Play Store anymore (more: http://www.howtogeek.com/120277/how-to-install-flash-on-the-nexus-7-and-other-jelly-bean-devices/ & http://www.zdnet.com/androids-flash-player-is-dead-live-with-it-7000002668/). On iOS it never really existed except some hacks with running Flash enabled custom browsers but those never allowed to play Flash games i.e.

PC/Mac:

Some PC versions are dead or dying. It seems Adobe can’t keep up with the quality assurance anymore. The native Linux version that installs into Firefox has been abandoned in favor of supporting only the Chrome Pepper API plug-in on Linux (more: http://www.phoronix.com/scan.php?page=news_item&px=MTA2MDc). The native Windows version for Firefox suffers to from bugs like the protected mode problem that can be fixed manually by editing the config file of Flash (more: http://www.trishtech.com/internet/disable_adobe_flash_protected_mode_in_firefox.php) and even the Pepper API Chrome plug-in on Linux introduces nasty regression bugs breaking hardware video decoding and similar. The Mac version has regressive bugs like missing hardware decoding from time to time too. All together the variety of Flash versions is so vast that it’s really hard to keep track of them: http://blogs.computerworld.com/desktop-apps/20845/explaining-confusion-over-flash-versions

Apps:

In Apps Flash is behind the door usually except in Google Chrome Web Apps that can be simple links to Flash based websites. AIR is dead meanwhile as well. The AIR App Marketplaces always sucked (I had it on my WeTab) so it was no big loss. Windows 8 Apps can be either HTML5 or native. In Windows 8 Internet Explorer 10 comes with Flash but only white listed website can run it in the Modern UI mode. Only the Desktop mode allows to show every website in Internet Explorer 10. (more: http://www.infoworld.com/t/microsoft-windows/flash-windows-8-thats-just-part-of-the-story-194315 & http://blog.rabidgremlin.com/2012/10/11/did-microsoft-just-kill-flash-ie10-wont-run-flash-unless-your-site-is-on-a-microsoft-whitelist/?replytocom=2560).

The future of Adobe & HTML5:

Adobe recently announced their HTML5 tools called Edge that are more or less what I predicted more than a year ago (more: http://html.adobe.com/edge/) . To be frankly they are very late with that. I started using a web based HTML5 editor called Maquetta (more: http://maqetta.org/) that came out of IBM as an open source project long before Edge came out (more: http://maqetta.org/index.php?option=com_content&view=article&id=28:ibm-contributes-maqetta-to-open-source-community&catid=2:news&Itemid=9).

Conclusion:

In general I think content providers for video, browser game developers and the online advertising industry should get their asses up all together and invest massively in HTML5. Operating system makes should focus on making HTML5 as fast and snappy as possible to prevent App developers to go native on their Apps like Facebook recently (more: http://hughewilliams.com/2012/09/27/why-facebook-shouldnt-have-dumped-html5/). The W3C and individual company lobbyists looking after the HTML5 standard should stop fighting about dumb codecs i.e. and finally agree on the best option. JavaScript and CSS should get some overhaul too. If I see how difficult it became to do easy things these days or how inconsistent and immature JavaScript still is I wonder how HMTL5 App developers manage to write complex web applications like browser games using that technology (not to mention browser compatibility issues). There is a long way to get rid of Flash ahead of us but in the end it’s worth it. Things are changing and Steve Jobs was absolutely right.

More thoughts on Flash vs. HTML5

I started a video tutorial training at lynda.com on HTML5 as I’m getting more and more impressed by the new possibilities of HTML5 and CSS3. Yesterday during lunch I ran into a hot discussion about Adobe Flash vs. HTML5 with a colleague who is a former Flash developer, just as I am … I have been a bit more on the designer side but stopped working with Flash about the time MX came out. So we both are not using Flash actively anymore although I have to check FLA files from time to time and got recently into the Flash-Video topic at work as I supported a project related to online advertising and video. Moreover I had a Flash CS4/ActionScript3 training a few months ago at work so I got up to speed regarding the latest features and capabilities of Flash. A good starting point for an intense tech-discussion! 🙂 I also learned about the possibility of creating Flash projects without actually buying Flash by using FlashDevelop. So basically a hardcore developer can’t tell you anymore that he doesn’t get into Flash because for him it’s an ugly piece of 2D animation software and you can’t say that it’s a matter of money what you chose. There are many aspects of the discussion like the speed and reliability of Flash on mobile devices or older machines (Apple picked that up and banned Flash) and if you are more a designer who wants do do animation or really code stuff from the scratch.

In the end I think there is a fight going on to win the hearts and minds of developers (this article comes to the same conclusion: http://techcrunch.com/2010/02/05/the-future-of-web-content-html5-flash-mobile-apps/)… Flash, Silverlight and HTML5 are awesome frameworks for great web content but the question for me is: why should I build HTML5 sites that look and behave different from browser to browser where I can have a cross-platform-plug-in like Flash that renders them the same way everywhere? Is it because Flash is a proprietary technology (I know that Adobe claims the opposite) and HTML5 is an open standard driven by W3C, whatwg.org, Apple, Microsoft, Google and some other companies ? For sure it is but what has Adobe done wrong that would make people switch? Has it been abusing their market position? The answer is NO in my opinion. They never made people register for downloading the Flash player or tried to abuse their dominance too much. Microsoft provides with Silverlight an extremely powerful toolset… but yea, it’s from Microsoft so nobody really trusts them (I recently tried out their new Expression… pahh! Forget Adobe Dreamweaver! This is much more powerful for only-CSS-based-websites).

I’m very curious where the trend goes but there are indications about an end of the “Adobe vs. Apple” war. Apple now allows apps to be compiled in Flash for example: http://www.reghardware.com/2010/09/09/apple_ios_runtime_green_light/

So maybe Flash, HTML5 and Silverlight will peacefully co-exist in future. People who always used open source like PHP will probably support HTML5 and everyone who used to work with Flash like media agencies will keep it and Silverlight? Not sure but there must be someone using it 😉 I keep learning HTML5 and CSS3 just as I enjoyed learning Adobe Flash AS3 … and right now I’m downloading Microsoft Visual Studio Lightswitch Beta 🙂

One thing I forgot about… once HTML5 gets finalized the Flash vs. HTML5 debate will be over. Everyone will learn HTML5 instead of HTML4 or do you know someone who still writes HTML3 and embeds Flash for the advanced stuff? The question won’t be: “will HTML5 replace Flash?” but “now that I know HTML5 why should I use Flash?”. Consequence: Flash must get better (probably much better) to survive once HTML5 becomes a final standard.

Useful info on Flash vs. HTML5:

http://remysharp.com/2010/02/08/html5-vs-flash/

http://www.ludamix.com/archives/2010/02/entry_5.html

demos:

http://websatisfactionpr.com/projects/websatisfactionpr/index.php?option=com_content&view=article&id=131:html5-demo&catid=51:tips&Itemid=18

http://www.mygeekpal.com/276/working-with-html5-the-future-of-web/

Apple’s iAd & Adobe Flash

Ok, Flash has always been slow and Apple just didn’t want to have something like that on a mobile device like the iPhone or iPad. That’s their official version but I think there is more behind it. Right, it’s slow. It never had true hardware acceleration (10.1 is introducing that btw – on the PC) and you had to optimize the ActionScript code to make things fast and memory saving. Recently I had a training on ActionScript 3 and learned a few things about optimizing code and making it efficient. It’s tricky as many other things in ActionScript. Sometimes you just have to abandon some ideas like alpha tweens and rotations here and there in order to make your swf run smooth. Also keep in mind that a poorly programmed Flash file might eat up your battery by doing nothing like looping something that doesn’t need that.

In my opinion the introduction of iAd mobile brings a new aspect to all what Apple said about Flash. I don’t think it’s only the technical problems it caused and that Apple didn’t have resources to develop their own Flash player. It’s because most display ads are built in Flash and Apple wants their App developers to integrate iAd and NOT something else that would be probably based on Flash. Imagine Steve Jobs presenting the iPad to the press and showing the website of the New York Times and suddenly a wrongly build display banner ad tries 1. to download several megabytes of data and thus slows down the loading of the page content and 2. it animates in a way that Flash is using 100% CPU time. Gosh! That would be a disaster. In my job I deal with display advertising and such CPU-eater ads are nothing uncommon. Dual or Quad-Core CPUs handle them better than Single-Core CPUs but a mobile CPU like the A4 of the iPad can’t handle such things I guess. The out-of-specs ads downloading several megabytes of data are sadly something I see nearly on a daily basis. Agencies and advertisers force publishers to run them with the argument that they can’t size them down to preserve quality and they go elsewhere to spend the money if they can’t run them. The largest ad that I have ever seen downloaded a video of 20MB via “polite download”… OK, polite is designed optimize the loading order (first the page content then the ad) but someone with a limited data plan doesn’t want to spend his money on downloading ads!

I think that all together pretty well justifies Apple’s refusal of Flash!

Steve’s introduction of iAd: