I think we pretty much all agree that flash is dead on mobile. That includes iPad, iPhone, Android, and so forth.
On the desktop, it's a bit of a different story. Chrome supports Flash on Linux quite well. Internet Explorer also has Flash baked in. There is some whitelisting if you are in "tablet mode"-- or so I am told. It seems like for a normal computer you should be able to turn off tablet mode, though.
I wish Mozilla had put some effort into contributing to Gnash or swfdec. There really wasn't, and isn't, a good flash decoder that isn't derived from Adobe's codebase. All the ones that exist now are toys. I have a feeling that this effort will be no different. I hope I'm wrong.
I wish I had a dollar for every time someone wished that Mozilla did more anti-leveraged work in the past.
@supercoder's point about skating where the puck used to be has truth in it, and we do not aim to over-invest in Flash via Shumway now (and we avoided it before; perhaps we should have done more, but the only temporarily-winning effort I know of was Chrome's, which required a business deal with Adobe and a tremendous amount of engineering effort on Google's side).
On the other hand, as Jet Villegas's blog post points out, we also uplift the web and smooth out uneven APIs and performance curves by researching Shumway. If Flash requires some greater JS performance, or some API gap to be filled, Shumway is the most direct way to find out. It's well within Mozilla Research's ambit, and not backward-looking, to explore this space.
Finally, if we can deploy Shumway as a previewer and reduce actual Flashplayer plugin instantiations greatly, with as good or better user experience in terms of jank, CPU utilization, battery life, etc. -- and with some black-video-frame-of-death saves on my iPad, should Shumway be supported there -- that helps in the coming years as Flash lingers on in the "desktop web".
But make no mistake: the growth curve for mobile devices and the lack of Flash there will kill Flash. All those restaurant sites that sunk their discretionary web content development budgets in Flash years ago? They are re-investing rapidly to work on iOS devices. I don't see Flash rallying on desktop, or even via Air on Android.
Add this all up and I believe Shumway can avoid the forever-a-toy status. Flash is proprietary tech, in spite of SWF being opened up in recent years. Its single main implementation code is its spec. This hurts when the single implementation is evolving rapidly, but as that implementation slows down and (outside of Air and games, let's say) declines, the 90%-coverage "toys" become real tools, with the right integration.
This could have applied to Gnash or swfdec in the past, but at significantly higher cost, not only in direct engineering costs and opportunity costs to web-perf/API-uplift, but also in securing yet more piles of native VM code.
I seriously believe that Shumway is a very cool research project to demonstrate what is possible in modern browsers. But I just want to highlight a few things:
1. You mention that this can help in terms of CPU utilization, battery life, etc.
Would be great, still today, the very simple (non AS3/vector based) Racing game (http://mozilla.github.com/shumway/examples/racing/) you are running through Shumway requires around 70% of CPU usage on my MacBook Pro against 11% with Flash Player. A game which would consume even less in Flash Player if it used AS3 and simple bitmap blitting techniques. Yes, JS performance will improve, and efforts like River Trail are promising, but we are still far from that, I am a little worried we are setting the wrong expectations here.
2. The restaurant websites.
Yes, there are a lot of these restaurant websites using Flash. And to be fair, they should never have used Flash for that. But you are right most of them are porting these to HTML and it works nicely. But fortunately Flash on the web is not used for restaurant websites only, especially games. Today Flash Player is used to power 9 of the top 10 Facebook games with content like FarmVille 2, CityVille, Kings Road, Ruby Blast, Angry Birds targeting around 30 million daily users are powered with Flash Player using Stage3D and without Flash, we would all be playing Racing games like the one mentioned earlier. Or maybe faster games, but with NaCl in Chrome only? ;)
3. You don't see Flash rallying on desktop, or even via Air on Android.
Thanks to Stage3D, AIR is actually becoming more and more serious for game developers. Most developers wanting to develop games on desktop, iOS and Android are facing big issues when it comes to fragmentation and AIR solves that. All the mobiles games here http://gaming.adobe.com/showcase/ are using AIR.
1. CPU utilization will get better. We have a lot of low-hanging fruit yet to harvest (eg. the playerglobal built-ins aren't JIT'ed yet as we dogfood the interpreter.)
2. Facebook games running Flash are still a huge % of crashers for all Flash-enabled browsers. We'd like to help that. As browsers like Chrome sandbox away Flash's ability to be faster than the browser (i.e no more direct GPU access on Pepper) then Shumway becomes much more attractive, especially on mobile platforms for which there is no Flash Player.
3. SWF as a packaging format for app store deployment is a pale shadow of what we set out to do when we started working on it years ago. SWF could still outlive us all (like JPEG, HTML etc.) Shumway may well be the best bet to keep it alive.
2&3. I did write "(outside of Air and games, let's say)". Did you miss that?
See also Emscripten, which produces GC-free well-typed JS. We're also working in Mozilla Research to show Emscripten + JS can competes on performance, and excel on reach, with alternative single-browser and proprietary approaches.
1. Ok, thanks for the info. Just tell people, cause people will get defensive otherwise.
2/3. Yep, I missed that. Fair ;)
Yes, I have been following Emscripten and it is promising. No doubt clearly on the excel on reach just some remaining doubts on the performance and CPU/battery usage.
If you guys truly want to have this valuable, also make sure the entire system is consistent, like Flash, and not just in Firefox.
As I said, it is a neat research project, I will keep watching Shumway grow :)
On the desktop, it's a bit of a different story. Chrome supports Flash on Linux quite well. Internet Explorer also has Flash baked in. There is some whitelisting if you are in "tablet mode"-- or so I am told. It seems like for a normal computer you should be able to turn off tablet mode, though.
I wish Mozilla had put some effort into contributing to Gnash or swfdec. There really wasn't, and isn't, a good flash decoder that isn't derived from Adobe's codebase. All the ones that exist now are toys. I have a feeling that this effort will be no different. I hope I'm wrong.