Bygger apps som fungerer offline

Bygger apps som fungerer offline

Mobil utvikling må ta hensyn til at ikke alt er tilgjengelig trådløst alltid.

En fordel med kraftigere mobiltelefoner er at det er mulig å legge inn flere funksjoner i applikasjonene som skal kjøres i dem. Dette blir viktig når brukeren skal få flere avanserte muligheter når smarttelefoner blir modne.

Samtidig kommer utfordringer fra manglende trådløsnett, tilstandslåsing og avgrensing av mengden applikasjoner som kan kjøre samtidig.

Trådløse nettverk er eksempel på en stor utfordring. Selv om mobile 3G og 4G nett er tilgjengelig, kan de fort bli for kostbare i bruk, selv for bedrifter som lar sine ansatte ha datasamband innebygd i sine mobilabonnement. Trådløse datanettverk er heller ikke alltid tilgjengelig, om det nå skyldes at de fysisk er der eller det er en eller annen kjip autentisering som kreves.

Data uten nett

Det er helt avgjørende når det kommer til utvikling av mobile applikasjoner. Microsoft bruker mye ressurser på å utvikle tilbud fra nettskyen. Der spiller for eksempel plattformen Azure SQL en rolle som en fullblods databaseløsning tilgjengelig over internett. Om man foretrekker SQL Server i bedriften så er i utgangspunktet kodingen i klienten den samme. Men hva skjer når nettet ikke er tilgjengelig?

- Det handler om at utvikleren må tenke at det er brukeren og hvordan mobil-app oppleves som er det viktigste, sier Morten Østbye, utviklerevangelist hos Microsoft Norge.

- Det er støtte for en SQL-kompakt database i Windows Phone 7 i dag. Men den neste store oppdateringen av WP7 med kodenavn Mango vil inneholde en ny versjon av denne SQL-basen. Den vil være enda bedre tilpasset mobile applikasjoner.

Unngår treg database

Situasjonen er nærliggende for mange. Tenk på å laste ned buss- og togruter for en bestemt del av reisen. Så forsvinner mobilnettet i en tunnel, og ruteinformasjonen med den. Eller man har lastet ned en guide til sted man er på besøk med sanntidsinteraksjon. Men nettet forsvinner, og det er for dyrt å laste ned data over mobilnettet det landet du er i. Guiden stopper fordi den ikke får sanntidsinformasjon. En lokal lagret database kan inneholde tilstrekkelig med informasjon til at applikasjonen er brukbar til neste nettkjenning.

SCWL Compact er i utgangspunktet en enkel fil som installeres med applikasjonene som skal bruke den. Den skal ikke gjøre nettilgang overflødig, men gi applikasjonen en brukervennlig tilleggsdimensjon.

- Det innebærer ikke at en masse databasefiler skal fylle mobilen og gjøre den treg. Fotavtrykket til SQL Compact er svært liten. Og fleroppgavekjøringen som ligger i WP7 innebærer at det er inntil fem applikasjoner som kjører i sanntid samtidig. Den sjette vil bli puttet i en dvaletilstand, forklarer Østbye.

Smidig eller ut

Den “eldste” applikasjonen som kjører i en serie med fem andre applikasjoner vil bli lagt i dvale når den sjette starter. Dette kan skje automatisk, eller med en type interaksjon hvor det er mulig å velge tilstand den skal sove i. Dette innebærer om det er fra siste bruk av app-en eller fra siste datainntasting eller om den skal gå til en frisk og ubrukt tilstand.

Kontrollen Microsoft legger inn er et krav om at en mobil-app skal ha en “graceful” håndtering av at nettverket tapes. Det skal håndteres på en smidig og informativ måte for brukeren. Om dette ikke er på plass, blir ikke app-en godkjent i Market Place.

- Det er bare siste trinn på veien. Men det er ikke i interessen til utvikleren at en mobil-app-en mangler en skikkelig håndtering. Om en applikasjon stopper og taper data når det trådløse nettet forsvinner eller en nyere applikasjon setter den i dvale, er det ikke ålreit for sluttbrukeren. Utvikleren har interesse av fornøyde brukere, slik at de kjøper flere applikasjoner, poengtere Østbye.

Plattform eller hybrid

En lokal database er også en fordel som taler for plattformtilpasset mobil-app-er, eller “native apps”. Man kan designe en applikasjon som hele tiden gjør oppslag mot en lokal database som synkronisere for oppdatert informasjon eller for eksempel lokasjonsbasert informasjon mot en nett-database.

- Det vil også være snakk om situasjonen. En bussholdeplass er en forholdsvis statisk affære. Opplysninger om justeringen i trafikken kan gjerne dreie seg om minutter. Flyruter kan endres med timer, men presisjonen om å være der i rett tid gjør at synkronisering av store relasjonsdata blir viktig, sier Østbye.

Om dette spiller noen rolle for forholdet mellom de forskjellige typene mobil app-tilnærming spiller Østbye inn at det ikke finnes noen definitive svar. Om man vil bruke plattform-app eller web-app er avhengig av hva man har og hvilke ressurser som er tilgjengelig. Det er alltid en mulighet for hybrider, der en plattform-app omfavner en web-app. Da kan bruke fordelene med å bruke alle muligheter i telefonen kombinert med innhold og tjenester som allerede er tilgjengelig fra virksomheten og dens databaser.

- Når virksomhetene skal velge mobilstrategi, skader det ikke å gå trinnvis fram. Det å bruke informasjon man har i en enkel app, og skaffe erfaring før man kjører en fullt ut omfattende løsning vil spare frustrasjon. Å starte med mobilstrategi 1.0 i stedet for å satse direkte på 4.0 er sjeldent et feil valg, sier Østbye.