What a busy week.

Flash is dead. Sort of, but not really.

In case you haven’t heard, Adobe formally announced the discontinuation of Flash Player for mobile devices (“Flash to Focus on PC Browsing and Mobile Apps; Adobe to More Aggressively Contribute to HTML5“). Adobe employees struggled to come to grips with what has undoubtedly been a tough week for them — aside from the product news, they were also informed of massive layoffs (around Adobe 750 employees). Regardless of your feelings about Flash, your heart must go out to the families affected by a sudden job loss.

Flash critics were quick to declare Flash dead. But in the immortal words of Monty Python’s Eric Idle, “I’m not quite dead yet.”

Yes, Adobe is scaling back on Flash to focus more energy on so-called HTML5 technologies (“so-called” because many of the technologies involved are not actually part of the HTML5 spec.) However, their public announcement was that mobile Flash is dead, and Flash on the desktop will continue to thrive.

Flex is being abandoned

Then the “Official Flex Team Blog” dropped a bombshell: Adobe Flex is going open-source:

Yes. We know Flex provides a unique set of benefits for enterprise application developers. We also know that the technology landscape for application development is rapidly changing and our customers want more direct control over the underlying technologies they use. Given this, we are planning to contribute the Flex SDK to an open source foundation in the same way we contributed PhoneGap to the Apache Foundation when we acquired Nitobi.

Okay. Flex is being open-sourced. To be honest, this isn’t really shocking news to me since Flex has mingled with Eclipse for a long time and has had its toes in open source for ages. The part that made my jaw drop was in the next section:

Does Adobe recommend we use Flex or HTML5 for our enterprise application development?
In the long-term, we believe HTML5 will be the best technology for enterprise application development. We also know that, currently, Flex has clear benefits for large-scale client projects typically associated with desktop application profiles.

Given our experiences innovating on Flex, we are extremely well positioned to positively contribute to the advancement of HTML5 development, starting with mobile applications. In fact, many of the engineers and product managers who worked on Flex SDK will be moving to work on our HTML efforts. We will continue making significant contributions to open web technologies like WebKit & jQuery, advance the development of PhoneGap and create new tools that solve the challenges developers face when building applications with HTML5.

In the long-term, we believe HTML5 will be the best technology for enterprise application development. For those of you unfamiliar with Flex, it’s Adobe’s ‘enterprise-level’ Flash development path. Designers use Flash Professional and the timeline, while programmers use Flex and its pure ActionScript/MXML environment. This line is basically saying “see ya, Flex, was nice knowing you. We’re putting our best guys — the ones who weren’t laid off — on the ‘HTML5’ train.”

By extension, if Adobe is wiping its hands of Flex, it means they’re seriously scaling back support for the entire Flash ecosystem.

Whoa. The anti-Flash crowd really does have reason to celebrate. But not so quick, my friends: Support for the HTML5 environment is nowhere near Flash’s level of ubiquity, it will take a couple of years to get there, and even then, I doubt it will have the full capabilities Flash offers today.

But does it matter? Let me come back to that in a minute.

Silverlight is dead. Sort of, but not really

For now, lets turn our attention to our friends in Redmond, WA. While Adobe created this week’s loudest thunder, Microsoft made a few waves itself. If you recall, about a year ago one of Microsoft’s presidents (yes, they have more than one) caused a stir when he said “HTML is the only true cross platform solution for everything, including (Apple’s) iOS platform”. Microsoft quickly issued a statement backtracking from the implication that Silverlight was on its way out, and stressed their commitment to Silverlight.

A year later, the circus is back in town. According to some industry sources, Microsoft is planning to stop development of future editions of Silverlight; version 5 may be the last hurrah, except for security updates. Stop me if this sounds familiar.

However, this time around, the rumor sounds much more feasible because of Internet Explorer 10.

Microsoft’s Internet Explorer, that grand ol’ browser, is going through a major metamorphosis. In general, Internet Explorer 10 will behave less like its ancestors and more like Firefox and Webkit (Safari/Chrome). For example, IE 10 will not support Microsoft’s long-standing conditional comments. This is a big deal for web developers, as conditional comments have become a major crutch when dealing with Internet Explorer. But the biggest news I’ve heard about IE 10 thus far is that it will not support plugins — Flash, Silverlight, Quicktime, etc. — when running in “Metro” mode. Microsoft’s Windows 8 team believes that removing plugins from IE will result in improvements across-the-board: security, reliability, privacy, battery life in mobile devices, etc.

For the web to move forward and for consumers to get the most out of touch-first browsing, the Metro style browser in Windows 8 is as HTML5-only as possible, and plug-in free. The experience that plug-ins provide today is not a good match with Metro style browsing and the modern HTML5 web.

Running Metro style IE plug-in free improves battery life as well as security, reliability, and privacy for consumers. Plug-ins were important early on in the web’s history. But the web has come a long way since then with HTML5. Providing compatibility with legacy plug-in technologies would detract from, rather than improve, the consumer experience of browsing in the Metro style UI.

Plugins will still be supported in the non-Metro environment, but it appears Microsoft’s way of the future is Metro, and Metro is HTML5-based, with no plugins allowed, just like Apple iOS. Microsoft is clearly serious about leaving plugins behind, including its own Silverlight Player.

The analysis

Flash and Silverlight are not dead, but are being minimized by their owners. If you read the articles closely, you’ll see a pattern: both Adobe and Microsoft hope to port some of the technology from their plugins to the open web, aka the “HTML5 ecosystem”.

As it currently stands, browser technology and HTML5 ubiquity will take a number of years to catch up to the baseline capabilities of Flash and Silverlight. Even then, I doubt browsers will have some of the advanced capabilities Flash offers today.

The thing is, I don’t think most Flash developers take full advantage of Flash’s capabilities; they seem to use the same basics they’ve been using for years. The cutting-edge stuff is nowhere near as common as the mundane: video players, slideshows, and simple games.

Today’s editions of Firefox, Chrome, Safari, and even Internet Explorer 9 are massively capable browsers. JavaScript, canvas, and CSS3 can be used to replicate many of Flash’s features. The real question becomes: what are you trying to do?

Video

The vast majority of Flash usage appears to be for serving streaming video. HTML5’s video support is not quite ready to replace Flash in this regard, but it’s getting pretty close. The codec wars are the biggest stumbling block, followed by support for DRM and perhaps a handful of advanced features. If you have a simple video that doesn’t need DRM and can be served via two codecs (H264 and OGG or WebM), you can proceed directly to Go, collect $200.

Need to add some interactivity to your movie? Canvas and JavaScript can do an awful lot. Projects like WebGL and Mozilla’s popcorn.js are upping the ante. The future looks pretty bright for native online video.

Gaming

Flash-based gaming is another strong user base. My kids have been using NeoPets and similar sites for years, so I understand just how far and deep Flash gaming goes in our community. But some of these games are deceptively simple with their graphics, and I wouldn’t be surprised if Adobe’s HTML5 tools soon enable Flash game developers to port their games to the HTML5 ecosystem.

Apple’s iOS and Facebook have created big-money opportunities for game developers willing to switch gears to HTML5. We’ve already seen JavaScript/HTML ports of Nintendo games, including the best video game ever made: Super Mario Brothers. They work. They’re fun. Yes, it will take a long time to get market saturation, but HTML5 already has its foot in the door and a lot of money behind it — gaming is big business!

E-Learning

If you’re reading this blog, chances are good that you’re an e-learning developer. You probably also know that most major e-learning rapid development software outputs Flash SWFs. I can’t think of any industry aside from online gaming that is so utterly dependent on Flash at the moment. This has worried me for years — I’ve long preached that e-learning developers should be less reliant on Flash.

When Apple’s iPad was released without Flash support, the outcry from the e-learning industry was fierce. I also feel it was misplaced — it clearly showed the industry’s reliance on a plugin, and rather than focus on removing the Flash requirement barrier, many people chose to plant their feet in the ground and buy non-Apple devices as a form of protest. Some vendors, to their credit, modified their products (Raptivity, Lectora, Rapid Intake, etc.) to take steps away from plugin requirements and towards modern HTML5 experiences. (I admit I haven’t tried the HTML5 editions of these products yet, so I can’t speak to their quality.)

Don’t get me wrong, I’m not anti-Flash — anyone who follows this blog knows that I work with ActionScript and am a member of the SWFObject project team — I just think browsers plugins should be used sparingly, with decent fallbacks in place for people who don’t have Flash, such as video transcripts for people who can’t see the video.

My personal development approach has been to develop the course interface and base pages in HTML/JavaScript, and only use Flash when necessary, such as when playing a video or providing a software simulation experience. Now that native video playback is possible in modern browsers, it’s easy to go back and retrofit courses to use HTML5 video. Same goes for audio if you like to have narration in your course. Some situations, such as software simulations, are much trickier, but this is where we rely on tool vendors to improve their tools. For example, Adobe is working on enabling Captivate to output to HTML5 (it currently only outputs a non-interactive video version of the SWF).

Quizzes, fun interactions, and elegant slideshows are all possible with JavaScript today, even in lowly Internet Explorer 6. I have no idea why a simple course system like Articulate Presenter doesn’t provide an HTML5 publishing option yet… interactions can be handled via JavaScript. Narration can be handled via HTML5’s audio element. Quizzes can be handled by JavaScript (though I admit the security is not as strong when you can’t obfuscate answers via a SWF). Even Captivate should be farther along than it is, but at least they’re making progress.

Hopefully this week’s news about Adobe and Microsoft shifting gears away from plugins will help the more hard-headed among us in the e-learning industry to take a more active role in moving away from Flash and towards a true native web experience.


Comments

Chris wrote on November 15, 2011 at 12:32 am:

All the recent decisions by Adobe reflects that a proprietary system will not always meet the needs of the community, instead their own. In this case I believe its save money and give up an a huge investment.

The worst part about this is the horrible PR and damage to the flash player, it has grown distrust and doubt about its as a platform. Flash has always had the power of innovating independently. It has the ability to release designers from the standards of the web to experiment freely. HTML5 related technologies seem to be developing well however they are far from ready.

Adobe seems to have given up on innovating and decided to betray the rich and impressive history of the flash player to follow the hype of HTML5, very disappointing.

Phil wrote on November 15, 2011 at 2:49 am:

Thanks for the good article Philip, it's nice to get an elearning perspective on last weeks bombshell.

Like yourself I have been moving away from Flash for alot of things and have been experimenting with interactive objects in JS/html5 ( with mixed results ).

I feel last weeks news will aid the decline of flash on the desktop, there is a palpable and often misguided movement against flash (eg http://www.occupyflash.org/ ) which can only further the negative impact on the ailing platform.

In the near future to think alot of my target audience may refuse to install (or block) the flash plugin out of misinformed obstinacy is a worry . HTML5/JS just isn't ready to supplant the platform yet (In some cases it may never be)

Then we have all of the legacy browsers we have to put up with (JS may work on IE6-7 but its so so slow).

flex developers wrote on November 15, 2011 at 4:55 am:

Thank for sharing such a nice information…this blog really helps to flex developers

Yannick Warnier wrote on November 15, 2011 at 6:22 am:

Hi Philip,

Nice write-up. Just to complement a little, when it comes to playing videos, there are now pretty neat libraries that allow you to just define the video source and start playing in HTML5 or Flash depending on your browser's support (one example is jplayer.org).

On the other side, video streaming and video "enriching" is probably the two most important items that still make Flash interesting in 90% of "advanced web" applications. But even then, we're seeing advances in JS libraries (you rightfully mentioned popcorn.js).
There is still one issue in my opinion that has to be dealt with: recording video from your webcam. I haven't seen yet any non-Flash browser-based library that would allow me to record a video stream from my webcam. However, with the Chrome audio capture feature and the common webcam library in Linux for example, it seems like we're on the right path to get there sooner or later as well.

ethan wrote on November 15, 2011 at 9:37 am:

What gets me is the fact that the "future" with HTML5 and assorted other tech has us producing multiple video formats and audio formats to cover all the browsers, using a language that does not support classes or strict typing, and now have to deal with the fact that the browser makers are a source of fragmenting. It does not feel like progress to me when I have to right code to adapt to the fact that the browsers cannot agree to implement the specs the same way. WebGL looks like a dead end unless MS changes their stance on the security issue and Apple allows it to be used in iOS 5 beyond their iAd platform (why am I not surprised). Feels like we got rid of the "big, bad flash player" that is not "open" but consistent, for being at the mercy of browsers who are just fragmenting the web app landscape.

I'm all for changing and expanding if the tech is "better", more efficient, and has more abilities. I don't see this as that. It just looks like our dev time is going up to implement the same animations , simulations , and data management. Not even to mention the tech calls we'll get when a user loads up the latest release of Firefox (should be up to ver. 24 by 2013) that has some dumbass rendering/memory leak bug. From my view I think we'll probably have to focus on a couple of browsers for new "html5" content: IE10 for desktop and tablet when Win 8 rolls out and Androids' browser for tablets. Mobile safari may be on the table but we'll have to see the iPad penetration numbers in our clients networks.

I think internal elearning teams who build for their own users will have an easier time standardizing, the outside vendors who have to support the full spectrum will have a hard road ahead.

Kelly Meeker wrote on November 15, 2011 at 3:23 pm:

Thanks so much for explaining these complexities so clearly. At this point, the lack of reliable elearning standards is restricting the growth of the industry in general. We need elearning courses that will work on any device, in any OS in order for customers' interest and trust in elearning to increase. The quicker we can figure this out the quicker the industry can grow.

Similar Posts

6 Comments

  1. All the recent decisions by Adobe reflects that a proprietary system will not always meet the needs of the community, instead their own. In this case I believe its save money and give up an a huge investment.

    The worst part about this is the horrible PR and damage to the flash player, it has grown distrust and doubt about its as a platform. Flash has always had the power of innovating independently. It has the ability to release designers from the standards of the web to experiment freely. HTML5 related technologies seem to be developing well however they are far from ready.

    Adobe seems to have given up on innovating and decided to betray the rich and impressive history of the flash player to follow the hype of HTML5, very disappointing.

  2. Thanks for the good article Philip, it’s nice to get an elearning perspective on last weeks bombshell.

    Like yourself I have been moving away from Flash for alot of things and have been experimenting with interactive objects in JS/html5 ( with mixed results ).

    I feel last weeks news will aid the decline of flash on the desktop, there is a palpable and often misguided movement against flash (eg http://www.occupyflash.org/ ) which can only further the negative impact on the ailing platform.

    In the near future to think alot of my target audience may refuse to install (or block) the flash plugin out of misinformed obstinacy is a worry . HTML5/JS just isn’t ready to supplant the platform yet (In some cases it may never be)

    Then we have all of the legacy browsers we have to put up with (JS may work on IE6-7 but its so so slow).

  3. Hi Philip,

    Nice write-up. Just to complement a little, when it comes to playing videos, there are now pretty neat libraries that allow you to just define the video source and start playing in HTML5 or Flash depending on your browser’s support (one example is jplayer.org).

    On the other side, video streaming and video “enriching” is probably the two most important items that still make Flash interesting in 90% of “advanced web” applications. But even then, we’re seeing advances in JS libraries (you rightfully mentioned popcorn.js).
    There is still one issue in my opinion that has to be dealt with: recording video from your webcam. I haven’t seen yet any non-Flash browser-based library that would allow me to record a video stream from my webcam. However, with the Chrome audio capture feature and the common webcam library in Linux for example, it seems like we’re on the right path to get there sooner or later as well.

  4. What gets me is the fact that the “future” with HTML5 and assorted other tech has us producing multiple video formats and audio formats to cover all the browsers, using a language that does not support classes or strict typing, and now have to deal with the fact that the browser makers are a source of fragmenting. It does not feel like progress to me when I have to right code to adapt to the fact that the browsers cannot agree to implement the specs the same way. WebGL looks like a dead end unless MS changes their stance on the security issue and Apple allows it to be used in iOS 5 beyond their iAd platform (why am I not surprised). Feels like we got rid of the “big, bad flash player” that is not “open” but consistent, for being at the mercy of browsers who are just fragmenting the web app landscape.

    I’m all for changing and expanding if the tech is “better”, more efficient, and has more abilities. I don’t see this as that. It just looks like our dev time is going up to implement the same animations , simulations , and data management. Not even to mention the tech calls we’ll get when a user loads up the latest release of Firefox (should be up to ver. 24 by 2013) that has some dumbass rendering/memory leak bug. From my view I think we’ll probably have to focus on a couple of browsers for new “html5” content: IE10 for desktop and tablet when Win 8 rolls out and Androids’ browser for tablets. Mobile safari may be on the table but we’ll have to see the iPad penetration numbers in our clients networks.

    I think internal elearning teams who build for their own users will have an easier time standardizing, the outside vendors who have to support the full spectrum will have a hard road ahead.

  5. Thanks so much for explaining these complexities so clearly. At this point, the lack of reliable elearning standards is restricting the growth of the industry in general. We need elearning courses that will work on any device, in any OS in order for customers’ interest and trust in elearning to increase. The quicker we can figure this out the quicker the industry can grow.

Comments are closed.