Daniel Jacobson is the VP responsible for the Netflix API. In his session, he explained the movement that Netflix have made from using an one-size-fits-all solid API model to a multi-layer more ephemeral API.
Daniel spoke about the challenges facing the UI and device teams at Netflix due to the original API model. It works fine for a single device set, but as Netflix grew to play on multiple devices, the issues surrounding getting the right data at the right frequency became so complicated, the decision was made to split the API into more layers.
To put this into perspective, the amount of data being fetched, and the frequency at which it is pulled, varies wildly from device to device.
For example, an iPhone may only really display a minimal amount of information on a single show-description screen, and only needs to load that data once. A larger display such as a smart TV may be pulling a lot of information from multiple shows at a time and making multiple calls to the API.
The solution for Netflix was to move from a provider-optimised API (one layer devoted to data gathering and structuring, another to rendering the UI) to a user-optimised triple-layer API (separate layers for data gathering, data formatting and UI rendering). The complexities of doing so at the development team end are outweighed by the business opportunities of delivering content to thousands of devices. There’s also a great side effect for the user-interface (UI) team, in that they are not reliant on the data team when making UI changes.