I feel like this post has a bit of a strangely recursive backstory (as he explains along the way): he was helped by people from Youtube and Google to get hardware running Google operating systems so he could test their battery life while using a Google web browser to watch Youtube, a Google site, and the punchline is that you the user should flip a toggle in your Google/Youtube account.
This hardly seems like a conclusive test to me, it's the beginning. Testing performance across various devices and different versions of Android (although based on these current tests probably extremely difficult) ia the only true way to reach a definitive conclusion on HTML5 vs Flash battery drain.
Having said that, based on experience with various Flash-capable devices over the years I've noticed in Chrome especially Flash performance is horrible. I think Flash is severely broken in Chrome as even on my Core i7 laptop which is no slouch, it seems to manage sometimes 50% + CPU usage in Chrome and cause the CPU fan to really start spinning up to cool it down. It's no secret that Flash compared to HTML5 looks like an aging hatchback, but HTML5 video is nowhere near the scale of Flash just yet (in terms of market penetration or feature-set), at least not yet.
Make sure you have only one flash enabled in your plugin settings, if you have two different flash plugins running they will fight to be the chosen one and most likely lag and crash your browser.
Hello! I'm Yossi, the guy who put up the web page. Thanks for the attention!
About your questions. These power analysis tests are destructive to the device under test, since I have to splice into the power supply line. I used a google tablet and a chromebook because the guys at google were kind enough (and their corporate culture functional enough) to give them to me. Obviously I would love to do this to additional hardware (coughmacbookprocough) but somebody would have to donate one.
Anyone know if that Android tablet has H264 hardware-assisted decoding onboard? If it does, then the myth that H264 was more efficient for power use is basically busted.
The yundao n90 sports a rockchip RK2918 chip. It's the first chip from rockchip that is able to decode vp8 in hardware [1] (and obviously it decode h264 in hw too).
The myth "there is no VP8 hw decoding available" is busted.
That's not an Android tablet - it's a Samsung Series 5 Chromebook. It'd be interesting to see what the results were like across different operating systems.
Does anyone know if either of these platforms support hardware accelerated H.264 decoding? And, do either HTML5 or Flash in these environments support using it?
HTML5 video queues very very badly. It doesn't delete the video till the browser is closed, and had some other issues (I don't remember them all - it's been a year since I tried it).
Battery capacity, i.e. the amount of energy that a battery stores, is measured in Watt-hours (or Joules), not (milli)Ampere-hours. Without knowing the voltages, comparing two batteries based on their mAh rating is meaningless.
I'd be curious to see this data on Windows. On the Surface RT Flash seems to perform really well. How much of the issue is Flash vs how much of the issue is Android?
Nice testing! I've done a TON of video compression and I agree that flash is cpu intensive, but I believe depending on the compression algorithm for mp4 (i.e. baseline, high, ultra, etc.) it can draw more power on the end user's device, but I think it's negligible when compared to flash.
Side Note: HTML5 videos may not use alot of power for playback (gpu), but try video compression (cpu) on a mobile device...HA!
The sad thing is that today, transmitting and decoding a mostly text based web site (pulling in some MB of Javascript malware/libraries) is less efficient than transmitting a video stream.
I think HTML5 video can do fullscreen even in embeds, but you have to explicitly enable it on the iframe when you embed the video. By default HTML5 content in iframes can't go fullscreen unless you set the attribute on the iframe (Flash ignores this, of course)