News for hackers. Stuff that matters.
Re:Migrating Netflix to GraphQL Safely by saurik on Sunday June 18, 2023 @03:29PM (#36383532)
Why? What problem did this solve for them? I use Netflix a lot, and I use it on AppleTV where I get automatic updates to the device and the app... the app has never changed except to get slower over the years (and I mean a lot slower). There is absolutely no new functionality they have ever deployed... isn't the app "done"? Is there some serious scaling issue on their backend that is causing the perceived frontend slowness that this will fix? Is this going to massively decrease the costs of the backend? Or is it just that the engineers all bored and can't accept the idea that the product is either 1) done or 2) needs some new direction (instead of some new tech)?
Re:Migrating Netflix to GraphQL Safely by mkwarman on Sunday June 18, 2023 @03:35PM (#36383596)
I have definitely noticed and been frustrated by what you're calling out here. There always has to be something to work on, even if that thing might invalidate a significant amount of previous effort or cause regression. As a developer myself, I guess it is good for me, because it means job security. And maybe that's why there's always something to be added or changed or re-created on the products I've helped develop - to ensure all the individual contributors have something to keep them busy. But it definitely is frustrating that it seems like an app being called "done" is extremely rare nowadays. Though I suppose developers didn't really have the choice to continue development indefinitely back before the internet allowed "miscellaneous bug fixes and feature updates" patches to be pushed weekly.

Edit: I just noticed who I was replying to. Thanks for your work on Cydia and in the iOS jailbraking scene at large. I have lots of fond memories jailbraking and installing all kinds of weird tweaks on my iPhone 4 back in the day.

Re:Migrating Netflix to GraphQL Safely by Dudester230602 on Sunday June 18, 2023 @04:29PM (#36384130)
It is surely solving a promotion problem and a bonus-getting problem for someone in their hierarchy. Plus it is making the world a better place through constructing elegant hierarchies for maximum code reuse and extensibility and through minimal message-oriented transport layers.
Re:Migrating Netflix to GraphQL Safely by thephyber on Sunday June 18, 2023 @05:09PM (#36384512)
> isn't the app "done"?

Netflix is an ecosystem, not just the frontend app for Apple TV. Netflix is pretty close to a vertical monopoly for some of its content. Fund-raising, planning, development, post-production, translations/dubbing, preparation for distribution, and distribution. Your idea of viewing a video content on the app is only the last 20%.

Also worth reminding people that the AppleTV app is not the only app Netflix supports for viewing. There have been dozens/hundreds of different apps and most are still actively supported.

Also, they are a company, so they are always looking to be able to optimize and cut costs.

It’s worth staying curious and asking why before assuming you know more than the engineers who have to work “behind the curtain”.

Re:Migrating Netflix to GraphQL Safely by cowsandmilk on Sunday June 18, 2023 @08:18PM (#36385887)
How would vertical integration be related to migrating the iOS and Android apps to using GraphQL?
Re:Migrating Netflix to GraphQL Safely by pixelatedindex on Sunday June 18, 2023 @09:01PM (#36386105)
I’m no expert, but as I understand it, the clients have more flexibility to request things from the backend. I don’t know the app source code, but maybe it reduces complexity in app design?

Would love to hear other opinions.

Re:Migrating Netflix to GraphQL Safely by thephyber on Monday June 19, 2023 @07:38PM (#36397817)
If their dev team believes there is value in GraphQL, maybe they also want those same benefits for their business apps/APIs in addition to their customer-facing ones. Maybe they all use the same API gateway.
Re:Migrating Netflix to GraphQL Safely by thephyber on Wednesday June 21, 2023 @04:36AM (#36415970)
Scroll to 7:47 in this presentation[1] and see that the different domains within the Netflix vertical are all part of the same large API, accessible from the same API gateway.

People here are making an assumption that the entrypoint to Netflix's microservice ecosystem is only for the "TV App". No -- their other domains (incl. talent and production) also depend on the same API gateway. When they upgrade the API gateway to GraphQL for one app and you might as well do it for all apps to get the benefits of the GraphQL toolset.

[1] https://www.infoq.com/presentations/netflix-scaling-graphql/

Re:Migrating Netflix to GraphQL Safely by saurik on Monday June 19, 2023 @02:39AM (#36388002)
Ok, so you are saying this GraphQL API is also being used by numerous integrations behind the scenes that are--in your estimation, as I find this idea categorically absurd--managing the fund-raising, planning, development, post-production, etc. of the numerous random production houses that are working on projects for Netflix all somehow within Netflix's central database?

> Also, they are a company, so they are always looking to be able to optimize and cut costs.

I suggested this as an option. Do you believe this cuts costs?

Re:Migrating Netflix to GraphQL Safely by thephyber on Monday June 19, 2023 @07:48PM (#36397898)
Some of your questions are answered here:

https://www.infoq.com/presentations/netflix-scaling-graphql

Re:Migrating Netflix to GraphQL Safely by jonhohle on Sunday June 18, 2023 @09:17PM (#36386211)
I’ve often wondered this as well. It seems like the amount of client core data is really small, like fit into a single payload small, and changes very infrequently (a small subset maybe a few times on a busy day).

Are custom listings/ordering the blocking issue that takes several seconds to load when the app starts? There’s so much amazing low level work that I’ve read from the Netflix streaming team, but the front end has always seemed lacking (why can’t I easily just get a list of all the videos)? It effects how I use the app?

Re:Migrating Netflix to GraphQL Safely by thimabi on Sunday June 18, 2023 @10:19PM (#36386620)
> why can’t I easily just get a list of all the videos

Most likely that’s less a technical decision than a business decision, so that you never realize the true extent of Netflix’s catalog.

Re:Migrating Netflix to GraphQL Safely by jonhohle on Sunday June 18, 2023 @10:47PM (#36386790)
It’s obviously not a technical decision. Rights holders wouldn’t allow them to stream anything beyond their contract and I’m sure they have at least one team responsible for making sure videos are only available during the contract period.
Re:Migrating Netflix to GraphQL Safely by WorldMaker on Monday June 19, 2023 @02:53PM (#36395106)
It replaced Falcor [1] which was extremely similar to GraphQL but also entirely incompatible, and was owned and maintained almost solely by Netflix staff, with GraphQL which has a large community of developers and users. Released to the public at nearly the same time, after several years in the hands of open source communities the verdict seemed to be: Falcor lost, GraphQL won. In theory this saves Netflix continuing maintenance costs of Falcor (which it can now entirely deprecate/stop work on, though there is no current warning in the repo other than maybe a comment in Issue #1016 [2]), and instead externalize more overall maintenance work to the much larger GraphQL community (including teams like Apollo and at Meta).

[1] https://github.com/Netflix/falcor

[2] https://github.com/Netflix/falcor/issues/1016#issuecomment-1...

Re:Migrating Netflix to GraphQL Safely by tetris11 on Tuesday June 20, 2023 @04:21AM (#36401117)
Nice, open source propping up a big tech firm with absolutely zero benefits except a few highly opinionated pull requests
Re:Migrating Netflix to GraphQL Safely by XCSme on Tuesday June 20, 2023 @10:49AM (#36404867)
Personally, I found that on my oldish (Sony X900F) TV Netflix has become faster over the years, while the rest of the (Android) TV has become slower and slower, up to the point where now apps (that once worked perfectly) now are buggy, don't open or require a Wi-Fi adapter restart.