În prezent, la nivel global există 4.77 miliarde de utilizatori ai telefoanelor mobile. Aceștia au la dispoziție 2.8 milioane de aplicații pe platforma Android și peste 2,2 milioane de aplicații pe iOS. Telefoanele mobile sunt folosite peste tot în jurul nostru: în școli, pe străzi, în autobuze, în mașini personale, etc. . Astfel, este o adevărată provocare să faci față diversității dispozitivelor mobile. Aplicațiile ar trebui să funcționeze și să arate perfect pe toate dispozitivele, indiferent de mărime, orientare sau caracteristici. În prezent, cea mai populară dimensiune a ecranului este de 5,4 inch (dimensiunea iPhone 6), fiind evaluată drept cea mai potrivită pentru fi ținută cu ușurință într-o singură mână. Studiile recente arată că majoritatea utilizatorilor țin telefoanele cu o singură mână și preferă modul portrait. Cu toate acestea, ei își rotesc des dispozitivele din motive ergonomice.
Modul în care utilizatorii folosesc telefonul este influențat de o serie amplă de factori. Aceștia pot fi clasificați în două categorii - interni și externi.
Factorii interni fac directă referire la conținutul aplicației. Categoria aplicației și principala sa funcție influențează nevoile și așteptările utilizatorului. Factorii externi implică o mulțime de variabile, ceea ce face ca analiza comportamentului utilizatorilor să fie foarte dificilă și volatilă. Aceștia se referă la profilul utilizatorului, dispozitivul, starea de spirit, activitatea sau locul acestuia. De ce utilizatorul preferă o orientare în ciuda celeilalte? Un amestec al acestor factori este răspunsul.
În schema de mai jos este ilustrat modul în care factorii externi influențează utilizatorul în alegerea orientării ecranului.
Facebook, YouTube și Gmail, câteva dintre cele mai utilizate aplicații din lume, oferă suport pentru ambele orientări. În unele cazuri, utilizatorii preferă mai mult o orientare decât cealaltă. Oferindu-le posibilitatea de a opta între acestea, poate crește satisfacția acestora. Pe de altă parte, dacă această caracteristică nu este cu adevărat utilă, o serie de resurse valoroase de timp și bani vor fi irosite.
În Android, modificările de orientare sunt destul de dificil de gestionat. Un eveniment este declanșat de către sistem ori de câte ori întoarceți dispozitivul dintr-o orientare în alta, provocând o schimbare de configurație. Comportamentul implicit al unei activități este de a reporni. Se apelează onDestroy()
, urmat de apelarea metodei onCreate()
. În general, este recomandat ca sistemul să se ocupe de aceste evenimente. Cu toate acestea, dacă doriți să evitați repornirea activității, puteți declara acest eveniment în fișierul manifest, în atributul android:configChanges
:
<activity android name=".MainActivity"
android:configChanges="orientation|keyboardHidden
android:label="@string/app_name">
În unele situații, oferirea de suport pentru ambele orientări, aduce un plus aplicației, dar în altele nu. Pentru a lua o decizie în acest sens, analizați nevoile utilizatorilor în raport cu funcționalitățile aplicației. Încercați să găsiți răspuns la următoarele întrebări:
Încă confuz? Să aflăm mai multe despre cele două orientări:
Modul landscape este frecvent utilizat în aplicațiile media unde conținutul poate fi vizualizat dintr-o perspectivă mai bună. Este cazul dispozitivelor cu ecran mic. Când degetele sunt mai mari decât tastele, ești predispus să faci o mulțime de greșeli de scriere prin apăsarea unei taste greșite. Astfel, unii utilizatori se simt mai confortabil să scrie cu ambele mâini și acest lucru este mai ușor de făcut folosind acest mod. Aplicațiile utilizate de obicei în modul landscape sunt cele de navigare, jocurile sau cele media.
Modul portrait este preferat pentru comenzile rapide, cum ar fi inițializarea unui apel, scanarea unui QR code sau setarea unei alarme. De asemenea, textele sunt adesea preferate a fi citite în acest mod, deoarece sunt afișate mai multe rânduri simultan, iar citirea lor este mai lină, fără a fi nevoie de funcția de scroll în exces. Atunci când țineți dispozitivul cu o singură mâna, este mai ușor să îl țineți în această orientare.
Să ne imaginăm o situație reală:
Ai invitat la cină trei persoane. Fața de masă, farfuriile și paharele au fost așezate cu atenție pe masă. Totul pare perfect, până când doi prieteni vin pe neașteptate și doresc să vi se alătură la masă.
Ar trebui să rearanjezi masa, dar fără a-i deranja pe ceilalți oaspeți care deja mănâncă și se bucură de cină. Oamenii care stau deja la masă, se așteaptă să găsească totul într-o poziție similară după noua aranjare. Deci, nu este o idee bună să adăugi sau să scoți alte lucruri de pe masă. Cea mai bună soluție este să minimalizezi modificările și să pui încă două farfurii și pahare pentru ultimii oaspeți, fără a-i deranja sau dezorienta pe ceilalți.
"A user interface is like a joke. if you have to explain it it's not that good."
Lucrurile arată asemănător și în lumea telefoanelor mobile: utilizatorii rotesc frecvent telefonul din greșeală, fără nici o intenție de a face acest lucru. Chiar și din greșeală, utilizatorii se așteaptă să vadă același conținut după o rotație. Ochii lor vor fi focalizați în aceeași direcție ca înainte de schimbarea orientării. Deci, designul pentru ambele orientări ar trebui să fie similar pentru ca utilizatorii să-și regăsească ușor focalizare. Consistența este esențială pentru gestionarea cu succes a schimbărilor de orientare.
În Android, înainte de a reporni activitatea, onSaveInstanceState() este apelat să salveze starea actuală a aplicației. Puteți să suprascrieți această metodă pentru a salva propriile date, iar pentru a le lua, puteți să utilizați onCreate() sau onRestoreInstanceState(). Puteți defini un layout alternativ pentru orientarea landscape, astfel:
Project/
res/
layout/
activity_login.xml
layout-land/
Activity_login.xml
Pentru mine, oferirea de suport pentru ambele orientări înseamnă mai multă libertate acordată utilizatorilor. Înainte de a decide dacă aș susține sau nu schimbările de orientare, aș încerca să înțeleg foarte bine nevoile utilizatorilor. Dacă rezultatele atestă că suportul pentru ambele orientări aduc o îmbunătățire pentru aplicație, aș investi în resursele necesare. Construirea unei aplicații este ușoară, dar construirea unei aplicații de succes nu este. Asigurarea suportului pentru ambele orientări poate contribui de asemenea la construirea unei aplicații de succes!