A streaming service for things I already own
For months I have kept every film, show, game and book I care about in a little app called media-manager: a list with statuses, ratings and notes, "trakt.tv but for everything". It is useful and it is a spreadsheet. Nobody wants to open a spreadsheet on the sofa.
So this morning my other machine one-shotted the thing that sits in front of it. It is called tvOS, and it takes the same library and lays it out like a streaming service.
It is the same library
There is no import. tvOS reads media-manager's own store — same file, same shape, same "newest edit wins" rule — so a rating given on the TV shows up in the list app and the other way round. Before it pulls anything it checks for newer edits first, so a TV that has been off for a week cannot wake up and overwrite what changed elsewhere.
On first start it matches all 355 entries against The Movie Database for films and shows and against Steam for games, and remembers every match for good. After that, the home screen is rows, and every row is a question about my own library:
- new episodes
- shows I watch with an episode out in the last two weeks, or coming within a month
- top picks
- recommendations that several of my favourites agree on
- because you loved
- one row each for a couple of favourites
- up next · favourites
- straight from the library
- streaming now
- what is new on the services available in Germany
- games
- what is selling and being played on Steam right now
It behaves like a TV
Settle on a card and the whole screen turns into that title: the backdrop, the logo art, the rating, and after a couple of seconds a muted trailer starts behind it. When a film has no trailer listed, or it is a game, it goes looking for one on YouTube itself. The detail page tells you where it is streaming, and more like it underneath.
The part I like most is how it learns without a questionnaire. Every card takes a quick verdict — looks good, meh, not interested — and the rows rebuild around it: "not interested" simply disappears, "meh" slides to the far end. There is also a Rate what you've seen screen that shows one title at a time; a number key rates it instantly, N says you have not seen it.
And it does not care what you hold. Keyboard, a TV remote's back and play buttons, an Xbox, PlayStation, Switch or 8BitDo controller, a mouse where hovering focuses like a pointer on Android TV, or a phone's touch screen — each one is boiled down to the same small set of actions before the screen ever sees it, which is why all of them work everywhere. The layout keeps its distance from the edges the way TV interfaces have to, because some televisions still crop them.
- code
- 2,590 lines: one JavaScript file, a stylesheet, and a small PHP backend
- framework
- none, and no build step
- library
- 355 entries, shared with media-manager
- data
- The Movie Database, Steam, YouTube trailers
- built
- one morning, in one go
Still rough
It is my library, so the rows are my taste and yours will look different; there is no way to bring your own yet. The first launch spends a minute matching everything before the home screen appears. And it will very likely replace the app it was built on top of.