The irony is that while they recommend converting ads to html5 (or auto convert them with swiffy), the performance goes to shit as well, arguably even worse than flash would have been, at least on mobile.
I'm not surprised. As someone who has worked with it (and even written pieces of a simple Flash renderer), SWF was designed to be an extremely compact format and is far simpler to parse and render than the HTML + CSS + SVG + JS replacement that's being promoted.
In that respect, all the complaints about Flash and mobile battery life should be attributable to the mere presence of Flash content. The reason why disabling Flash improves battery life is because the content doesn't get rendered. If the same content were present and rendered with HTML5 it would require more computing power, because the overhead of parsing (several!) text-based formats and using a complex rendering model originally designed for static documents compared to a binary format and rendering model designed for interactive animations, simply cannot be eliminated. I suppose new standards for documents, vector images, and scripting could be designed (WebAssembly comes to mind), but at that point you'll just be reinventing Flash/SWF...
For that reason, disable JS and you will get improved battery life too:
The part about the file format is quite true but it's not the only thing to compare since there are so many features in either runtime and Flash has been used for so many different things. The most relevant example here was the way Adobe made only half-hearted attempts to optimize video playback, which is where I saw the battery life discussion really get started as more people noticed that playing H.264 video back in Flash took an entire CPU core and still dropped frames while playing the same file in <video> or the Windows/OS X media frameworks took less than 10% for perfect playback.
"For example, using Flash Player 10.2 with Stage Video hardware acceleration, we’ve tested a Mac Mini released two years ago and a low-powered GPU-enabled Windows netbook playing smooth full HD 1080p video using less than 8% of the CPU; more powerful computers use even less."
> the Flash Player plugin can render hardware accelerated video since v10.2 (released early 2011).
I'm aware of that but the quality of the actual implementations still varies widely. I've done the comparison periodically since that was released and their quoted figures have never reproduced on any Flash video player which is actually used on the web (YouTube, Vimeo, jwplayer and a few other open-source projects, the custom players used by various big media companies, etc.).
On OS X or Windows XP-8.1, on multiple devices, it's consistently been the same: Flash = fan on high, HTML5 = fans off. Flash's settings show hardware acceleration enabled but there's either a really restrictive hardware check quietly disabling it or absolutely nobody ever managed to ship a player using Stage Video, including the companies quoted in that press release.
Actually h.264 hardware acceleration was introduced in 10.1 mid 2010 and it had a public beta in the months before. It was Windows only with Adobe saying: "Mac OS X does not expose access to the required API" [1]. Apple opened up the hardware API while 10.1 was on the finish line [2] and so the Mac only got support in the next 10.2 release.
So another interpretation is: Apple was well aware that smooth video playback was coming to other platforms and Jobs piece (and opening up the acceleration API) was an reaction to that.
Swiffy has been getting massive improvements recently, so expect perf wins in this area.
That said, two of the biggest web browsers have not natively supported flash ads for years. So I'm puzzled that ads are still being produced in 2015 for a dying runtime.
Just out of curiosity - could there be issues other than just performance here? For ex., could it be that Flash based ads can identify user/device contributing to privacy issues?
Flash provides much more identifiable fingerprinting information (e.g. detailed information about your system fonts) and looser "Flash cookie" (Local Shared Objects) restrictions than JavaScript.
Did you read their conclusions? Javascript is most certainly a method for fingerprinting, regardless of Flash presence.
"Browser developers should also consider what they can do to reduce fngerprintability, particularly at the JavaScript API level."
"We identified only three groups of browser with comparatively good resistance to fngerprinting: those that block JavaScript, those that use TorButton, and certain types of smartphone."
Not having Flash doesn't mean you're immune to fingerprinting. That said, it would be nice if Adobe prevented system font lists via Flash.
That is true. Not having Flash does not mean you're immune to fingerprinting, but having Flash does mean more (a lot more) unique fingerprinting data is available to trackers.
I wonder if browsers' plugin sandboxes could block Flash from calling the OS API to enumerate system fonts.
The other ad networks likely won't be using Flash anymore either, which makes blocking ads more difficult - and that is a good thing to ad networks in general. Thus I won't say it's Google against others, and while it may seem so in the short term, in the long term Google and other ad networks benefit from it (while the users suffer...?)
TBH if a Flash crash or any other user space application crash causes a system crash it's an issue with the OS.
Steve Jobs at the time said that every time MacOS crashes it's more often than not Flash's fault, which wasn't really true and would only speak "wonders" of how well MacOS isolates user space applications...
On the security issues it's some what true because the nature of Flash, applications like these are almost impossible to sandbox properly unless you have an operating system that sandboxes everything by default.
Flash it self these days is pretty much code execution as a service it can do pretty much everything you want some browsers sandbox it better than others but it's still intended to pull code from the ether and run it and when you have a setup like that you will never be able to limit it effectively.
Flash can be phased out only because it's mostly used to play various forms of media, but any other use of it cannot be converted to HTML5.
If Javascript (as it's parsed and executed in browsers) will ever get to the point of being as flexible and powerfull as Flash is today you'll see browser based RCE vulnerabilities skyrocket also, JS is safe to use only because the browsers restrict it, Flash and AIR are intended to support everything from an animated ad to a full desktop application.
Just look at Node.JS (and many NoSQL DB's that used JS) in it's early years almost every (non-DOM based) cross-site scripting vulnerability in a Node.JS application could result in remote code execution on the server, even today you can still easily cause it if you don't handle the code properly one stupid eval in your node code which was there for lazy debugging can lead to your box getting owned in minutes.
They're not system crash but application crash, both are reported on MacOS X. So no, Flash didn't crash the OS, only apps like Safari, Firefox or Chrome. Isn't it enough ?
>They're not system crash but application crash, both are reported on MacOS X. So no, Flash didn't crash the OS, only apps like Safari, Firefox or Chrome. Isn't it enough ?
That wasn't what Apple (Steve Jobs) claimed... [1]"Whenever a Mac crashes more often than not it’s because of Flash. No one will be using Flash, the world is moving to HTML5."
Also Flash doesn't crash Chrome, doesn't crash FF for ages either. No clue about Safari the quote was debunked by everyone, even Apple backtracked on it to a more "we meant Safari in certain cases" type of statement. we can all move along.
I doubt it's worth picking over all that stuff Jobs said about Flash - it was FUD top to bottom. I mean, in his famous letter he flamed Flash for being closed even as iOS locked people into a single browser, flamed it for being nonstandard while Apple pushed out Safari-only web pages [1] and weird quicktime extensions, etc. He even called out Adobe for being late to adopt Cocoa even though core Apple apps hadn't migrated yet.
So, the language about crashes may have had more or less basis in reality, but it's not as if Jobs was concerned with nuance and details.
It also chews up resources like nobody's business. Note that Android has also scrapped Flash. I'm pretty sure that Steve Jobs can't be blamed for that. :-)
So, in general, swiffy appears to be a relatively heavyweight solution that
is not (yet?) optimized for mobile devices. Morever, there are 4 (yes 4!)
giant swiffy ads on the landing page of androidpolice.com, each of which
consumes more than half the viewport, all of which are dynamic.
- http://venturebeat.com/2015/02/25/google-now-automatically-c...
- https://code.google.com/p/chromium/issues/detail?id=467709
- https://plus.google.com/+ArtemRussakovskii/posts/MtcZGJprWje