Thursday, June 03, 2010

Silverlight on Apple TV experiment, results

silverlight-apple-tv In the Telerik Houston office, we recently added a large screen TV monitor that will be used for displaying rotating dashboards. We have a small team in the local office, and there a few dashboards we want everyone on the team to be watching and using on a daily basis, such as Telerik’s TFS Project Dashboard and some other internal dashboards. The challenge is deciding how to get the dashboards to the TV.

The requirements:

  • Dashboards are written in HTML5 and Silverlight, so whatever solution is used needs to support these technologies.
  • Dashboards need to be displayed full screen
  • Dashboards need to be displayed all day (no screen savers, power savers)

Simple enough. We’d also prefer to make the best use of resources possible. Clearly, we could place a dedicated computer next to the TV and call it a day, but that’s an extreme waste of PC power for what is essentially a web browser machine.

All that in mind, here are the options for getting the dashboards on the TV:

  1. Use existing server in server room to serve dashboards. Run long VGA from server room to TV *or* using VGA-to-Ethernet adapter to transmit signal.
  2. Use a simple “set top box” that supports Silverlight and a web browser, connected to TV via HDMI
  3. Use a “standard” computer connected to the TV

Of these options, #1 and #3 work, but have drawbacks. To use an existing server to serve the VGA signal, someone has to remain logged-in to the machine, which is far from ideal. Using a dedicated computer has similar problems, plus the drawback of wasted capacity.

So I decided to research option #2: a simple, cheap STB (set top box).

And of all the set top boxes out there, only one (I’m aware of) has a chance of displaying Silverlight: Apple TV. Why? Apple TV is essentially a Front Row UI “hiding” Mac OS X 10.4 (Tiger). That means it can (in theory) run many OS X applications, including browsers like Firefox and supported plug-ins, like Silverlight.

Using my Mac Pro at home and a cool piece of software called aTV Flash, I had Firefox (v2) up and running on Apple TV with no trouble. Combined with my iPad and the Mobile Mouse app, it was a better than expected browser on a TV experience.

Following various instructions from the aTV forums, I set out to get Silverlight (v4) working in Firefox on Apple TV.

Bottom line: it doesn’t work. I’m not sure why, but it doesn’t. I wasted hours debugging (with the help of Firebug!), and while Firefox recognizes the Silverlight 4 plug-in (about:plugins), and the Silverlight.js script confirms Silverlight is installed, Silverlight is never initialized and your XAP is never downloaded. Further, even if it had worked, Firefox on Mac does not support “F11-style” fullscreen, so you would have always sacrificed some pixels for your menu bar (not to mention Apple TV’s 720p resolution).

So much for a sub-$200 box for displaying dashboards. It seems we’re destined to use a simple, dedicated computer. Save yourself 5 hours and don’t waste your time trying to get Silverlight working on Apple TV. It seems temptingly possible, but you’ll just end your evening disappointed and one missed gym trip to show for it.


Scott said...

Good try!

I'm buying a Zbox NetTop for $250 + memory and HDD.

The foot print is tiny, so it might be worth looking into.

Matt Watson said...

Use a cheap netbook

Todd Anglin said...

@Matt- Not a bad idea. I looked at Netbooks, but most do not offer 1080p HDMI output. I have found some compelling $200 - $300 net tops, though, with the required 1080p out. I'll post an update eventually... :)


Nick said...

I wouldn't give up so easily.

Whilst I can confirm from my own similarly painful experience that Silverlight 4.0 will not work on Apple TV, Silverlight 3.0 runs with no problems at all.

I can comfortably steam Netflix (which uses Silverlight) over a VPN to my Apple TV in Hong Kong through both Boxee and Firefox so the ATV should be more than capable of running your dashboards.

Todd Anglin said...

@Nick- Very interesting. Unfortunately, our dashboards are already taking SL 4.0 dependencies, but I may cycle back and try SL 3.0 to see if it works. Thanks for sharing your success story.