14

I'm wondering what web technologies the Chromecast supports. I know there's not a comprehensive list as mentioned here but I actually would like a list of supported and performant features.

How different is it from normal web development?

Is there hardware acceleration, WebGL, or Web Audio support? How's the performance for these.

Any sort of thing an old-fashioned web developer would want to know? Any weird quirks?

Community
  • 1
  • 1
Chris Dolphin
  • 1,578
  • 16
  • 28

4 Answers4

30

There is no support for plugins like Flash player, Silverlight, Quicktime and Unity.

Regarding HTML5 support I did a simple receiver which do nothing but redirecting to http://html5test.com . I did the same with http://css3test.com.

Here are the results of the tests : enter image description here

Note that Chrome Canary 34 get a score of 475. Mostly the differences are in 3D graphics and User interaction support.

The score to css3 test is 61% (Canary scores 62%).

Cheers

svassr
  • 5,538
  • 5
  • 44
  • 63
  • Nice work! Interesting that it supports requestAnimationFrame. That says to me store the data from events in a buffer and use raf to draw from it. – Core Feb 05 '14 at 21:07
  • Can't believe I didn't think to do that. Thanks! This is perfect. – Chris Dolphin Feb 06 '14 at 01:22
  • You're welcome. Actually you could even do it simpler by just typping directly in the console at ```http://myChromecast_ip:9222``` something like ```document.location.href = "http://css3test.com";```. – svassr Feb 06 '14 at 15:47
  • 4
    You may want to repeat the test there is webgl support now. – MMind Jun 28 '14 at 07:57
  • 1
    Tested today and it scored 473 on html5test.com. Reported as Chrome 37. – Kevin Gaudin Oct 26 '14 at 16:19
  • It looks like some of the things that say they're supported on this list aren't. For example, the WebRTC API. If someone gets that working let me know. – Chris Dolphin Jan 07 '15 at 02:48
  • How did you manage to print the whole page out from your CC like that? If i load a page, it obviously gets cut off by the screen, and I can't scroll... – Mr Pablo Jan 07 '15 at 10:43
  • 3
    @Mr Pablo . Through devTools (```http://myChromecast_ip:9222```) you can access the all DOM of the page after tests ran. I copied it and saved it as a new HTML document. Then I stripped out everything JS to make sure the tests wouldn't ran again and so I kept only static HTML of the results. And voilà. Open in your browser and do a screen cap. – svassr Jan 14 '15 at 18:33
  • I probably should run a new test by now as the Chromecast update itself. – svassr Jan 14 '15 at 18:33
  • @cypressious you can do the test easily. I explained the step to do it here. – svassr Jul 30 '15 at 21:19
12

Development:

How different is developing for Chromecast?

If you normally use Chrome and use its devtools you're in luck! The Chromecast has its own devtools you can get to by visiting it's ip address at port 9222. Along with this comes its own console where you can run Javascript just like you're used to. And window is still the global object.

Theres no refresh button! Do I really have to kill and reload the receiver everytime?

Nope. In the console you can run location.reload(true);. The true parameter performs a forced reload that flushes the cache of the receiver application.

Is there anything different about working with a TV?

Yea, keep in mind most TV's will experience screen burn if non-moving content is displayed for pro-longed periods of time. This can be avoided by just moving things around or having them appear in different areas.

Supported:

swassr's answer has a pretty detailed list using http://html5test.com/, although, it looks like there are a few things that the tester gets wrong:

WebRTC

After some testing, it doesn't look like WebRTC is supported even though html5test.com says it is. The only reference to this I've been able to fine is a mention on this thread

Web Audio API (partial)

Using the Web Audio API to get spectrum and waveform data isn't supported either. There is a bug filed for this here

Weird Quirks:

No hardware acceleration.

Don't expect anything to have perceivable hardware acceleration or advance rendering applied to it. Meaning CSS Transitions, canvas, etc. don't have that smoothness we've become used to. At times, even animating with Javascript causes less jank than CSS Animations.

That doesn't mean all performance optimizations are thrown out the door though. Tricks like transform: translateZ(0); still work to drop elements on their own drawing context and separate out repaint concerns.

Chris Dolphin
  • 1,578
  • 16
  • 28
1

Just wanted to integrate.

From some experiments I've made:

  • does not support multiple video tags. Multiple tags will load in unpredictable order. All the tags after the first one will not load.

  • Video loops are not smooth (not even close).

  • canvas does not support drawing from video tags on it. It does an horrible job at drawing geometric shapes, tho.

  • CSS filters don't work, but transforms should.

Edoardoo
  • 2,739
  • 4
  • 18
  • 27
-1

It also seems like the ChromeCast so far also does not support floats using CSS. At least on my device - would love to hear from others commenting on this one.

zaifrun
  • 931
  • 9
  • 21