Når man designer apps er en vigtig designovervejelse hvor og hvordan data hentes og lagres. Det lyder måske som en nem beslutning, men det er det faktisk sjældent. Valget kan være afgørende for hvor brugervenlig en app er, hvor godt den virker offline og hvor hurtig den føles.
Med andre ord et vigtigt designvalg – som ikke desto mindre ofte ikke fylder så meget i designprocessen.
Her kommer 5 forskellige “patterns” for hvor og hvordan dataene hentes og lagres i apps – og en case for hver.
1. Brænd data ind i appen
Hvis data sjældent ændres eller hvis målgruppen ikke kan forventes at have adgang til en god Internetforbindelse, så kan det være en løsning af lægge alle dataene ind i appen.
Fordelen ved at lægge alle data ind i appen er selvfølgelig at den åbner hurtigt og ikke kræver en Internet-forbindelse. Ulempen er at appen kræver en opdatering via f.eks. Google Play eller Apple App Store hvis dataene skal ændres eller hvis der f.eks. er stavefejl.
Et eksempel på en app vi har udviklet hvor dataene er brændt ind i appen er Dansk Sprognævns app, Sproghjælp. Denne løsning blev valgt fordi dataene ikke særligt ofte opdateres da reglerne for det danske sprog heldigvis ikke ændres særligt ofte og da den primære målgruppe var folkeskole og gymnasie-elever og disse kan ikke forventes at altid have en god Internet-forbindelse.
På samme måde laves mange apps til f.eks. turister, salgspræsentationer og etablerede opslagsværker ved at brænde alle data ind i appen. Dette er motiveret enten for at undgå store roaming-regninger, for at være sikker på at data altid findes og fordi data ikke ændrer sig.
2. Brænd data ind i app – hent billeder og nettet og gem disse
En variant af 1) er at f.eks. at brænde alle data ind i appen, men hente billeder over nettet. Dette kan f.eks. være en fordel hvis man har store datamængder og mange billeder – og man derfor vil få en app der har masser af data men ikke fylder så meget. Apple har f.eks. en grænse for hvor stor en app må være før man kan hente den over telenettet – max 100 MB med iOS7 (50 MB for iOS6, og tidligere var den 20 MB).
Ved at pre-loade alle data har man en app der åbner hurtigt og f.eks. kan lave hurtige søgninger men hvor billederne hentes og caches når der er brug for dem.
Coops app, Aftensmad, er f.eks. lavet med dette pattern. Argumentet var her delvist at da appen blev udgivet kunne man ikke hente apps over 20 MB over 3G og at en af de vigtigste brugssituationer for appen var indkøbssituationen foran køledisken hvor man ikke kan forvente en god Internetforbindelse.
3. Hent data over nettet – og opdater dem aldrig igen
En tredje løsning er at data hentes over nettet, caches – og hentes aldrig igen. Dette pattern bruges f.eks. ved data der aldrig forventes at blive opdateret eller data der læses og forbruges en gang for alle.
Et eksempel på denne løsning er FN’s app, The Emissions gap, hvor de centrale FN-rapporter som appens baseres på ikke vil blive ændret når de først er offentliggjort.
4. Hent data over netter, cache disse, og tjek for nye data når der er tid
Det meste typiske brugte pattern er at hente data over nettet og så cache disse i appen og så f.eks. tjekke om dataene er opdateret efter et stykke tid.
Der er flere fordele ved denne løsning, nemlig at appen kan starte hurtigt, vise data med det samme og kan fungere både online og offline. Et eksempel på dette pattern kunne være appen til årets Folkemøde, hvor alle data hentes og gemmes i telefonen. Og når så appen startes opdateres dataene i baggrunden efter at brugeren kan se de cachede data. På den måde får brugeren en god oplevelse og vil se data med det samme.
5. Hent data over nettet
En sidste løsning er at al data hentes over nettet uden at der caches data. Dette kan f.eks. være apps der viser valutakurser eller andre tidskritiske data. På samme måde kan der også være en del situationer hvor man aldrig må cache data.
Et eksempel er Nykredits Netbank, hvor man selvfølgelig ikke kan have at der er cachede data for f.eks. en bankkonto, altid henter data over nettet.
Ofte vil der være visse data der caches og visse der hentes over nettet. Det vigtigste er, at appen kan startes hurtigt op og så hente data i baggrunden imens brugeren navigerer hen til den del af appen hun er interesseret i.
—
Vi har lavet apps med alle disse fem modeller – og valget af hvordan data hentes og caches er afgørende for appens anvendelighed.