Live data from Hacker News

Crafting a high-performance TV user interface using React

techblog.netflix.com

101–110 of 198 posts

Re: Crafting a high-performance TV user interface using React

#101
post #2

For folks who really care about performance, the easiest win is just switching to Inferno or Preact. You can pretty much leave your React code unmodified and get massive performance gains.

Inferno sounds interesting, I wish I could use it for projects. But React has grown to the point where there are components for it you can npm install and import in whatever components you want.

Should the Inferno community start porting over stuff to their ecosystem it'll be easier to sell to clients.

Re: Crafting a high-performance TV user interface using React

#103
post #57

Earlier quoted context omitted.

Because Honda at its core is not a software company?

Honda isn't a tire or windshield company either, it does not prevent them from ordering high quality tires or windshields...

Actually, a lot of the Japanese car companies are built on vertically integrated companies where a parent (usually a bank) company owns both the primary company (Honda) and a set of complementary companies that provide things like Windshields or Tires. It's called a Keiretsu.

Re: Crafting a high-performance TV user interface using React

#104

I hope someone from amazon is reading this. Their new app on the roku is unbelievably slow, 5+ seconds for transitions.

I don't work in that group, but I'll forward this link over. Thanks for the note and sorry for the bad experience.

Any chance you could recommend someone to finally get us different logins for the different profiles? It's kind of ridiculous to have parental controls when they can just change the profile to watch whatever they want. I also don't really like sharing a main account password with kids.

Re: Crafting a high-performance TV user interface using React

#105
post #34

Earlier quoted context omitted.

Especially the lag that you see on some brand new cars, only BMW and Audi seem to have lag free interface, but anything else that involves touch interface is just horrid! I've recently sat in my friend's brand new Honda SUV and the interface lag is just plain silly, for a car that costs $30,000+. Why is that?

Same with in-flight entertainment systems on planes. They always have terrible, slow interfaces.

Mostly I'd agree, but Emirates ICE system is pretty decent https://www.emirates.com/au/english/flying/inflight_entertai...

Re: Crafting a high-performance TV user interface using React

#106
post #34

Interface performance is one of the strangest problems to have in this age of crazy processing power but it is extremely common. Some of the delay is just plain silly and avoidable, like having long and synchronous opening animations in response to an action, which only serve to waste the user’s time. (Oh how I love being on a web site like AT&T and watching their JavaScript poorly zoom open a blank box from the cent…

Especially the lag that you see on some brand new cars, only BMW and Audi seem to have lag free interface, but anything else that involves touch interface is just horrid! I've recently sat in my friend's brand new Honda SUV and the interface lag is just plain silly, for a car that costs $30,000+. Why is that?

Because the software development was started 3 years ago on a platform that was spec'd out 5 years ago.

Over those 5 years, the software requirements slowly crept upward while the hardware performance stayed the same and couldn't be changed.

Re: Crafting a high-performance TV user interface using React

#107

Interface performance is one of the strangest problems to have in this age of crazy processing power but it is extremely common. Some of the delay is just plain silly and avoidable, like having long and synchronous opening animations in response to an action, which only serve to waste the user’s time. (Oh how I love being on a web site like AT&T and watching their JavaScript poorly zoom open a blank box from the cent…

Input lag is a common complaint of mine, but absolutely _NOTHING_ comes close to the Sony BDP S300 https://esupport.sony.com/p/model-home.pl?mdl=BDPS300.

Key-press response time can frequently be more than 30 seconds, depending on what the action is. Of course, you might say, that is because of bluray bloat on more recent disks, but I can assure you that its been that way from the day I purchased it. Sure some disks were better than others, but the multi minute boot-up, disk load times, player menu popup times, etc have been there since the beginning. I used to use it as a demo against my HD DVD player of why bluray wasn't ready for primtime ,and it was a 3rd generation bluray player.

Re: Crafting a high-performance TV user interface using React

#108

Earlier quoted context omitted.

Because Honda at its core is not a software company?

Most manufacturers are only responsible for powertrain components, contracting and assembly. They're not experts in much, but contracting for quality parts IS something they're supposed to be experts in.

It should be as simple as stipulating a requirement of "sub 100ms response time to all user input".

Re: Crafting a high-performance TV user interface using React

#109

I assume that HTML Dom would be fastest. Statically generated. And that working w/ DOM/CSS would make it easier for team's designers to be more engaged.

Gibbon is Netflix's proprietary form of the DOM. They found that the standard DOM was too hard to optimize for embedded hardware, but that it was much easier if they removed the parts they didn't need.

I believe Jafar gave a talk at one of the React Confs about it.

Re: Crafting a high-performance TV user interface using React

#110
post #2

For folks who really care about performance, the easiest win is just switching to Inferno or Preact. You can pretty much leave your React code unmodified and get massive performance gains.

Inferno sounds interesting, I wish I could use it for projects. But React has grown to the point where there are components for it you can npm install and import in whatever components you want. Should the Inferno community start porting over stuff to their ecosystem it'll be easier to sell to clients.

You can point 'react' at Inferno at build time. I believe there's a Webpack plugin that does this.
Post reply on HN