Correct me if I'm wrong, but it looks like other browsers are free to implement the "pepper" API as well. It seems as though they are not saying "we're only supporting Chrome". They are saying "Chrome is the only browser that has implemented Pepper so far, and we're only supporting Pepper on Linux".
If the Adobe blog post is correct and the pepper plugin is only distributed with Chrome and isn't open source and part of Chromium then how is another browser going to support it? They'd have to tell you to install Chrome and then open the plugin from within Chrome's installed directory. Pretty ugly solution.
If it's open source and part of Chromium then they can at least take the source out and ship their own, assuming the licensing allows for that and is compatible with their license.
All in all, this sounds like a pretty complex scenario for non-Chrome browser.
Not Chrome, they can't it is not open source. They could switch to Chromium, which could presumably run flash, but it is not clear how you obtain it if only Chrome will distribute it. Presumably they will have to distribute it as they say they will ship security updates, but that is unclear, as Linux flash does not auto update from Adobe.
Except that other browser users won't be able to acquire Flash Player without installing Chrome:
the Flash Player browser plugin for Linux will only be available via the “Pepper” API as part of the Google Chrome browser distribution and will no longer be available as a direct download from Adobe
> Because of this work, Adobe has been able to partner with Google in providing a “Pepper” implementation of Flash Player for all x86/64 platforms supported by the Google Chrome browser. Google will begin distributing this new Pepper-based Flash Player as part of Chrome on all platforms, including Linux, later this year.
It says that the plug-in will be bundled with Chrome, and Adobe have said they won't be releasing more Flash players for Linux, but the announcement does not even hint whether a stand-alone Pepper plug-in will be available from Google. I hope the Chromium blog will clarify this in due course.
I guess Adobe might forbid Google from developing a plug-in, but I don't see why they would want that, seeing as they have been distributing plug-ins for years. If Google could but didn't, that would make them look unsupportive of Chromium.
If I understand things correctly, there are actually two things going on:
1) Adobe is effectively stopping work on Flash for Linux on their end; it's just not worth it to them.
2) Google is going to support Flash for Linux for Chrome specifically. They can do this because they have access to Flash source and because the Pepper version of the plug-in is much more cross-platform than the NPAPI version, so the support effort is not too great. Given that they already ship a modified Flash, not the stock one, it's not that big a difference from what they're already doing.
So I think you're wrong; even if other browsers implemented the Pepper API, they would also need source licenses from Adobe or would be dependent on Google to get the Flash plug-in.
Apple and Mozilla have already stated that Pepper is entirely redundant with ongoing standardization efforts and even counterproductive to them. So why is Google pushing it? Answer for yourself.
Apple's initial third-party app system in the iPhone was web-based.
While WebOS stuck with the open technologies, the next Apple phone introduced closed-source binary application as the main third party extension platform. If WebOS could make the open web technologies work as primary development method on a phone, why did Apple go back to the installable programs of the last century?
Google's Pepper is at least open standard with an open implementation, while I don't have any way to run iOS apps on any other platform than those tightly controlled by Apple themselves.
Strangely, we can look to Microsoft for providing an open standards HTML5 based version of an app like "Cut the Rope": http://www.cuttherope.ie/ -- imagine if iOS devices ran HTML5 apps well and this game (which sold 3 million copies on iOS!) was HTML5 from the start. You could run it on the iPhone or any Android device or your desktop right from the start.
I get the feeling this isn't going to be that much of a problem. I've not got the flash plugin installed in Firefox and I'm not finding any great hardship these days.
Perhaps it'll kill Flash a bit quicker considering the amount of Kiosks and Internet cafes running Firefox+Flash on Linux.
Or just maybe any improvement makes Flash usable on Linux without crashing the browser. People might actually start enabling Flash on Linux if that happens.
I don't find Flash crashing my browser on Linux too often, but it crashes itself pretty regularly.
Plus the older hardware I run Linux on can barely show a 288p Hulu video, with lots of stuttering, even though the machine can play videos twice that resolution flawlessly in any of the native video players.
I've used Chrome since it was available for Linux and I've never once had Flash take down the entire browser. In fact, I can't say I've ever had a Flash crash at all in Chrome. Funny enough it crashes rather frequently in Firefox (still doesn't crash the browser itself though...)
Right, it's obviously dependent on a lot of factors. Apple wouldn't even support it on the Iphone. For general users it may work well enough with the right environement, but I use Linux for development and I have little use for Flash compared to the relatively big impact that it has on system resources.
This might be more of a problem for FreeBSD than it is for Linux; at the moment, one can use flash on FreeBSD via linux firefox and hackery. I'm not aware of a way to use linux chrome as yet.
Check out FlashVideoReplacer [1]. It replaces videos with your browser media plugin or can launch it in a separate player. I use it with gecko-mediaplayer and love it!
You still be able to use flash 11.2 and receive security updates for another 5 years. Unless there is going to be massive progress for flash (which we already know there isn't) this isn't really news. They are basically saying if there ever is a flash 12 it will not be supported on linux.
That hasn't been true for a very long time. Just using the linux flash plugin with nspluginwrapper on a native firefox has been the preferred method for flash on FreeBSD for several years now. I have not yet tried to use the linux chrome plugin with a native chromium, but that may also be a possibility now or sometime in the future.
You must not watch many videos in your browsers then outside the odd one on Youtube. The reality out there is that Flash is still the main choice for delivering video. Flash is a necessary evil. It may be dying but for many it's still necessary and its removal from Firefox removes significant usability for its users.
I watch plenty of videos and I've never had a problem with the big streaming sites delivering h264 versions. The only flash videos I still encounter are on older, lightly, maintained sites or sites that just download flv files.
And if iPad sales are any indication I don't think it's as big a deal as you make it out to be.
The iPad includes H264 support, as does Chrome. Firefox doesn't (and neither does Chromium, does it?). So this does screw anyone over who wants to watch H264, which really is the majority of video on the web.
People won't serve you HTML 5 video unless you impersonate a mobile device. It's still a problem if you don't want to change your user-agent every time you visit a website and just cross your fingers that they think you're mobile and therefore serve up HTML 5 (and as others have pointed out, often in a format that non-Chrome won't play anyway).
Right, YT is one among a handful of exceptions that serve HTML 5 to a desktop browser. That doesn't really change the general argument -- almost all sites are not going to give HTML 5 video as an option to desktop clients.
The real reason it'll not be much of a problem is that the current Flash 11.2 plugins won't spontaneously disappear when the next version gets released. Indeed they'll have 5 more years of security updates.
So the only thing non-Chrome-using Linux users will miss out on are things that use the new features of Flash introduced after that date.
That makes sense. I was starting to wonder if this was the end of flash for Mozilla on major websites like YouTube, but 5 years is a really long time for support. Hopefully, we'll see an emergence of widespread html5 use by then and not have to worry about having proprietary web technologies working.
I run ArchLinux, use Chrome, and have the flashplugin-prelease installed. This is version 10.0 of Flash. Because this plugin is out of date Chrome will disable flash on all websites I visited that use Flash. It would then show a little bar at the top indicating that my flash plugin is out of date and therefore disabled. If I wanted to run Flash anyway it gave me the option to run it for the current page. I noticed that I rarely ever want to run flash unless i'm specifically visiting a youtube link. I really think this "Run Flash for current page" functionality should be the default though. I like having the option of turning on flash only when i absolutely want it. If I just keep running the older versions of Flash I can continue getting this desired functionality.
There's no reason to run an out of date flash plugin. You can enable click-to-play for flash in the chrome settings. It's in the content settings area of the "under the hood" section I believe.
Click-to-play isn't friendly to music streaming services which use 1px flash player for their music.
Flashblock plugins are ridiculous by requiring you to blacklist or whitelist flash domain instead of web domain. The former happens to be on CDN and suddently you can't do it :(
http://www.balsamiq.com is a popular software among people doing wireframes. The Desktop version is based on AIR (and it's the only reason why I've installed AIR on my Mac).
Yeah, most Linux users either have Flash enabled for the family and hate it or they don't install it. This is a tiny market. Nobody else will care. Linux users already didn't care. Nothing to see here.
I think Adobe is nuts to be so hostile to its Linux users. Surely it can't be that expensive to continue developing the old plugin? The thing Flash had going for it was its ubiquity: it worked on all (desktop) browser. Now that that's gone, this will be another good reason not to have new projects depend on Flash.
Adobe has always been this hostile to Linux users. It hasn't seemed to had much of a dent in their success.
Meanwhile, Flash is dead, it just hasn't stopped kicking yet. It's been a long decade, but many people will be cheering it and kicking the corpse when it finally shuffles off to the great /dev/null in the sky.
So, Google agreed to make Flash on Linux available only via Chrome? Damn...
But, if major Linux browsers implement Pepper API, on the other hand it will mean that we (the users) won't have to bother installing (deb/rpm/etc) packages every now or then. Maybe it will turn out better.
On the whole I don't think this is evil. More of a lateral move, morally.
I can't imagine what Google hopes to accomplish with this since Flash is currently circling the drain, relevancy-wise, but if it does anything to hasten the move away from using Flash at all, then it's a plus.
So Google is not evil because forcing Adobe to remove flash support from other 'vendors' browsers is actually a good thing? Basically Google knows best and anyone who thinks that they might actually want to continue to use flash on Linux in a non-Google browser (or at least without installing Chrome) is wrong?
This looks like the sort of heavy-handed monopoly activity that made Microsoft so great.
It's possible that Adobe were intending to cease all Linux-based browser support and Google prevented that by buying back Chrome support; in which case Google has slipped in their PR big time.
I think it's reasonable to assume that Adobe wants to kill Flash on GNU/Linux, but can't yet do it for Chrome due to some engagement with Google. If this is really their intent, they are going to have much more trouble justifying a kill operation on other platforms.
Given that it took them something like 5 years to make a 64-bit version, I would imagine that Flash is such a mass of spaghetti code that, yes, they did find Linux too hard.
Google has a nasty habit of developing some technology in a dark room, then dropping it on the web community and being confused when no one is that interested (Dart is the other big example). It makes me wonder if they really want these projects to be cross-platform successful or not.
Adobe is dropping linux support after 11.2. With the except of Chrome due to a new API that "aims to provide a layer between the plugin and browser that abstracts away differences between browser and operating system implementations."
Given that linux really hasn't been a priority for them and they are dropping flash all together; this isn't really news.
The press release says Adobe worked with Google on Pepper. So for them to have a bias towards it isn't groundbreaking.
From the press release it seems NPAPI is OS dependent while Pepper is less so.
This all assume there is actually going to be something more than security updates after 11.2 for other platforms. And that it is going to be something we would want on Linux.
>This all assume there is actually going to be something more than security updates after 11.2 for other platforms. And that it is going to be something we would want on Linux.
There will be updates and they will be desirable in Linux assuming people continue creating Flash content that makes use of the new features: http://news.ycombinator.com/item?id=3621096.
>From the press release it seems NPAPI is OS dependent while Pepper is less so.
Correct. The NPAPI version of Flash is very platform-dependent; whereas Pepper Flash is almost completely platform neutral, and Chrome OS needs most of the same Pepper platform bits anyway. So, our maintenance overhead for Pepper Flash on Linux is very small. On top of that, Linux is broadly deployed throughout Google (and is very popular among Chrome developers), so we're scratching our own itch a bit.
Flash provides a lot of hardware abstractions, from H.264 accelerated video, to webcam and microphone access, and accelerated 3d (openGL) rendering. Does the Pepper API provide wrappers for all this stuff? Otherwise it would seem that Flash for Linux would still need to carry a lot of platform-dependent plumbing.
If you read the responses from Chrome engineers on that thread you'll see why a new API was necessary. The requirements and guarantees of your API fundamentally change when you move it out of process for sandboxing and stability. Naive approaches lead to awful performance, deadlocks, or the need to poke massive holes in your security architecture. After a few engineering years of trying to make NPAPI work, it became clear that the result was so different and banned so much of NPAPI that a clean break was the only correct approach.
I think the responses from the other browser manufacturers were pretty convincing. The problem, if you read the thread, was not that NPAPI was sufficient. The problem was that Chrome wanted to reinvent all sorts of APIs that already existed in the Web platform. They ignored that issue and did Pepper anyway.
This is what I meant by "naive approaches." Take your example of Pepper API layer versus NPRuntime. When you try to use a sandboxed NPRuntime plugin you hit a hard performance wall with synchronous dispatch overhead. You also introduce huge potential for deadlocks that can be very difficult to detect. This isn't the kind of thing you notice in a simple simple proof-of-concept or casual discussion, but it becomes painfully obvious when trying to implement a real-world plugin.
So extend the Web APIs to handle this. You don't have to do synchronous calls.
Robert O'Callahan talked in that thread about the potential for extending the capabilities of Web Workers to allow the kind of things you want to do to be done asynchronously. I know I'd love to have the ability to render to a 2D or 3D canvas context in a Web Worker, for example (the kind of thing that sandboxed plugins want to do), but all the effort that could have gone to that went to this weird plugin- (and NaCl-)specific API instead.
It's kind of sad, because I would like to use these APIs in my web content, but I can't. The cynic in me would say that it's because Google wants to push NaCl. I don't want to program C++ to get access to these goodies; I want to program in CoffeeScript.
What are you talking about? Are you suggesting that Adobe provide an implement Flash via Web APIs and Javascript? We're talking about the challenges of having a plugin interface for Chrome and how NPAPI is limited/flawed and you're suggesting... Web APIs?
Maybe I'm really confused because I don't understand.
The proposal that roc and smfr put forth is this: Native code could call Web APIs, slightly tweaked for the benefit of native code and to satisfy the security/isolation guarantees that Chrome wants to enforce. These same APIs would have JavaScript versions, so that ordinary Web content could use them as well. For example, the same asynchronous 3D command stream API that Pepper exposes would be available to Web Workers.
"I do agree however we want to keep Pepper APIs in sync with existing Web APIs. That will obviously be a challenge if they are not one and the same, but I don't think it is impossible or even that difficult to achieve with them being separate APIs."
This has already failed. Web Workers cannot render even 2D content asynchronously today, while Pepper can (which advantages plugins and NaCl over ordinary Web content). This is exactly the problem that roc and smfr were trying to avoid.
I don't think that Darin's example, of an <embed> tag being untouchable by Web content, is an insurmountable problem. In fact, I think this is exactly the kind of thing you want JavaScript content to be able to do -- high-fidelity JS versions of PDF and Flash would be great. And the issue of Web Workers and audio APIs needing shared memory is a Chrome problem (because Chrome puts each worker in a separate process), but not a problem for browsers generally.
Also, the argument that "it's an existing plugin, you don't want them to rewrite their code" doesn't hold water. It's an entirely new set of plugin APIs. Adobe has to rewrite its code anyway. It's just that the other browser vendors wanted the Web as a whole to benefit from this, not just Adobe.
PPAPI is a platform for plugins to safely port existing native code, and implement performance critical components. The PPAPI platform capabilities (audio, canvas, webgl, etc) already exist as regular JavaScript APIs in Chrome. So, if you want to use them on normal web content you can. However, in doing so you incur both the strengths and limitations of the web platform (e.g. JavaScript dispatch, IPC overhead, and a single-threaded execution context).
You gave the example of using canvas from a web worker. Unfortunately, the whole web platform is built on the assumption of a single-threaded execution pipeline. Web workers get around this by using postMessage and not having access to the DOM, shared variables, and other stateful parts of the platform. Canvas and WebGl as spec'd and implemented are tied to these stateful parts of the platform (DOM, etc.), which is why you cannot use them from a worker.
So, your desired change would involve either a major overhaul of the web as spec'd and implemented, or a change to the Canvas and WebGL standards. The first is probably not going to happen. The second is achievable and implementable, but wouldn't help address the use cases I described in my first sentence.
I'm well aware that, at the moment, the canvas context is restricted to a single thread. But this could be changed. All you have to do is to provide an API to move a canvas context to a different thread/worker. This is quite simple. There's a Mozilla bug on it: https://bugzilla.mozilla.org/show_bug.cgi?id=709490
It requires no more engineering effort than it took to implement the corresponding code in the PPAPI, and probably a lot less. Moreover, non-NaCl and non-plugin code could benefit from it.
As explained before, what would need to be done is simply to expose native versions of the Web APIs. These APIs would mirror the Web APIs more or less exactly (maybe using pointers to buffers instead of typed arrays, for example, but otherwise they'd be the same). In the cases in which Web APIs are not sufficient, both the native and JavaScript versions would be extended. In this way, "performance critical components" of native code and Web content would both benefit.
In effect they are. No android support, now nothing except Chrome support on Linux. I'd assume that if my theory is true, Mac OS X will take a similar route(why it didn't happen first is beyond me) before Windows finally meets a similarly gimped fate.
F* Adobe: just kill Flash already, for good. The world (wide web) will be a better place.
I feel absolutely no love for Adobe. Flash was a great technology and Macromedia was a dream company (at least for 14-year old me). They ruined Flash and other Macromedia inventions after taking over.
I truly wish Adobe dies alongside Flash. And Oracle also.
I think it's safe to assume they've already killed it. Web developers can no longer make a reasonable assumption that their users will have flash, therefore flash is no longer a useful general purpose tool. It'll stick around for a long time yet due to enterprise and other lazy programmers, but for wide-audience web content flash is dead.
Indeed. I've run FlashBlock for years, and minus Hulu and a couple other sites, I find I almost never have a need to click on the blocked Flash objects.
And it seems like the days of sites implemented entirely in Flash have pretty much come to an end.
Given the nature of Flash I could never understand why it was so much trouble to implement on Linux, or to create a 64-bit version. I can't imagine what a colossal mass of spaghetti code that app must be. I've been waiting impatiently for it to die since at least 2001.
> Shumway is an HTML5 technology experiment that explores building a faithful and efficient renderer for the SWF file format without native code assistance.
> Shumway is community-driven and supported by Mozilla. Our goal is to create a general-purpose, web standards-based platform for parsing and rendering SWFs. Integration with Firefox is a possibility if the experiment proves successful.
I've been following that project and there's a lot of activity on it. So I wouldn't be surprised if they have something working in 6 months or so. I can see this being useful when flash becomes a strictly legacy technology.
Trying to keep the tinfoil hat off, but... when I tried to post a comment on the Adobe blog asking whether Linux is being singled out in this respect and if so, why, I got a database error.
I can't make much sense of this. Adobe declared Flash dead. Apple declared Flash dead. Google declared Flash dead in Chrome for Android.
Now, they're going to continue working on Flash, but only on a new API that is implemented only in a single browser in Linux (and from statements from Apple and Mozilla, will stay that way), but keeping it compatible with the old NPAPI on Windows?
What I don't even....
Edit: Could it be that Google is planning to release (or has released) some Linux-based appliance where Flash support is a must?
In the same place where they declare mobile (a bit of a misnomer, tablets aren't exactly mobile, not much more than notebooks anyway) Flash dead.
Flash is appealing because it has features HTML/CSS/JS do not have and because everyone on every platform has it. Since mobile devices are becoming ever more important and Flash is not supported on those devices (or will not be) the second part of that sentence is no longer true.
Conclusion: Flash is dead. We will have to deal with it for years but it's on its way out. A web technology that will not work on mobile devices has no future.
That's Adobes biggest problem, for so many people "Flash" means "browser plugin." They need to kill that notion, the Flash Player is just a part of the Flash platform.
Yes, by my understanding. And much closer to "mainstream" Linux kernel-wise than Android. What stack of software they have running atop of that (i.e. between it and Chrome) I can't remember off the top of my head.
There are definitely other reasons. Remember "Thoughts on Flash" [1]?
“First, there’s Open… Rather than use Flash, Apple has adopted HTML5…” — and CSS3, SVG, and HTML5 have indeed provided most of the capabilities that once were Flash’s domain.
“Third, there’s reliability, security and performance.” — which is really three things, each of which Flash has an outstandingly poor track record with.
“Fourth, there’s battery life.”
“Fifth, there’s Touch. ¶ Flash was designed for PCs using mice, not for touch screens using fingers. For example, many Flash websites rely on ‘rollovers’…”
Where'd you pull that idea out of? Google's not implementing the Flash player, only providing new API for the Flash engineers to build against, the same as they always have.
From previous statements and actions of Google regarding Flash (fixing security holes in a way that implies they have source code access), it is very likely that it is indeed Google that are doing this.
> Google declared Flash dead in Chrome for Android.
I'm not part of Google, but i have been studying Native Client pretty closely. I think Google's interest here is that Native Client is designed from the ground up for security. They are happy for Flash to operate through Native Client (which is what the "Pepper" API interfaces), because that largely obviates the security issues it poses.
This is excellent news for web security. It will force other browsers to at least implement the Pepper API. Hopefully it will encourage them to use Native Client as well.
"Other browsers" have already commented why things like Native Client are absolutely a no-go area. As far as I can tell, the arguments against Pepper run much along the same lines - being dependent on Native Client sure won't help.
If you see the arguments against Native Client, it's also obvious using it to be able to keep supporting Flash would be rather...ironic.
You're saying Google is enforcing whatever it wishes upon others. Aka, non-standard stuff.
The Pepper API would be all nice if it wasn't hiding the NaCl vessel. NaCl is a very hard to standardize (yes, being open source has nothing to do with ease of implementation, or proper standards. News at 11.).
NaCl is also (one of) the vessel for Google to get more control over the web, due to the above, and that it can do stuff such as "take your C/C#/etc. app and run in it Chrome, via Chrome market!", while they know others can hardly ever implement it.
you can be relatively sure that Google pushed Adobe a little bit in that direction, and that eventually flash may be Pepper API only. Its easier for Adobe too.
The Native Client source code repository is huge, but it is not that hard to find your way around in. I have been studying it because I plan to build something on top of it. I am by no means a stellar programmer, and I have found it reasonably navigable. (It did take me a few days to get my bearings, though, and I plan to use a much simpler, custom API to minimize the application's attack surface. Haven't looked much at Pepper.)
yes - but
implement it in opera, ie, or firefox - you'll find that you've to rearchitecture a lot of your browser - or might as well just grab webkit (of course, in our case you can just try firefox since its the only open source one of the 3)
I've been living flash-free for about 6 months, now that youtube autoloads html5 video the only thing pissing me off on a regular basis are the charts on Google Finance and Yahoo Finance.
Wow. I remember waiting for flash to come to 64 bit Linux systems...
Perhaps Adobe has to continue supporting Chrome to support Googles Chromebooks.
In a perfect world, we would have open standards and would never need to rely on a company. Hopefully flash will die quickly (I wish I had a dollar for everytime I have heard this).
Based on other comments in this thread, it sounds like less of "Adobe supporting Chrome" than "Google using its source license for Flash to keep supporting Chrome on Linux". And yes, presumably at least in part due to Chromebooks.
Unsurprising, both products are provided free in order to facilitate the tracking of users, and I suspect that the vast majority of users do not turn off Flash cookies.
So long as Google's Youtube defaults to Flash, it's a case of mutual interests.
Or do plugins like flash have the choice between native client and just using a shared library as they did and Pepper also supports that?
In the first case it would basically mean that flash would run sandboxed (and maybe on every system supported by Pepper, so once ARM support is added it could run there as well again). But probably with some speed-hit (~5% according to the documentation)
NaCL would probably have been mentioned if it was involved. I think Chrome can still do less fine-grained, OS-assisted sandboxing, and Flash on Pepper is cooperating with that.
We use Pepper to sandbox some fully native plugins, where NaCl is not yet a good option due to things like codebase incompatibilities and startup performance. Two examples of this are the native PDF reader (on all platforms) and Flash on Chrome OS.
Why is there so much noise over this? How many times does Flash have to die? Yes, the Flash plugin will be with us for another decade, but shouldn't most of us have moved on? I uninstalled Flash on my two Macs in December. I'm doing fine so far. Sometimes, I need to switch over to Chrome for video, but so far I'm not missing it.
I have relatives on Linux and this will complicate things for me. Basically I have to install Chrome and explain why videos and other stuff work only on Chrome. However, it is the way I prefer it by now anyway: use a Firefox without Flash for daily browsing and Chrome for Flash things.
Don't underestimate how complicated it might be to explain this to "noobs", though.
To my fellow developers, please don't develop anything else for Flash. Thanks! (Within the next year Google will have you go full screen in GTK inside Chrome/Debian ... then that's your desktop ... Adobe is hedging this decent bet .... BARF!)
Btw, really? Downvote me but you've got nothing to say?
To weigh in on the pro flash side: say you're developing applications for large enterprises, many of which still run ie7 or 8 (mind you, not websites, but applications that run in a browser and are delivered over the Internet). Since HTML5 (by which, none of you actually mean html5 in that case, it's mostly some kind of JavaScript front end with frameworks far from mature (though I like both backbone and ember/sproutcore, they've got a ways to go before being comparable to flex w/ robot legs, and js will never be as3)) will not work well in this situation, what do you propose?
For Adobe's part, I wish they'd be a bit more transparent, but regardless, I think I'm good to go with a pretty wide and stable cross-browser feature set today and will be that way for a while while JS frameworks play catch up. And meanwhile, good luck getting an IT dept at a fortune 500 to upgrade all their browsers to the latest version of firefox or chrome and to make that a requirement to use your software. And what would you gain by doing that today exactly if that's your target market?
What can HTML5/JS do today for RIA's that flash can't do better, faster, and cheaper?
191 comments
[ 1394 ms ] story [ 5323 ms ] threadIf the Adobe blog post is correct and the pepper plugin is only distributed with Chrome and isn't open source and part of Chromium then how is another browser going to support it? They'd have to tell you to install Chrome and then open the plugin from within Chrome's installed directory. Pretty ugly solution. If it's open source and part of Chromium then they can at least take the source out and ship their own, assuming the licensing allows for that and is compatible with their license.
All in all, this sounds like a pretty complex scenario for non-Chrome browser.
Meanwhile, Flash continues to circle the drain, and this might hasten its inevitable, but slow demise.
They might simply shift to Chrome as their default browser.
the Flash Player browser plugin for Linux will only be available via the “Pepper” API as part of the Google Chrome browser distribution and will no longer be available as a direct download from Adobe
> Because of this work, Adobe has been able to partner with Google in providing a “Pepper” implementation of Flash Player for all x86/64 platforms supported by the Google Chrome browser. Google will begin distributing this new Pepper-based Flash Player as part of Chrome on all platforms, including Linux, later this year.
It says that the plug-in will be bundled with Chrome, and Adobe have said they won't be releasing more Flash players for Linux, but the announcement does not even hint whether a stand-alone Pepper plug-in will be available from Google. I hope the Chromium blog will clarify this in due course.
I guess Adobe might forbid Google from developing a plug-in, but I don't see why they would want that, seeing as they have been distributing plug-ins for years. If Google could but didn't, that would make them look unsupportive of Chromium.
1) Adobe is effectively stopping work on Flash for Linux on their end; it's just not worth it to them. 2) Google is going to support Flash for Linux for Chrome specifically. They can do this because they have access to Flash source and because the Pepper version of the plug-in is much more cross-platform than the NPAPI version, so the support effort is not too great. Given that they already ship a modified Flash, not the stock one, it's not that big a difference from what they're already doing.
So I think you're wrong; even if other browsers implemented the Pepper API, they would also need source licenses from Adobe or would be dependent on Google to get the Flash plug-in.
While WebOS stuck with the open technologies, the next Apple phone introduced closed-source binary application as the main third party extension platform. If WebOS could make the open web technologies work as primary development method on a phone, why did Apple go back to the installable programs of the last century?
Google's Pepper is at least open standard with an open implementation, while I don't have any way to run iOS apps on any other platform than those tightly controlled by Apple themselves.
Strangely, we can look to Microsoft for providing an open standards HTML5 based version of an app like "Cut the Rope": http://www.cuttherope.ie/ -- imagine if iOS devices ran HTML5 apps well and this game (which sold 3 million copies on iOS!) was HTML5 from the start. You could run it on the iPhone or any Android device or your desktop right from the start.
Perhaps it'll kill Flash a bit quicker considering the amount of Kiosks and Internet cafes running Firefox+Flash on Linux.
Plus the older hardware I run Linux on can barely show a 288p Hulu video, with lots of stuttering, even though the machine can play videos twice that resolution flawlessly in any of the native video players.
Before recentish versions of Firefox, a Flash crash would bring down the whole browser.
[1] https://addons.mozilla.org/en-US/firefox/addon/flashvideorep...
You must not watch many videos in your browsers then outside the odd one on Youtube. The reality out there is that Flash is still the main choice for delivering video. Flash is a necessary evil. It may be dying but for many it's still necessary and its removal from Firefox removes significant usability for its users.
And if iPad sales are any indication I don't think it's as big a deal as you make it out to be.
If I write some software that costs $999 and only works on HP/UX, it's not "Fuck Microsoft" or "Fuck Apple". It's "Fuck me."
I think they call it cutting off your nose to spite your face.
So the only thing non-Chrome-using Linux users will miss out on are things that use the new features of Flash introduced after that date.
Flashblock plugins are ridiculous by requiring you to blacklist or whitelist flash domain instead of web domain. The former happens to be on CDN and suddently you can't do it :(
It's also one of the buggiest game clients I've ever used...
(It's sometimes used for in-house stuff, but then what isn't?)
Meanwhile, Flash is dead, it just hasn't stopped kicking yet. It's been a long decade, but many people will be cheering it and kicking the corpse when it finally shuffles off to the great /dev/null in the sky.
But, if major Linux browsers implement Pepper API, on the other hand it will mean that we (the users) won't have to bother installing (deb/rpm/etc) packages every now or then. Maybe it will turn out better.
Just another step in pushing Chrome down everyone's throat.
I can't imagine what Google hopes to accomplish with this since Flash is currently circling the drain, relevancy-wise, but if it does anything to hasten the move away from using Flash at all, then it's a plus.
This looks like the sort of heavy-handed monopoly activity that made Microsoft so great.
It's possible that Adobe were intending to cease all Linux-based browser support and Google prevented that by buying back Chrome support; in which case Google has slipped in their PR big time.
I forsee a slow and painful death for Flash.
The thread (which continues into May) goes over pretty clearly why they felt Pepper was a bad idea.
Given that linux really hasn't been a priority for them and they are dropping flash all together; this isn't really news.
The press release says Adobe worked with Google on Pepper. So for them to have a bias towards it isn't groundbreaking.
This is what's hard to understand: they are not dropping NPAPI on Windows, so it's not like the Chrome API is the enabler here.
This all assume there is actually going to be something more than security updates after 11.2 for other platforms. And that it is going to be something we would want on Linux.
There will be updates and they will be desirable in Linux assuming people continue creating Flash content that makes use of the new features: http://news.ycombinator.com/item?id=3621096.
Keyboard input support in full-screen mode
Improved audio support for working with low-latency audio
Ability to progressively stream textures for Stage 3D content
LZMA compression support for ByteArray
Frame label events
ActionScript workers (enables concurrent ActionScript execution on separate threads)
Support for advanced profiling
Support for more hardware-accelerated video cards (from 2005/2006) in order to expand availability of hardware accelerated content
Improved ActionScript performance when targeting Apple iOS (What the??? iOS???)
Performance index API to inform about performance capabilities of current environment
Release outside mouse event API
Refactoring and modernizing the current core Flash runtime code base
Work on the ActionScript Virtual Machine
Updates to the ActionScript language
--
Doesn't seem like there will be anything new that can not be currently albeit less efficiently.
Correct. The NPAPI version of Flash is very platform-dependent; whereas Pepper Flash is almost completely platform neutral, and Chrome OS needs most of the same Pepper platform bits anyway. So, our maintenance overhead for Pepper Flash on Linux is very small. On top of that, Linux is broadly deployed throughout Google (and is very popular among Chrome developers), so we're scratching our own itch a bit.
Robert O'Callahan talked in that thread about the potential for extending the capabilities of Web Workers to allow the kind of things you want to do to be done asynchronously. I know I'd love to have the ability to render to a 2D or 3D canvas context in a Web Worker, for example (the kind of thing that sandboxed plugins want to do), but all the effort that could have gone to that went to this weird plugin- (and NaCl-)specific API instead.
It's kind of sad, because I would like to use these APIs in my web content, but I can't. The cynic in me would say that it's because Google wants to push NaCl. I don't want to program C++ to get access to these goodies; I want to program in CoffeeScript.
Maybe I'm really confused because I don't understand.
Here's some further reading:
* https://mail.mozilla.org/pipermail/plugin-futures/2010-May/0...
* https://mail.mozilla.org/pipermail/plugin-futures/2010-May/0...
Note that Darin's followup message included this:
"I do agree however we want to keep Pepper APIs in sync with existing Web APIs. That will obviously be a challenge if they are not one and the same, but I don't think it is impossible or even that difficult to achieve with them being separate APIs."
This has already failed. Web Workers cannot render even 2D content asynchronously today, while Pepper can (which advantages plugins and NaCl over ordinary Web content). This is exactly the problem that roc and smfr were trying to avoid.
I don't think that Darin's example, of an <embed> tag being untouchable by Web content, is an insurmountable problem. In fact, I think this is exactly the kind of thing you want JavaScript content to be able to do -- high-fidelity JS versions of PDF and Flash would be great. And the issue of Web Workers and audio APIs needing shared memory is a Chrome problem (because Chrome puts each worker in a separate process), but not a problem for browsers generally.
Also, the argument that "it's an existing plugin, you don't want them to rewrite their code" doesn't hold water. It's an entirely new set of plugin APIs. Adobe has to rewrite its code anyway. It's just that the other browser vendors wanted the Web as a whole to benefit from this, not just Adobe.
You gave the example of using canvas from a web worker. Unfortunately, the whole web platform is built on the assumption of a single-threaded execution pipeline. Web workers get around this by using postMessage and not having access to the DOM, shared variables, and other stateful parts of the platform. Canvas and WebGl as spec'd and implemented are tied to these stateful parts of the platform (DOM, etc.), which is why you cannot use them from a worker.
So, your desired change would involve either a major overhaul of the web as spec'd and implemented, or a change to the Canvas and WebGL standards. The first is probably not going to happen. The second is achievable and implementable, but wouldn't help address the use cases I described in my first sentence.
It requires no more engineering effort than it took to implement the corresponding code in the PPAPI, and probably a lot less. Moreover, non-NaCl and non-plugin code could benefit from it.
As explained before, what would need to be done is simply to expose native versions of the Web APIs. These APIs would mirror the Web APIs more or less exactly (maybe using pointers to buffers instead of typed arrays, for example, but otherwise they'd be the same). In the cases in which Web APIs are not sufficient, both the native and JavaScript versions would be extended. In this way, "performance critical components" of native code and Web content would both benefit.
F* Adobe: just kill Flash already, for good. The world (wide web) will be a better place.
I feel absolutely no love for Adobe. Flash was a great technology and Macromedia was a dream company (at least for 14-year old me). They ruined Flash and other Macromedia inventions after taking over.
I truly wish Adobe dies alongside Flash. And Oracle also.
And it seems like the days of sites implemented entirely in Flash have pretty much come to an end.
Given the nature of Flash I could never understand why it was so much trouble to implement on Linux, or to create a 64-bit version. I can't imagine what a colossal mass of spaghetti code that app must be. I've been waiting impatiently for it to die since at least 2001.
> Shumway is an HTML5 technology experiment that explores building a faithful and efficient renderer for the SWF file format without native code assistance.
> Shumway is community-driven and supported by Mozilla. Our goal is to create a general-purpose, web standards-based platform for parsing and rendering SWFs. Integration with Firefox is a possibility if the experiment proves successful.
Now, they're going to continue working on Flash, but only on a new API that is implemented only in a single browser in Linux (and from statements from Apple and Mozilla, will stay that way), but keeping it compatible with the old NPAPI on Windows?
What I don't even....
Edit: Could it be that Google is planning to release (or has released) some Linux-based appliance where Flash support is a must?
Flash is appealing because it has features HTML/CSS/JS do not have and because everyone on every platform has it. Since mobile devices are becoming ever more important and Flash is not supported on those devices (or will not be) the second part of that sentence is no longer true.
Conclusion: Flash is dead. We will have to deal with it for years but it's on its way out. A web technology that will not work on mobile devices has no future.
If you were on Wikipedia you'd see a [Citation needed] here.
Flash may well survive as AIR - that’s an uphill battle but it's possible – but that’s kinda irrelevant for the web.
The real question is if this is true, why are they dropping flash for android?
http://www.chromium.org/nativeclient/reference/arm-overview#...
“First, there’s Open… Rather than use Flash, Apple has adopted HTML5…” — and CSS3, SVG, and HTML5 have indeed provided most of the capabilities that once were Flash’s domain.
“Third, there’s reliability, security and performance.” — which is really three things, each of which Flash has an outstandingly poor track record with.
“Fourth, there’s battery life.”
“Fifth, there’s Touch. ¶ Flash was designed for PCs using mice, not for touch screens using fingers. For example, many Flash websites rely on ‘rollovers’…”
[1]: http://www.apple.com/hotnews/thoughts-on-flash/
This is excellent news for web security. It will force other browsers to at least implement the Pepper API. Hopefully it will encourage them to use Native Client as well.
If you see the arguments against Native Client, it's also obvious using it to be able to keep supporting Flash would be rather...ironic.
You're saying Google is enforcing whatever it wishes upon others. Aka, non-standard stuff.
The Pepper API would be all nice if it wasn't hiding the NaCl vessel. NaCl is a very hard to standardize (yes, being open source has nothing to do with ease of implementation, or proper standards. News at 11.). NaCl is also (one of) the vessel for Google to get more control over the web, due to the above, and that it can do stuff such as "take your C/C#/etc. app and run in it Chrome, via Chrome market!", while they know others can hardly ever implement it.
you can be relatively sure that Google pushed Adobe a little bit in that direction, and that eventually flash may be Pepper API only. Its easier for Adobe too.
Perhaps Adobe has to continue supporting Chrome to support Googles Chromebooks.
In a perfect world, we would have open standards and would never need to rely on a company. Hopefully flash will die quickly (I wish I had a dollar for everytime I have heard this).
So long as Google's Youtube defaults to Flash, it's a case of mutual interests.
Or do plugins like flash have the choice between native client and just using a shared library as they did and Pepper also supports that?
In the first case it would basically mean that flash would run sandboxed (and maybe on every system supported by Pepper, so once ARM support is added it could run there as well again). But probably with some speed-hit (~5% according to the documentation)
Don't underestimate how complicated it might be to explain this to "noobs", though.
Starting 5 years from now, when Adobe actually drops support for Flash on Linux, right?
We'll see how much video and other stuff still requires Flash in 5 years. With any luck, not much.
Source? Or is that just conjecture?
To weigh in on the pro flash side: say you're developing applications for large enterprises, many of which still run ie7 or 8 (mind you, not websites, but applications that run in a browser and are delivered over the Internet). Since HTML5 (by which, none of you actually mean html5 in that case, it's mostly some kind of JavaScript front end with frameworks far from mature (though I like both backbone and ember/sproutcore, they've got a ways to go before being comparable to flex w/ robot legs, and js will never be as3)) will not work well in this situation, what do you propose?
For Adobe's part, I wish they'd be a bit more transparent, but regardless, I think I'm good to go with a pretty wide and stable cross-browser feature set today and will be that way for a while while JS frameworks play catch up. And meanwhile, good luck getting an IT dept at a fortune 500 to upgrade all their browsers to the latest version of firefox or chrome and to make that a requirement to use your software. And what would you gain by doing that today exactly if that's your target market?
What can HTML5/JS do today for RIA's that flash can't do better, faster, and cheaper?