Jak se z Česka vyvíjí aplikace pro chytré televize a proč nás to baví

01. květen 2013

Portál tyinternety.cz zveřejnil rozhovor s naším CTO Petrem Mazancem na téma Vývoj aplikací pro chytré televize.

Vývoj na televize je hrozně zajímavý. To je jediná věta, která nás napadla při dotazu u ranní kávy, co lze o psaní aplikací pro chytré televize vlastně říct. Na naši obhajobu dodávám, že jsme včera až do noci ladili, byť zatím neúspěšně, brazilské video streamy, a proto se spíš než dotazu věnujeme kávě – podle chuti však nikoliv brazilské. Ač by naše odpověď slohově neobstála, obsahově je v podstatě správná. Chytré televize jsou nový, neprobádaný svět, a tak připravujeme aplikace, jaké dosud nikdo neudělal a neviděl, nebo jaké připravuje jen několik málo společností v Evropě.

Navíc je to také svět rozmanitého hardware, API a výrobců – jen na našem trhu je nejméně pět výrobců chytrých televizí, každý má vlastní SDK, několik modelových řad a podporovat je nutné i přístroje, které se na trhu již nenabízejí, ale lidé je budou mít ještě řadu let ve svých domácnostech. Každá aplikace také musí před svým zveřejněním projít schvalovacím procesem (obdobným jako je schvalování aplikací na iPhone pro AppStore), který je u každého výrobce jiný a trvá většinou týdny. Na druhou stranu náročnost vývoje a jeho jedinečnost nám umožňuje pracovat na aplikacích, které poběží v Mexiku, na Blízkém Východě nebo v Indii. I proto je zadávací dokumentace (pokud je tedy vůbec k dispozici) často napsaná španělsky, anebo je výsledná aplikace zrcadlově obrácená a veškeré texty jsou arabsky.

K vývoji se používá skoro výhradně jazyk JavaScript, podpora standardů i knihoven je ale mezi jednotlivými televizemi na různé úrovni a stejně tak je to i s jejich výkonem. Hardwarově zaostávají i za běžnými smartphony a běžně se stává, že aplikace, která jede obstojně na televizi Samsung SmartTV 2012, má problémy třeba na Philips NetTV z roku 2011 nebo ji z nějakého důvodu nelze spustit v rámci Opera TV Store. Hledání problémů a zajišťování kompatibility pak může trvat celý den a výsledkem může stejně tak být změna na pár řádků, jako nutnost celou část přepsat znova. Obrovskou roli proto hraje zkušenost a možnost neustále aplikaci testovat na různých televizích a přehrávačích – v kancelářích máme už skoro 30 různých obrazovek a zrovna dnes jsme se shodli, že musíme objednat další dvě, a kromě toho netrpělivě očekáváme nové modely pro rok 2013.

Kromě znalosti programování je nutné mít přehled o streamovacích protokolech, video formátech, jejich kódování a ochraně. Zde je několik pojmů denního využití: HLS, SmoothStreaming, Widevine, PlayReady, MPEG-DASH, icecast, progressive download, VAST, SmartClip, TTML a podobně. Je nutné znát možnosti a bezpečnostní omezení jednotlivých platforem a neustále používat nástroje pro sniffování – nejčastěji Wireshark, který spolu s logováním v zásadě nahrazuje možnost debuggování na zařízení. Velkou část kódu lze sice odladit i v emulátoru, ale bez rutinního testování na televizích si vývoj vůbec neumíme představit. Svoji roli hraje také množství různých dálkových ovladačů od běžných s číselnou klávesnicí a šipkami, přes kinetické ovladače kurzoru až po běžné klávesnice a nově také ovládání gesty a hlasem.

Jako perličku z každodenního života vývojáře můžeme zmínit technické vylepšení ovladače (zatím nepatentované), kterým je používání papírku k přelepení IR vysílače – bez tohoto zlepšováku stačí chvilka nepozornosti a stiskem jediné klávesy ovládáte najednou všechny TV stejného výrobce v místnosti. Jaké to má následky a jaké komentáře si vyslechnete, to už ponecháme na vaší fantazii. Nezbytné je také mít přehled a umět se rychle orientovat v serverových rozhraních jakými jsou třeba OOyala, thePlatform nebo Brightcove. V neposlední řadě jsou zde pak součástí práce telekonference, u kterých délka pod 60 minut a třeba jen tříhodinový časový posun patří mezi ty z příjemnějších.

Aplikace na chytrých televizích nejsou dnes ještě tak vyspělé jako jejich bratříčci na telefonech a tabletech. Je to asi pochopitelné, protože u televizí je stále nejdůležitějším parametrem kvalitní obraz a zvuk a spouštění aplikací je až ve druhém plánu. Postupně se tady situace mění, ale srovnávat dnes možnosti aplikací na iPadu a televizích prostě ještě není možné. Na druhou stranu nám ale znalost televizních platforem (aplikace napsané pro chytré televize běží i na GoogleTV, různých set-top boxech a multimediálních přehrávačích jakými jsou Boxee nebo WD Live), ke kterým teď přidáváme XBox, Roku nebo Playstation 3, umožňuje společně s kolegy vyvíjejícími na Android, iOS a Windows Phone připravit řešení, které lze provozovat na všech myslitelných platformách, což je model, který používá třeba Netflix nebo částečně i Hulu.

Nás samozřejmě nejvíc těší, že množství chytrých televizí a jejich používání postupně roste, což vidíme jednak z analýz, které plní naše e-mailové schránky, ale hlavně pak z analytických nástrojů, neboť skoro v každé aplikaci máme použité buď Google Analytics, Webtrends nebo třeba comScore. Příjemné je také zjištění, že s rostoucí zkušeností vývojářů roste i kvalita aplikací. Pokud ty první ještě před dvěma lety připomínaly spíše webové stránky, dnes jsou plné grafických efektů a ty nejlepší z nich jsou plně srovnatelné s aplikacemi na tabletech.

Protože se u nás vývojem pro chytré televize zabývá již skoro polovina vývojářů, vznikl v naší společnosti Mautilus nápad pořádat každoroční konferenci o chytrých televizích. První ročník se koná 7. března 2013 v Praze (www.tvcon.tv). Je to pro nás tak trochu neznámá a také je nám jasné, že nejde co do rozsahu o londýnský TVConnect, ale je to začátek a pokud se během následujících pěti let vyplní analýzy předpovídající skoro miliardu chytrých televizí, tak je možné, že jednou bude TVCON největší akcí ve střední Evropě. Tak se přijďte podívat, jak se nám to povede!