Horizon Go
An Apple TV application used across Europe by multiple providers. Built with a dynamic interface that lets each provider customize how they present their media content to users — one platform, endless configurations.
For
icappsLiberty Global
Stack
tvOS · Swift · FairPlay · TDD
Role
Senior / Lead tvOS Developer
Year
20172018
State

Horizon Go was Liberty Global's Apple TV app — live TV and on-demand on the big screen, used by operators across Europe, each running the same app under its own brand and layout. I led the tvOS build at icapps. It was Swift over HLS, and it was built test-first.
One app, every operator
Liberty Global owns cable operators all over Europe, and the idea was one Apple TV app for all of them rather than one per market. So it was built to be configured, not rewritten: an operator's branding and its content lineup were data the app read at runtime, not code baked in market by market. On top of that ran the television itself — live channels and an on-demand catalogue, streamed over HLS so the picture held up to whatever connection a living room happened to have.
The remote was the hard part
On tvOS there's no cursor and no touchscreen — there's a small glass pad on the remote and a focus engine that decides, from your swipes, where attention should jump next. For a grid of posters that engine does the work for you. The moment you want something it didn't anticipate — a scrubber you drag with your thumb, a gesture that behaves differently from the system's default — you're working against it, reading raw touches off an imprecise surface and telling a deliberate swipe from an accidental brush. Getting that to feel natural, on a remote people barely glance at while they use it, took far longer than the parts you can see.
Built test-first
As lead I leaned hard on tests. A TV app this size, multiplied across every operator's own configuration, has too many ways to go subtly wrong to keep in your head — so the logic was written test-first, the failing test before the code that satisfied it, which kept each operator's setup honest while the others changed around it. The app a viewer sees is a wall of posters and a remote that feels right. Most of what made that work sat underneath it, in tests no one watching will ever see.
Home
Login
Tv Guide