Blog post cover illustration Kuidas Starmani digiboksi pult mobiili kolis
Aivar
08 May 2014

Kuidas Starmani digiboksi pult mobiili kolis

Starman oli otsimas telekomivaldkonna väga pingelisest ja kiiresti muutuvast turuolukorrast tingituna arenduspartnerit, kes oleks koos nendega valmis kiirelt arenduste suunda muutma, kui selleks peaks vajadus tekkima. Time to market polnud nende jaoks pelgalt termin õpikust, vaid igapäevane fraas. Õnneks meile ka.

Sarnaselt teistele uutele projektidele, pakkusime kliendile kõigepealt võimaluse suhteliselt riskivabalt meiega koostööd proovida. Leppisime kokku, et teeme Androidiga telefonidele prototüübi, millega saaks mobiili STARbox-iga siduda, saateid salvestama panna, meeldetuletusi lisada ning saatekava lehitseda.

Esimene suurim väljakutse oli tehnoloogia valik - kas native rakendus iga platvormi jaoks või mitte. Mõlemal lahendusel on omad eelised ja puudused. Otsustasime minna native rakenduste teed. Üheks põhjuseks oli telekavade suur maht, millele vaatamata ei tohi kasutajaliides kuidagi aeglaseks ja hakkivaks muutuda. Näieks grid-vaates kuvame korraga suurt hulka informatsiooni, mida peab saama sujuvalt kerida nii vertikaalselt kui ka horisontaalselt. Piloot kestis kaks nädalat, Starmanile töö tulemus meeldis ja otsustasime sujuvalt edasi minna täismahus projektiga.

Tehniline külg ehk teekond puldini mobiilis

Mobiilirakendus oli esialgu pigem read-only, kuid üsna kiiresti lisandusid lõppkasutaja jaoks ägedad featuurid - meeldetuletuste seadmine, saadete salvestamine, puldi funktsionaalsus.

Kuna suutsime kiirelt uute ideedega kaasa minna ja lisaks mobiilile ka muudesse teemadesse oma nina toppida, siis järgmisena pühendati meid STARboxi ehk digiboksi edasiarendustesse. “Boksid” on suhteliselt piiratud protsessorivõimsuse, mälumahu ja sellest johtuvalt ka arendusvõimalustega. Nende peal “jooksevad” tavaliselt stripped-down Linuxi versioonid, ning digiboksi enda tarkvara on reeglina üsna kinnine süsteem, mille arendajaid ei ole liiga palju. Starmanil oli soove rohkem, kui olemasolev partner suutis neid realiseerida. Ning eelkõige soovis Starman, et need saaksid kiiresti tehtud. Õppisime digiboksi baastarkvara API kasutamise ära ning hakkasime kasutajaliidest ise tegema. Boks oli ja on täiesti proprietary maailm, üsna vana tehnoloogia - digibokside peal jooksevad enamasti C-rakendused, mille arenduskiirus ja -mugavus ei ole kaasaegsete vahenditega võrreldavad.

Mobiilirakendust ja boksi arendades tekkis koostöös Starmani meeskonnaga uus idee - eelpool mainitud telekapult mobiilis. See tähendab, et STARboxi funktsionaalsust (kanalite vahetus, helitugevus jms) saab juhtida mobiilirakendusega. Puldi realiseerimisel oli suurimaks väljakutseks STARboxi ja puldirakenduse suhtlus reaalajas. Kaalusime erinevaid tehnoloogiaid, kuid otsustasime kasutada websocketeid. Valiku tegemisel võtsime arvesse juba olemasolevat infrat, olemasolevate teekide olemasolu erinevate platvormide jaoks ning kasutamise lihtsust. Websocketite puhul olid kõik need tingimused täidetud.

Edasi oli juba lihtne - tuli STARbox ja mobiil serveriga ühendada ning ühest seadmest teise (ja ka vastupidi) sõnumeid saatma hakata. Pult ütleb, mida peab STARbox tegema ning boks ütleb mobiilile vastu, mis staatuses ta on, mis kanal või saade parasjagu käib jms.

Koostööd teevad inimesed

Agile projektide puhul on ootused tellijale suured. Ta peab igal ajahetkel kerkivatele arendajate küsimustele kiiresti vastama, ülesandeid väga konkreetselt prioritiseerima, valmiva funktsionaalsusega pidevalt kursis olema ning tagasisidet andma, kas ikka tehakse õiget asja.

Muidugi, siia veebi ei saakski kirjutada, et mõni meie klient ei saa selle tööga hakkama. Aga meie senise koostöö põhjal võib öelda, et saavutatud tulemus ei oleks pooltki nii hea, kui poleks Starmani meeskonda alates ettevõtte paindlikust ja kiirest juhtkonnast kuni nutikate projektijuhtide ja insenerideni välja. Meil tekkis hea klapp ja koostöös sündisid mitmedki uued ideed - kasvõi seesama pult.

UI / disain vastavalt vahendile

Meie disaineri roll suurenes projekti käigus pidevalt. Kliendil oli nägemus mobiilirakenduse disainist enne töö algust paigas. Edasi tuli aga puldi idee. Alguses sooviti lihtsalt olemasoleva STARboxi puldi koopiat. Hea UI jaoks oli aga sel juhul nuppe mobiiliekraanil paljuvõitu.

Mõtlesime siis reaalsed kasutusjuhud läbi, mida pult teeb igal ajahetkel STARboxiga suheldes ja nõnda ei olnudki vaja telefoni ekraanil kogu puldi klahvistikku näidata. Disainer kohendas vastavalt visuaali ja peitis liigse kasutaja eest ära. Less is more, on üks me tiimi toimimispõhimõtteid.

Äri

Turusituatsioon digitelevisiooni valdkonnas oli ja on kogu aeg terav, klient pidi pidevalt lisaks omade plaanide elluviimisele jälgima peamiste konkurentide tegevust ja sellele ka reageerima. Kiire time to market oli üks peamisi eesmärke. Ja võib uhkusega öelda, et tänu agiilsetele meetoditele me ka pakkusime seda. Teisiti ei oleks see meie arvates üldse võimalikki.

Agile tähendab muuhulgas, et tarkvara peab kogu aeg töökõlbulik olema. Kuidas me seda teeme? Me arendame funktsionaalsust kasutusjuhtude kaupa. Näiteks: “kasutaja saab mobiilipuldis kanalit vahetada”, “kasutaja saab mobiilipuldis panna saate salvestama” jne. Lisaks on kriitiline funktsionaalsus kaetud automaatsete UI-testidega, mis võimaldab pidevalt veenduda, et tarkvara ei lähe uue funktsionaalsuse lisamisel “katki”. Nõnda saabki käigu pealt prioriteete muuta ning lisada just seda funktsionaalsust, mida turg hetkel nõuab.

Veel üks huvitav nüanss - time and material tüüpi hinnastamisel, mida antud projektis kasutasime, kardetakse kontrolli kaotamist eelarve üle. Starmani projekti on hea näide, kus see pigem aitas kontrolli hoida. Leppisime kokku, kui palju on mõistlik konkreetsesse rakendusse või funktsionaalsusesse investeerida ja valvasime teineteise rahakotti.

Mis edasi?

Ühised projektid jätkuvad, stay tuned!

Off topic

Töö käigus tuli kokku puutuda kõigi Starmani võrgus näidatavate telekanalitega. Sealhulgas loomulikult ka XXX kanalitega, kuna pidime näiteks noorematele telerivaatajatele teatud piirangud looma. Selle teemaga seoses tekkis kontoris elevust, mille tulemusena tuli välja selgitada, kas mees-pornostaarid on siiani vuntsidega või mitte.

Our recent stories