Majoritatea aplicațiilor mobile sunt groaznice – iată de ce

Plouă în București, când Marius așteaptă autobuzul 311. La oprire, încearcă o nouă aplicație de transport, care nu pare să încarce offline. Biletul pe care l-a cumpărat ieri nu se afișează și nici atunci când a făcut actualizările în timp real datele nu au fost sincronizate.

În calitate de dezvoltator mobil, știe exact de ce aplicația e proastă:

  • Nu este construit pentru a funcționa offline.
  • Nu sincronizează datele în timp real.

Este un dezastru. Știe că oamenii nu o vor folosi.

Aceasta este adevărata provocare – adopția. Este extraordinar și bine să creezi o aplicație, dar câți oameni vor folosi efectiv aplicația? Utilizatorii se așteaptă ca aplicațiile să funcționeze rapid, să fie fiabile și există întotdeauna alternativa unui concurent dacă nu o fac.

Dezvoltatorii se bazează pe noi, cu toții, având o experiență pozitivă. Având în vedere că aplicațiile pentru consumatori de top (de exemplu Whatsapp, Instagram, Netflix) stabilesc noi standarde, este dificil pentru jucătorii noi – care nu pot avea echipa și banii pe care Netflix îi are – să corespundă așteptărilor.

Dar există speranță – iată cum să construiți o aplicație excelentă fără o armată de dezvoltatori.

Lucrând offline
Chiar și la 10 ani de la creșterea smartphone-urilor, nu putem presupune că dispozitivele vor fi întotdeauna online. Dezvoltatorii trebuie să se gândească offline în primul rând la construirea unei aplicații.

Cei mai buni profită din plin de conectivitate atunci când sunt disponibili, dar înțeleg că este temporar.

Pentru offline, aplicațiile au nevoie de o modalitate de a stoca date pe dispozitiv. În acest fel, ele pot funcționa în continuare când serviciul scade.

Din păcate, majoritatea aplicațiilor folosesc astăzi baze de date care nu sunt concepute pentru mobil. Mulți folosesc cadre relaționale care nu sunt intuitive pentru dezvoltatori și încetinesc implementarea.

Dezvoltatorii trebuie să scrie linii pe linii de cod personalizate. Rândurile și coloanele de date au nevoie de cod de mapare personalizat pentru a le putea rula cu obiecte la care dezvoltatorii lucrează.

Acest lucru are un impact asupra performanței aplicației – ecranele durează mai mult timp pentru încărcare, iar funcțiile devin inutilizabile.

Sincronizarea datelor în timp real (sau lipsa)
Aceste baze de date vechi nu au o soluție de sincronizare nativă, în timp real. Înseamnă că nu pot să sincronizeze datele între un dispozitiv și un server backend atunci când un utilizator este online. Utilizatorii sfârșesc văzând date inexacte în aplicația lor sau aplicația s-ar putea bloca cu totul.

De asemenea, sincronizarea funcționează caracteristicile pe care utilizatorii le așteaptă acum în aplicațiile mobile. Gândește-te în timp real la mesagerie, colaborare și capacitatea de a vedea unde se află taxiul tău în acel moment. Fără aceste caracteristici, oamenii nu o vor folosi.

Nu sunt întotdeauna ușor de inclus, deoarece:

  • Dispozitivele mobile întorc întotdeauna între online și offline.
  • Datele se schimbă adesea în multe locuri și pot apărea conflicte de date.


Aplicațiile mobile trebuie să reflecte date exacte, chiar dacă datele se vor schimba pentru mulți utilizatori, dispozitive și backend.

Pe măsură ce utilizatorii iau măsuri pe un dispozitiv offline, schimbările de date rămân pe dispozitivul mobil. Odată ce dispozitivul este online, datele trebuie sincronizate între dispozitiv și backend.

În mod inevitabil, apar conflicte de date și, dacă nu sunt gestionate bine, utilizatorii vor găsi date neactualizate, inexacte sau pierdute.

Sincronizarea necesită mult timp pentru a se dezvolta datorită cantității și complexității codului personalizat necesar. Dezvoltatorii care construiesc o soluție de sincronizare au ei înșiși un set de opțiuni mai puțin decât ideale:

  1. Ei pot alege să nu sincronizeze datele și, în schimb, să descarce toate datele pe un dispozitiv: Acesta este în cache și are problemele sale. Datele nu se pot actualiza ușor. Ocupă spațiu pe telefonul mobil al unui utilizator și scade durata bateriei.
  2. Creează o soluție de sincronizare, dar urmărește să o menții simplă: Soluțiile simple de sincronizare oferă rareori o experiență bună a utilizatorului. Rezolvarea conflictelor este intrinsec complexă. Necesită rețea personalizată și cod de rezolvare a conflictelor. Încercarea de a-l simplifica cu o logică simplă va duce la faptul că utilizatorii vor vedea date care nu sunt actualizate.
  3. Construiți o soluție de sincronizare, funcționând cu REST: La suprafață, lucrul cu REST poate apărea simplu. Însă lipsa unei conexiuni garantate o complică. Când conexiunea scade în timp ce sincronizați datele, trebuie să existe o logică pentru a gestiona erorile și să încercați din nou trimiterea datelor. Scrierea acestui cod este complexă. Poate dura săptămâni sau luni de muncă și mii de linii de cod. Simplitatea REST se dovedește a fi mult mai complicată în realitate.

Construirea aplicației mobile folosind „calea corectă” este grea. Cu dispozitivele care pierd semnalul de la bloc la bloc, aplicațiile au nevoie de cod personalizat pentru a încerca din nou solicitările și gestionarea erorilor atunci când încercați să sincronizați datele. Dacă la un moment dat acest cod nu funcționează perfect, aplicația s-ar putea bloca.

O aplicație mediocră duce la adopție scăzută și recenzii proaste
Datastourile vechi și sincronizarea datelor DIY au consecințe cu care suntem prea familiari:

  1. Impact negativ asupra dezvoltării aplicațiilor și a productivității dezvoltatorilor: dezvoltatorii petrec timp scriind cod suplimentar și complex. Acesta încetinește dezvoltarea funcțiilor cheie pe care utilizatorii le doresc.
  2. Performanțe slabe ale aplicației: aplicațiile cu baze de date vechi și sincronizare slabă rulează lent și se prăbușesc.
  3. Adopție și păstrare scăzută: o aplicație mediocră nu se va obișnui. Utilizatorii îl vor dezinstala, pierzând timp și bani.

Soluția
Dezvoltatorii astăzi au o alegere grea. Creați o aplicație rapid și compromite performanța sau construiți-o bine și plătiți prețul (timp și bani).

Ceea ce au nevoie este o abordare simplificată care funcționează pentru ei. Una care este flexibilă, intuitivă și mobilă în primul rând.

Noi la Up2Date Software putem să te ajutăm cu această problemă. Folosind noile tehnologii nu compromitem performanța aplicației și oferim o experiență placută de utilizare în diferite medii de funcționare.

Dacă te-am convins, nu ezita să ne contactezi.

Sursă articol