Horizon Go
Een Apple TV-app die in heel Europa door meerdere providers wordt gebruikt. Gebouwd met een dynamische interface waarmee elke provider zelf kan bepalen hoe hij zijn media-inhoud aan gebruikers toont — één platform, eindeloze configuraties.
Voor
icappsLiberty Global
Stack
tvOS · Swift · FairPlay · TDD
Rol
Senior / Lead tvOS Developer
Jaar
20172018
Status

Horizon Go was de Apple TV-app van Liberty Global — live tv en on demand op het grote scherm, gebruikt door providers in heel Europa, elk met dezelfde app onder een eigen merk en lay-out. Ik leidde de tvOS-bouw bij icapps. Het was Swift over HLS, en het werd testgedreven gebouwd.
Eén app, elke provider
Liberty Global bezit kabelproviders door heel Europa, en het idee was één Apple TV-app voor allemaal in plaats van één per markt. Dus werd ze gebouwd om geconfigureerd te worden, niet herschreven: het merk van een provider en zijn contentaanbod waren data die de app bij het opstarten inlas, geen code die per markt werd ingebakken. Daarbovenop draaide de televisie zelf — live zenders en een on-demand catalogus, gestreamd over HLS zodat het beeld standhield bij om het even welke verbinding een woonkamer had.
De afstandsbediening was het lastigst
Op tvOS is er geen cursor en geen aanraakscherm — alleen een klein glazen vlak op de afstandsbediening, en een focus engine die uit swipes afleidt waar de aandacht heen moet. Voor een raster van posters doet die engine het werk vanzelf. Maar zodra er iets nodig is wat ze niet voorzag — een tijdbalk die met de duim versleept wordt, of een gebaar dat afwijkt van de standaard — begint het vechten tegen die engine: ruwe aanrakingen aflezen van een onnauwkeurig vlak, en een bewuste swipe onderscheiden van een toevallige veeg. Dat natuurlijk laten aanvoelen — op een afstandsbediening waar mensen tijdens het gebruik nauwelijks naar kijken — kostte veel meer tijd dan de zichtbare delen.
Testgedreven gebouwd
Als lead leunde ik zwaar op tests. Een tv-app van dit formaat, vermenigvuldigd met de eigen configuratie van elke provider, heeft te veel manieren om subtiel fout te gaan om die allemaal in het oog te houden — dus werd de logica testgedreven geschreven, de falende test vóór de code die hem liet slagen, wat de opzet van elke provider eerlijk hield terwijl de andere eromheen veranderden. De app die een kijker ziet, is een muur van posters en een afstandsbediening die juist aanvoelt. Het meeste van wat dat mogelijk maakte, zat eronder, in tests die niemand ooit te zien krijgt.
Home
Login
Tv Gids