Streaming apps for smart TVs and devices are the separate versions of one streaming service, each built for a different kind of screen: Android phones, iPhones, web browsers, smart TVs, streaming sticks and set-top boxes. Each kind of device has its own operating system, its own way of being controlled and its own limits. So a streaming service does not build one app. It builds and maintains a family of apps.
Why can't one app run everywhere? A phone is controlled by touch. A TV is controlled by a remote with arrow keys, so every screen must be designed for moving from one tile to the next. The TV is watched from three metres away, so text must be much larger. And each smart TV operating system accepts apps written in a different way. Android TV apps are written like Android phone apps. Samsung and LG TVs run apps built mostly with web technology, inside their own operating systems. Apple devices need apps written with Apple's own tools.
Cheap TVs add another problem. A budget smart TV may have less than 2 GB of memory and a slow processor. A home screen with 300 film posters can make it freeze. So engineers load fewer posters at a time, and remove those the viewer has scrolled past.
Consider a streaming service's engineering team in Chennai that adds a new feature: the viewer can switch a film's audio between Tamil, Telugu and Hindi while it plays. The team builds the feature for eight platforms. Code shared between the platforms holds the business logic, such as which languages each film has. Each platform's screens and remote controls are built separately. Before release, testers try the feature on 40 different TV models, from a five-year-old budget TV to the newest model. Two old TV models crash when the audio changes. The team turns the feature off on those two models only, and releases it on the rest.
Every one of these apps contains a video player, the component that actually plays the video. Most teams buy a ready-made player or build on the one that the device's operating system provides. The player is the same idea on every device. It is the screens around it that differ.
The apps also report back. Each app sends a record of what the viewer watched to the service's content recommendation engine. It also sends a record of every freeze to video quality of experience analytics. These apps are one part of a streaming service.