Suomalainen Qt on erikoistunut sulautettujen laitteiden käyttöliittymien suunnitteluun. Siihen sisältyy kuitenkin vanha ongelma: kuinka voi tietää, millaisia UI-elementtejä ja käyttöliittymää valitulla laitteistolla voi ajaa. Qt:llä kehittäjien koulutuksesta vastaava Tino Pyssysalo esitti ongelmaan ratkaisun ETN:n järjestämässä sulautetun tekniikan ECF19-tapahtumassa.
Pyssysalon mukaan kyse on yleisesti ohjelmistosuunnittelija ja laitesuunnittelijan dilemmasta. Miten voi optimoida suunnittelun kustannukset, jos ei tiedä suunnittelun ohjelmistovaatimuksia?
- Voimme tietää, mitä ovat suunnittelun ominaisuudet tai näytön ominaisuudet, mutta emme tiedä mitä ne edellyttävät. Kuinka paljon tarvitaan muista? Mikä käyttöjärjestelmä valitaan?Mikä grafiikkaprosessori tarvitaan? Näitä ei tyypillisesti määritellä, Pyssysalo sanoo.
Pyssysalon mukaan kyse on ohjelmistosuunnittelijan kannalta siitä, että täytyisi tietää mitä valittu laitealusta pystyy käsittelemään. Näin ei yleensä tehdä. – Yleensä käyttöliittymä ja ohjelmisto suunnitellaan, sitten se viedään raudalle ja muutaman kuukauden päästään testaamaan softan toimintaa oikealla raudalla. Ja ups, ohjelmisto ei toimikaan. Näyttö päivittyy kolmen ruudun sekuntivauhtia, kun suorituskyky ei riitäkään.
Usein näyttökään ei riitä koodinvääntäjän vaatimuksiin. – Voi olla, ettei näyttö pysty näyttämään kaikkia käyttöliittymän yksityiskohtia, Pyssysalo kuvasi.
Tämä tarkoittaa, että raudan suorituskykyä joudutaan nostamaan, mikä lisää suunnittelun materiaali- eli BOM-kustannuksia. Ja jos puhutaan miljoonavolyymeistä, on iso valinta päätyä käyttämään kalliimpaa prosessoria ja näyttöä, ja isompaa muistia.
Tähän kustannusten optimointiin ei ole työkalua. – Optimointia tehdään usein satunnaisesti. Käyttöliittymän protokehitys vie aikaa ja meillä pitäisi olla työkalut, jotka tekevät tämän protoamisen mahdollisimman helpoksi. Ja jopa osaksi suunnitteluprosessia niin, että jo ensimmäistä UI-versiota voisi ajaa todellisella kohderaudalla.
Qt:n ratkaisu on QML-pohjainen käyttöliittymän määrittely, joka samalla toimii käyttöliittymän toteutuksena. Sen myötä UI:n vaatima muisti, suorituskyky ja esimerkiksi tarvittava grafiikkateho näkyy suoraan.
- Tämän jälkeen suunnittelun BOM-vaatimukset perustuvat eksplisiittiseen dataan, eivätkä oletuksiin, Pyssysalo esittää.
Esitys on katsottavissa ETNtv:ssä ja ECF-tapahtuman Youtube-kanavalla. Esityskalvot löytyvät täältä.