Mellékleteink: HUP | Gamekapocs
Keres

A válaszképesség és a stabilitás a legfontosabb a mobilappoknál

Dojcsák Dániel, 2014. április 01. 13:37
Ez a cikk több évvel ezelőtt születetett, ezért előfordulhat, hogy a tartalma már elavult.
Frissebb anyagokat találhatsz a keresőnk segítségével:

Nehéz elképzelni azt, hogy az androidos mobilalkalmazások milyen bonyolult környezetben kell helytálljanak. Gyakran sajnos maguk a fejlesztők sem képzelik el és nem számolnak azzal, hogy az app mögött álló vállalat, szolgáltató milyen veszteségeket szenved el a nemtörődömség miatt.

A Crittercism nevű, mobilalkalmazások teljesítménymenedzsmentjével (mAPM) foglalkozó szolgáltató saját adatbázisából készített egy kimutatást, ami rávilágít a mobilos felhasználói élményt meghatározó problémákra, a számokat lefordítva a költségek szintjére is. A Crittericism másodpercenként 30 ezer lekérést dolgoz fel, összesen 1 milliárd felhasználóra lát rá, olyan alkalmazások működtetéséhez nyújt megoldásokat, mint a PayPal, LinkedIn, Pinterest, eBay, Netflix, Pulse, Yahoo! vagy a Bloomberg. Jelen kutatás olyan fejlesztők adataiból áll össze, akik a Crittercism rendszerét használták optimalizálásra, elemzésre. A teljes valóság, így az itteni adatoknál rosszabb lehet, hiszen, akik már szánnak erőforrást az app jobbá tételére, valószínűleg érnek is el eredményeket.

Nem egyszerű

A sokszínű tapasztalatok minden esetben oda vezetnek, hogy kiderül, hogy nincsenek egyszerű alkalmazáskörnyezetek, rettentő nehéz a teljesítményt és a magas szintű felhasználói élményt garantálni. Az app-piacterek felhasználói értékelései közt böngészve gyakran látni homlokegyenest eltérő tapasztalatokat, visszajelzéseket: míg az egyik felhasználónál kitűnően fut egy program, addig a másiknál folyamatosan kifagy. Az elemzések szerint számtalan tényező befolyásolja, hogy a bonyolult alkalmazásokat végül milyennek ítélik a felhasználók, de a két legfőbb bástya a fagyások gyakorisága, illetve az app folyamatos válaszképessége.

Ez a két egyszerű faktor a nagy árbevételű szolgáltatásoknál jelentős mértékben képes befolyásolni az üzleti eredményeket is. Olyan alkalmazásoknál, mint a Starbucks, ahol a Business Insider becslése szerint 1 milliárd dollár feletti mobilon keresztül érkező bevétel keletkezik, ott egy 97 százalékos rendelkezésre állás azt jelenti, hogy a cég 2,5 millió dollárt veszít évente. Ehhez mindössze 21 órás leállás kell. Ha sikerült 99,9 százalékos stabilitást elérni, ugyanez már csak 4 perc, a veszteség pedig nagyságrendileg 82 ezer dollár.

A komplex környezetekben a leállás igen nehezen elkerülhető, rengeteg tényező előidézhet katasztrófát, leállást. Az első, mindenki által ismert ilyen tényező a platformtöredezettség, a fragmentáció. A mai mobilos világban a Crittercism statisztikái szerint 2582 féle gyártói eszköz található meg, ezeken 106 féle operációsrendszer-verzió fut, az adatbázisban szereplő okostelefonok 691 mobilszolgáltatóhoz csatlakoznak. Ez így összesen 100 milliós nagyságrendű permutációt jelent, ezt kitesztelni lehetetlen, mindig lesznek felhasználók, akiknél hibák jelennek meg.

Átlagosan hat külső szolgáltatástól függ egy app működése

A második fő tényező, ami erősen befolyásolja manapság egy app működőképességét, már külső. Egy átlagos alkalmazás több mint hat különböző webes szolgáltatáshoz kapcsolódik és a futása, az általa nyújtott élmény többnyire függ is ezektől. A legegyszerűbb eset a Facebook ID a bejelentkezésre, de tipikus az Amazon Web Services az adattárolásra vagy a Flurry használata az analitikára. A tanulmány szerint az appok 43 százaléka ötnél több ilyen szolgáltatástól függ, de az appok 8 százaléka 16-nál is több külső csatornát vesz igénybe. Ez azt jelenti, hogy nem elég magát az alkalmazást stabilra írni, de a háttérben is gondoskodni kell a folyamatos készenlétről, vagy lekezelni azt, ha kiesik egy kulcsfunkció. A Foursquare-, Tumbler- és Twitter-felhasználók a korai időszakból jól emlékezhetnek arra, hogy szinte minden nap leálltak a szolgáltatások 10-30 percre, gyakran az Amazon cloud túlterheltsége miatt.

A felhasználó azonban nem fogja szétválasztani, hogy éppen mi miatt nem éri el a kívánt funkciót vagy miért nem töltődik be egy oldal. A fejlesztőnek kell folyamatosan belátni a motorháztető alá és kiértékelni, hogy a futtatáskori környezet mennyiben tér el a tesztekben mért értékektől vagy elvárásoktól. A felhasználók alapesetben 1 másodperc alatti visszajelzéseket várnak egy alkalmazástól, az adatok viszont azt mutatják, hogy az esetek 9 százalékában ennél nagyobb késleltetés van. Ráadásul a szolgáltatások mobilról érkező hívásakor 5 százalék feletti a hibaarány az esetek 18 százalékában. Ez tovább rontja a felhasználói élményt, hiszen az egyébként éppen működő szolgáltatásokról is visszapattanhatnak az emberek.

A globális API-k világában figyelni kell arra is, hogy hiába teszteli ki valaki az USA-ban vagy például Magyarországon az alkalmazást, a vezeték nélküli hálózatok sávszélessége és késleltetése országonként és azon belül területenként is jelentősen eltér. Emiatt szükségszerű lehet optimalizálni az alkalmazás futását ilyen szempont szerint is regionális felosztásban. A Crittercism mérései szerint, ha az USA hálózatminőségét vesszük 100 százaléknak, akkor Kanada 80, Európa 120, India viszont 210 százalékos késleltetést jelent.

Sokat hibázik a Facebook API

Ráadásul a különböző API-k elérése is tág határok között változhat. A felmérés tanúsága szerint a legkiegyensúlyozottabb szolgáltató a százas nagyságrendű helyi adatközponttal rendelkező Google analitikai szolgáltatása, ami 0,1 százalékos hibaarányt és 237 ms késleltetést tud felmutatni átlagosan. A Flurry ehhez képest már 0,5% és 750 ms, a YouTube 1,2% és 420 ms, a Facebook pedig 2,5 százaléknyit hibázik és 669 ezredmásodpercig tart átlagosan egy lekérdezés.

Akár a külső szolgáltatások akasztják meg a menetet, akár egy belső hiba, a felhasználó számára a legerősebb mérőszám, hogy mennyi ideig tudja használni az alkalmazást anélkül, hogy az kifagyna, illetve mennyi az esélye, hogy egy használat alatt nem történik fagyás. A Crittercism alapján mindössze az appok 53 százaléka képes 99-100 százalékos megbízhatóságra, az appok 47 százaléka minden századik nekifutásnál megbotlik, 32 százalék pedig több mint 2 százalékban omlik össze. Ehhez képest a sokkal hektikusabbnak tartott webes világban 99,9 százalékos a normának tekintett uptime.

Senkit nem ér perszer meglepetésként, hogy a fagyások gyakorisága erős összefüggést mutat az operációs rendszerekkel és azok verzióival és persze az eszközök típusával, amin futnak. Android alatt a statisztikák szerint a legrosszabb értékekkel a Gingerbread rendelkezik, illetve a tableteken mindig több a fagyás, mint a hasonló paraméterrel rendelkező okostelefonokon. A fejlesztők nem figyelnek oda eléggé a visszamenőleges kompatibilitásra, illetve a tabletet még mindig nem veszik kellően komolyan. A nagy tömeg azonban mindig jó hatással van a stabilitásra, a Samsung eszközei okostelefon és tablet kategóriában is birtokolják a legjobb helyeket. iOS alatt is hasonló a helyzet, az új iOS 7.1 alatt futó appok a legstabilabbak, illetve az iPad, főleg a régi iPad többször fagy mint az újak. A legkevésbé veszélyeztetett eszköz az iPhone 5 iOS 7.1-gyel, ha valaki biztosra akar menni, akkor ezt a kombinációt használja.

Azok az appok a legstabilabbak, amiknél pénzre megy a játék

Kategóriánkénti bontásban nem meglepő módon a tucatra készülő játékprogramok fagynak a leggyakrabban. A játék kategóriában az átlagos fagyási arány 4,4 százalék, vagyis ezer indításból 44-szer fagy ki az adott app. A legstabilabbak az e-kereskedelmi appok, itt a futtatások 0,6 százaléka végződik hibával. Érthetően itt a megrendelő pontosan látja, hogy bevétel úszik el a hibás működésen, jobban odafigyel a csiszolásra. Az üzleti-, hír-, szórakoztató-, média-, fotó- és videóappok az esetek 1,2-1,8 százalékában rontanak. A tapasztalat az, hogy minél inkább grafikaintenzív egy alkalmazás, annál inkább hajlamos kifagyni, a fizetési tranzakciót kezelő appokra viszont sokkal jobban figyelnek fejlesztőik.

A teljes kutatási jelentés további adatokkal és érdekességekkel letölthető a Crittercism oldaláról egy ingyenes regisztrációt követően.

Facebook

Mit gondolsz? Mondd el!

Adatvédelmi okokból az adott hír megosztása előtt mindig aktiválnod kell a gombot! Ezzel a megoldással harmadik fél nem tudja nyomon követni a tevékenységedet a HWSW-n, ez pedig közös érdekünk.