Inside Netflix's WebKit-Based UI For TV Devices
DeviceGuru writes with this interesting snippet on a modern approach to GUI design: "Netflix uses WebKit, JavaScript, HTML5, and CSS3 to build user interfaces that are delivered to millions of game consoles, Blu-ray players, Internet-connected TVs, and devices such as the Roku player and D-Link Boxee Box. Matt McCarthy and Kim Trott, device UI engineering managers at Netflix, have just published 50 presentation slides from their recent talk at OSCON 2011 in which they explained how Netflix develops its WebKit-based user interfaces."
We don't need no stinking slides.
Having to work for a living is the root of all evil.
And no linux support... :(
Direct link to the slides: https://docs.google.com/viewer?url=http%3A%2F%2Fassets.en.oreilly.com%2F1%2Fevent%2F61%2FNetflix%2520Webkit-Based%2520UI%2520for%2520TV%2520Devices%2520Presentation.pptx
that would explain why their UI sucks and is unreliable on set top boxes.
I read the presentation and I found it interesting because of the challenges of developing the interface for a wide variety of platforms with vastly differing capabilities. I am in a constant battle with my own software guys to get them to develop for a lower performance hardware, instead of always giving me code that needs the next generation hardware to have an acceptable user experience. Sometime I miss the old days when software developers HAD to think about the hardware they were running on and optimize their software appropriately. I can remember when some software would actually run TOO fast when it was run on newer faster computers....Those days are long gone, many of the software guys I know have little understanding of what goes on under the hood and really don't care unfortunately - I am going to make sure some of them read this presentation
Some performance tips make sense. CSS transforms basically paint an image into GPU memory, so this makes a lot of sense:
Keep layers small
– Don’t inadvertently create gigantic layers
– Memory consumption = width x height x 4 (bit depth)
However, other tips don't make as much sense:
Use closures sparingly & only where necessary
Closures are in the heart of JavaScript. You can't avoid them even if you want to. Instead, learn to write destruction lifecycles for your objects in which you expressively remove references that may cause leaks.
Well, one thing you surely can't do is count GNU/Linux installations with Netflix. This is what "Linux Counter" can be used for - to prove that there is enough demand in this market.
MY OTHER COMMENTS
All I know is that the UI on the WD live tv recently changed to more closely match the travesty that they turned their webpage into, and whoever is designing their UIs needs a kick in the head.
I was impressed with it until I tried to use Netflix on my iPad and it crawled like a sloth in molasses. Recently, I browsed through the movie selection on my Xbox for the first time and a long while, and was blown away with how smooth and slick the user interface is.
Native, even using something like .Net, will always beat HTML.
Yay- great for them. When are they going to lower their DVD+Bluray package price to $9? I left when they took away streaming from the DVD package and didn't add on Bluray without the $2 surcharge. Blockbuster has both for the same price as just DVD's on Netflix, and then there is the fact that Bb gets many movies long before Netflix. I could care less about variable quality streaming that may or may not have full surround sound. I'm primarily interested in as close to theater quality in my home as possible and the streaming, whether it uses webkit or not, isn't sufficient to achieve that.
Is this the same stack they use on their website? The same one that renders their website unusable on iPads?
Slides or it didn't happen!
Different platforms have different needs and capabilities. Why is the UI in my very limited Roku interface (with its very limted controller) the same as the one on my very capable Windows laptop (i.e., on their website)?
Maybe it seems cost-effective (if you don't count user frustration), but the horizontal-scrolling UI works when it's controlled by hardware arrow keys (Roku), but it's much less than optimal on a webpage (Windows). And my Windows laptop can handle much more functionality than a Roku; too bad they removed all/most non-Roku functionality from the website.
In the slideshow, they acknowledge there are differences between platform UI needs, but they seem to try a one-size-fits all approach. Doesn't Netflix have the resources to develop multiple interfaces?
It's so slow on the Wii! I recently upgraded from an ancient installation on the wii and was surprised to find out it was less buggy but much slower. They must have gone from native code to web-based. Bleh.
Selah.ca. Pause, and calmly think on that.
So it it uses webkit and all these open standards why cant i use netflix on my linux box?
they built a website
then for devices that don't have a browser, they deploy a browser along with it