Szoftver fejlesztés hordható eszközre Wear OS platformon

2022. máj. 05. 4 min read Viselhető technológiák
Szoftver fejlesztés hordható platformra

Amikor mobil szoftverfejlesztésről beszélünk, akkor általában arra gondolunk, hogy a fejlesztendő alkalmazás okostelefonra és/vagy tabletre készül. Mikor egy új projekt fejlesztésébe kezdünk az Enlightnál, akkor megnyitjuk az Android Studiot és választunk a különböző eszköztípusokra szabott sablonok közül.

Új egyedi szoftver projekt indítása Android Studioban

Mi is általában okostelefonra és tabletre tervezünk / írunk szoftvereket, de ez a cikk most egy másik mobil szoftverfejlesztési ággal fog foglalkozni: az okosórával.

Ebben a cikkben arról fogunk mesélni, hogy milyen kihívásokkal szembesültünk egy olyan egyedi szoftver fejlesztése kapcsán, melyet Wear OS rendszert futtató okosórákra készítettünk el. A kliensünk egyedi igényeire szabott egyedi szoftver fejlesztése kapcsán rendkívül sok szűk keresztmetszettel szembesültünk mely az okosóra platform velejárója.

2013-ben jelentek meg azok a viselhető eszközök a piacon először, melyekre már okosként hivatkozhatunk, hiszen Android operációs rendszert futtatnak. Ettől kezdődően fokozatosan kerültek át olyan use-case-ek az okostelefonokról, melyeket kézenfekvőbb elvégezni egy okosórán. Értesítések olvasására, aktivitás követésre és értintésmentes fizetésre is ergonomikusabb megoldás a csuklónkon lévő okoseszköz használata.

A Wear OS az Android operációs rendszernek egy olyan verziója, mely okosórákra és különböző hordozható okoseszközökre lett optimalizálva. A Wear OS képes szinkronizálni a párosított eszközök értesítéseit, támogatja a hangvezérlést és egy érintőkijelzőn keresztül vezérelhető. A Wear OS integrálható a Google szolgáltatásaival, például a Google Assistantal és a Google mobilszolgáltatásokkal (beleértve a Gmailt, a Google Mapset és a Google Payt), valamint a Play Storeból is lehet rá telepíteni alkalmazásokat.

Kihívások

Üzemidő

Az évek során hozzá szoktunk ahhoz, hogy mobil szoftver fejlesztés során gondoskodnunk kell arról, hogy az a fejlesztett alkalmazás kímélje a processzort, ne használja feleslegesen a Wi-Fi, Bluetooth és GPS rádiókat mert ezek pazarlása rossz hatással van az üzemidőre. A viselhető eszközök piacán ez különösen igaz, mert egy okosórában található akkumulátor mérete a huszada egy átlagos mobiltelefon akkumulátor kapacitásának.

Ügyfelünk elvárása volt, hogy az elkészült alkalmazásnak legalább olyan jól kell teljesítenie üzemidő szempontjából, mint a piacon lévő versenytársainak. Mi azt tűztük ki célul, hogy lehetőségeinkhez mérten megpróbálunk minél nagyobb versenyelőnyt biztosítani ügyfelünknek azáltal, hogy a különös tekintettel leszünk az szoftver fejlesztése során a kód hatékonyságára.

A szoftver fejlesztés során, mikor elérkeztünk az MVP verzióhoz, akkor az alkalmazás jó indulattal 30 perc képernyőidőt tudott, miközben a csuklónkra szíjazott okosóra szabályosan megégetett minket.

Képernyőidő alatt azt értjük, hogy mennyi ideőbe telik az alkalmazásnak lemerítenie az akkumulátort maximális fényerőn, bekapcsolt képernyő mellett. Azt tudni kell, hogy az MVP-ben a cél egy másodpercenként 60-szor futó dinamikusan kirajzolt grafikai téma megvalósítása volt.

Az pazarló akkumulátor használatot hardver profilozással térképeztük fel, ennek során pontos képet kapunk arról, hogy a fejlesztett szoftverünk hol és mennyi processzoridőt használ fel modulonként. Ezeket a modulokat mohó algoritmus alapján optimalizáltuk melynek során aktuálisan legtöbb processzoridőt felhasználó modult addig optimalizáltuk, amíg elfogadható szintre hoztuk a hatékonyságát.

Rengeteg munkaórát öltünk a projekt optimalizációjába, mely végül 30 percről 5 óra 17 percre növelte a képernyőidőt.

Ekkor már régen túl voltunk azon a ponton, hogy elégedettek voltunk a munkánkkal, hiszen méréseink alapján tudtuk, hogy ügyfelünk versenytársai 2 óra 40 perc körül teljesítenek átlagosan, emellett az általunk mért legjobban teljesítő versenytárs képernyőideje 3 óra 49 perc volt. Üzemidő szempontjából készen voltunk.

A WearOS operációs rendszer próbál különféle optimalizációkkal élni, például azonnal lekapcsolja a kijelzőt amint elfordítjuk a csuklónkat illetve kikapcsolja a Wi-Fi, 4G és GPS rádiókat amint szerinte nincs rájuk szükségünk, ezzel el is érkeztünk a következő fájdalom pontunkhoz.

Nehézkes hálózat elérés

A hálózat elérése általában az okosórához párosított mobileszközön keresztül történik Bluetooth kapcsolaton keresztül az esetek 95%-ban. Ez az akkumulátort leginkább kímélő megoldás, ezzel együtt ez eredményezi a leglassabb internet elérést. Amennyiben nincs közelben az okostelefon, úgy Wi-Fin keresztül kapcsolódunk a hálózathoz, ez gyorsabb, de jobban is meríti az akkumulátort. Végezetül léteznek olyan eszközök, melyekben található 4G rádió, ebben az esetben a sebességgel nincs gond, de ha pazarlóan élünk ezzel az erőforrással, akkor akár egy óra alatt lenullázhatjuk az akkumulátort.

Általánosságban elmondható, hogy sosem lehetünk biztosak abban, hogy az okosórának lesz-e internet elérése, így a frissítése lekérésénél elég nagy a bizonytalanság ezen a téren. Emiatt felkészítettük az alkalmazást a teljeskörű offline működésre, mely során 48 órára elegendő hasznos információt kérünk le egyetlen hívással

Felhasználói felület

A Google Wear OS szoftver fejlesztési alapelvei között szerepel, hogy az okosórán elvégezhető funkciókat másodpercek alatt el kell tudnia végezni a felhasználónak. Egy művelet végrehajtása nem tarthat tovább pár másodpercnél, különben a felhasználó inkább nyúl az okostelefonjához. Emiatt ez elvégezhető műveleteket rendkívül érthető és elérhető módon kell prezentálni a user felé. Az olvashatóság és az konzisztens felhasználói felület jegyében el kell felejteni az egyedi dizájn elemek használatát, csak előre definiált rendszerszinten alkalmazott elemekkel érdemes dolgoznunk.

Ezt a problémát úgy oldottuk meg, hogy a Google által fejlesztett Wear OS eszközökre optimalizált Jetpack Compose felhasználói felület könyvtárat használtuk. Ez a könyvtár még nem érte el a végleges verzióját, hiszen még nagyon fiatal technológiáról beszélünk ami cikkünk írásakor még alfa fázisban van.

Elért eredmények

egyedi szoftver fejlesztés

Piacvezető üzemidő

A viselhető eszközök piacán kritikus szempont az üzemidő. A cél az volt, hogy a megbízónknak készített szoftver a versenytársainál jobb üzemidőt produkáljon a minél nagyobb versenyelőny elérése érdekében.

Az általunk elvégzett tesztek alapján a megoldásunk a piacnál 98%-al jobb üzemidőt ért el, tehát majd kétszer hosszabb üzemidőt produkál, továbbá az méréseink alapján a második helyezett alkalmazást is 38%-al megelőzi képernyőidő tekintetében.


egyedi szoftver fejlesztés wear os

Alkalmazásba integrált webshop

Az alkalmazásba integráltunk egy webáruházat, melyet a Google Play Billing Libraryre építettük. Ennek használatával a felhasználó biztonságosan vásárolhat az alkalmazáson belül szolgáltatásokat. A felhasználónak lehetősége van az alkalmazásban lévő termékek közül vásárolnia az óráján.

Az alkalmazáson belül megvásárolható termékeket és szolgáltatásokat úgy készítettük elő, hogy azok rendkívül könnyen bővíthetőek legyenek illetve hálózat elérése nélkül is tudja őket használni a felhasználó.


jetpack compose

Innovatív technológiák

A piacon az elsők között építettünk alkalmazást a Wear OS platformra optimalizált Jetpack Compose keretrendszerre. Ennek a technológiának az elsajátításával a versenytársainknál gyorsabban tudunk a konzisztens és könnyen használható felületeket felépíteni. Ennek a technológiának köszönhetően lettek az elkészült felületeink a Wear OS rendszer UI elemeivel konzisztensek.


Olvasd rendszeresen érkező ingyenes tippjeinket

Érdekel milyen megoldásokkal tudod fejleszteni vállalkozásod digitalizálását?

Iratkozz fel szakmai hírlevelünkre

Növelni akarod a termelékenységed?

Hatékonyabban akarsz dolgozni?

Meg akarsz valósítani egy ötletet?

Telefonszám

+ 36 20 337 1596

Személyes kapcsolat

Budapesti irodánkban szívesen látjuk minden meglévő és leendő ügyfelünket.