Min kollega Erling Andreas Arnestad i Knowit Bergen har tidligere skrevet litt om hva Windows Store apper er for noe og hvordan lage gode Windows-apper, og jeg tenkte jeg skulle følge opp med et lite innlegg om hvorfor lage Windows apper.

PC-en er historiens mest fleksible verktøy, og det er ikke rent få problemstillinger som har blitt løst av forskjellige dataprogrammer som har blitt utviklet gjennom årene. Denne fleksibiliteten er et fantastisk gode, men den har en bakside. Ethvert problem som kan løses blir løst gjennom utvikling av en ny funksjon, og kompleksiteten baller etterhvert på seg. Til slutt blir selv enkle problemer som lett kan løses med programmet til en uoverkommelig utfordring som følge av at man enten ikke vet hvor funksjonen er eller at man ikke klarer å forstå hvordan den brukes.

Oppgaveorienterte apper

Med apper er det  litt annerledes. De er i stor grad oppgaveorienterte, og ikke på langt nær så fleksible. Dette henger selvsagt tett sammen med de naturlige begrensningene som ligger i mobiltelefonenes begrensede fysiske størrelse og tildels dens ytelsesmessige kapasitet, men det er ingen tvil om at den samme tilnærmingen også kan ha mye for seg på en PC. For uansett hvor fleksibelt et dataprogram er, så vil vi måtte bruke flere programmer for å løse oppgavene vi er satt til å gjøre.

Ved å lage en app med færre funksjoner og mer rettet mot oppgaven som skal løses er det lettere å fokusere på det som faktisk skal gjøres. Så kan man heller lage flere apper som gjenbruker felles kode, men som retter seg mot forskjellige brukerroller. Et eksempel på dette kan være et timeregistreringssystem der alle ansatte bruker en app for å registrere sine timer, mens ledelsen og ansatte på regnskapsavdelingen har egne apper med funksjonalitet rettet mot administrasjon, fakturering og rapportering.

Mindre støy

Microsoft fokuserer veldig på det de kaller “content not chrome”. Det er ikke Google’s nettleser de snakker om, men funksjonaliteten og rammen rundt selve innholdet. Man skulle kanskje tro at det var en etablert praksis å fokusere på innholdet, men slik er det dessverre ikke. En typisk eksisterende desktop applikasjon består gjerne av et gjenkjennelig sett med menyer, en hierarkisk trestruktur og flere knapperader. Selve innholdet er gjerne tildelt en liten del av skjermbildet.

Fordelen med slike systemer er at grensesnittet er lett gjenkjennelig fra system til system. Problemet er at det blir en tvangstrøye der fokuset ikke er på oppgaven som skal utføres. Typiske eksempler er ERP-systemer og andre forretningsorienterte programvarepakker fra klient/server paradigmet. Andre eksempler er administrasjonsverktøy (se under).

Mus, tastatur og berøring

I dag bruker i først og fremst mus og tastatur når vi jobber på en PC, og så bruker vi fingrene våre på mobiler og nettbrett. Disse interaksjonsmulighetene har mye felles, men de er også litt forskjellige. Med en mus er det for eksempel mulig å klikke på enten venstre eller høyre musknapp på en lenke, mens man med fingrene bare har en enkelt klikktype. Det er også stor forskjell på treffsikkerheten når man bruker en mus og når man bruker pekefingeren.

Selv har jeg ikke en PC som støtter touch, men det går likevel overraskende bra å bruke grensesnittet med den bærbare maskinens touchpad.

Når man lager en Windows 8 app lager man i praksis et program som støtter alle tre interaksjonsvariantene: touch, mus og tastatur. Det betyr at man fra dag en sikrer at brukeropplevelsen føles god, og at det ikke blir en halvgod løsning for de som bruker appen på en enhet som det ikke ble tatt høyde for.

Flere plattformer

Nettbrett som iPad har tatt markedet med storm og har trolig en del av skylden for at PC-markedet har stagnert litt, men de har ennå ikke tatt ordentlig grep om arbeidsplassen. Det har flere årsaker, men en av de er at man i så fall må lage en helt ny app spesielt for nettbrettet. Det trenger man ikke med Windows 8 apper.

Har man først laget en slik app, vil den virke både på Windows 8 PC-er og på WinRT nettbrett. Sistnevnte har vi ennå ikke sett så mange av i Norge, men når Microsoft Surface kommer den 14. februar vil det trolig bli flere av de ganske raskt.

Mange PC-leverandører har også presentert spennende planer med Windows 8 eller WinRT baserte maskiner med store touchskjermer. Slike 27-tommere (eller større) vil trolig skape en ny trend i forhold til skjermer som henger på veggene i kontorlandskap, overvåkningssentraler og reklamestativer på messer og konferanser. Det blir jo mye enklere å betjene slike løsninger når man kan bruke fingrene direkte på skjermene.

Når det gjelder Windows Phone 8 er det mye som kan gjenbrukes, men mobilapper er forskjellig nok til at man ikke kan kjøre en ren Windows 8 app direkte på de.

Ettersom det forventes at det kommer en ny Xbox i løpet av året, blir det også spennende å se om den kan kjøre Windows 8 apper direkte. Det er i utgangspunktet ingenting i veien for det fra et teknisk ståsted, og grenesesnittet i Windows 8 vil egne seg svært godt også til interaksjon via en spillkontroll. Det åpner i så fall for mange muligheter ettersom spillkonsollene nå også er i ferd med å ta over den mer generelle underholdningsdelen av markedet i stua.

Distribusjon, installasjon, oppdatering og oppgradering

All programvaren som installeres på en PC må på en eller annen måte distribueres til den enkelte maskin, for så å installeres. Etterhvert må programvaren også oppdateres med alt fra små feilfikser til større operasjoner, og oppgraderes med ny funksjonalitet. Dette har vært, og er i mange tilfeller fortsatt, en omfattende og tidkrevende operasjon.

Selv enkle programmer som Winzip krever gjerne at brukeren må gå gjennom en setup wizard der det gjøres en rekke valg av hvor programmet skal installeres, samt hvilke innstillinger som skal gjelde. På større programmer kan det bli en nesten uoverkommerlig oppgave, og det å reinstallere en PC kan fort ta flere dager.

Foruten tiden det tar å gjøre selve installasjonen, er det gjerne også en utfordring å finne riktig installasjonspakke – enten den ligger på en CD eller kan lastes ned fra nettet. Som regel må man også ha en lisensnøkkel, og de er det langt fra alle som har full oversikt over. Og selv når man har det, kan det by på problemer med aktivering av lisensen som følge av restriksjoner på antall installasjoner.

Dette er mye enklere med apper. Først og fremst fordi installasjonene gjennomføres med standard oppsett, og dermed med få tidkrevende valg. Dernest fordi alle appene kan hentes ned fra ett sted der det alltid er den siste utgaven som er tilgjengelig. Lisensen håndteres også gjennom app store, så med mindre leverandøren har valgt en sør løsning vil det ikke være behov for lisensnøkler heller. Appene kommer også med en standard begrensning på antall installasjoner som bør dekke de fleste behov, og som enkelt kan håndteres på tvers av alle appene.

En annen stor fordel er at oppgraderingene også blir mye enklere med apper i app store. Tilgjengelige oppdateringer dukker automatisk opp når de er klare, og man kan installere alle tilgjengelige oppdateringer med et klikk.

Det er mye system administrator kan gjøre for å forenkle installasjoner og oppgraderinger gjennom diverse administrasjonssystemer, men det blir aldri så enkelt som dette. For bedrifter er det da også en mulighet for å sette opp en egen app store for appene som bedriften vil at de ansatte skal bruke. Dermed unngår man problemet med å distribuere interne apper gjennom Microsofts åpne Windows Store.

Integrert søk og deling

På weben tar vi det for gitt at vi enkelt kan søke opp informasjon og rast dele den med andre gjennom sosiale medier som Facebook og Twitter. Slik er det dessverre ikke i dagens mobilapper. Der må søkefunksjonalitet utvikles for hver enkelt app, samt at man må logge inn på Facebook og Twitter i hver eneste app man installerer. Det samme må man hvis man bruker disse aktørenes API på dagens desktop applikasjoner.

Her har Microsoft gjort det enkelt å integrere både søk og deling gjennom det de kaller Charms. Dette er funksjonalitet som blir tilgjengelig dersom man ønsker det, og det vises med standardisert grensesnitt på høyre side når man henter frem menyen.

Horisontal scrolling

Selv med stadig større skjermer er det ikke plass til å vise all informasjon samtidig. I papiraviser og papirmagasiner løses dette ved at vi blar fra side til side, og på nettet scroller vi gjennom innholdet. Denne scrollingen er vertikal, og når vi leser en artikkel i en nettavis blir det omtrent som om vi skulle lest en tekst som var skrevet på en rull. Det fungerer i og for seg godt, men det utnytter ikke PC-skjermen på en god måte. For det er jo slik at PC-skjermene er bredere enn de er høye, og med widescreen-formatenes inntog for noen år siden ble det i praksis vanskelig for nettavisene å utnytte skjermbredden på PC-en.

Dette har Microsoft løst på en ganske så god måte i Windows 8. Mye av scrollingen flyttes fra å være vertikal til å bli horisontal, men bare der det faller naturlig. Det gjelder først og fremst livetiles-oversikten som vises når maan trykker Windows-knappen, men det brukes også i en utviklerkomponent som heter RichTextBox. Denne gjør det mulig å vise artikler der teksten vises i spalter med omtrent samme bredde som i en gjennomsnittlig papiravis, og så flyter teksten fortløpende over i flere spalter ved siden av.

Dette er en ganske enkel løsning som nettavisene og andre som sitter på store tekstmengder kan og bør dra nytte av. Dette er funksjonalitet som kommer godt med på bærbare, nettbrett og også på storskjermer som henger på veggene.

Ta betalt

Med app store på Windows blir det også lettere å ta betalt. Brukerne kommer til å ta den i bruk, og dermed har de allerede lagt inn kredittkortinformasjonen sin. Det senker terskelen for å kjøpe en ny app når man bare trenger å trykke på en knapp, bekrefte og så skrive inn et passord.

Ulempen er selvsagt at Microsoft tar sin bit av kaken, men det er nå engang slik at lavere betalingsterskel har en stor verdi i seg selv. Dessuten er det mulig å legge ut gratis apper som så krever innlogging, registrering og eventuell betaling på siden. Dette gjøres for eksempel av Ruterbillettappen som vi lagde sammen med de i fjor høst.

Push meldinger

Når man har mange apper blir det et ork å gå innom hver eneste for å se om det er noe nytt. Akkurat som på nettet, der man gjerne har en mental liste over hvilke nettaviser og nettsteder man besøker i små pauser i arbeidstiden, er det noen apper man tar en rask titt innom på en slik runde. Dette fungerer greit nok for apper og nettsteder som er hyppig oppdatert og som har nok innhold til at det er fornuftig, men det er en ineffektiv måte å holde seg oppdatert.

Med apper har man mulighet til å la seg oppdatere når det skjer noe. På mobilappene består det gjerne i SMS-lignende push-meldinger som også vises på låste mobilskjermer, samt små badges på appikonet som viser at det er 1, 2 eller flere nye meldinger som venter på at du skal åpne appen. Dette fungerer godt så lenge det er snakk om få systemer som bruker slike meldinger, og så lenge bruken begrenser seg til viktige meldinger.

Slik er det dessverre ikke. Alt for mange av meldingene som pushes på denne måten er regelrett spam, og det er svært forstyrrende. Når mobilen alltid er tilgjengelig er det lett å la seg forstyrre av slike meldinger som dukker opp, og har man først plukket opp mobilen er skaden allerede gjort selv om man ikke velger å åpne appen som sendte den.

På dette feltet har Windows 8 appene funksjonalitet som egner seg svært godt. Regelrette pushmeldinger av typen jeg har nevnt støttes gjennom det Microsoft kaller toast-meldinger. De vises der og da, og legger seg oppe i høyre hjørne på PC-en. Man behøver imidlertid ikke å bruke de til annet enn det som faktisk haster.

For med livetiles har Windows 8 muligheten til å vise oppdatert informasjon uten å forstyrremed push-meldinger, og utenat man må åpne appen. Meldingene kan i steden settes opp til å vises direkte på appens livetile slik at brukeren ser den når han trykker på Windows-knappen. Dette er ikke veldig utbredt ennå, men det kommer seg. På bildet under er det tre slike eksempler: Twitter, IP-adressen og været.

Min livetile for Twitter viser de fem siste Twitter-meldingene der jeg er nevnt, enten det er i form av en beskjed eller bare en retweet. IP-adressen viser hvilken IP-adresse jeg har på det interne nettet, samt hvilken IP-adresse jeg har eksternt, og den innebygde værtjenesten gir meg temperaturen og antall grader der jeg befinner meg. Dette er veldig enkle apper, men de er nyttige fordi de kun vises når jeg aktivt går inn på den “nye starmenyen” (livetiles).

Hver app kan også ha flere livetiles, slik at det blir mulig å vise forskjellig informasjon uten å starte appen. De kan oppdateres ved hjelp av kode inne i appen, på angitte intervaller eller gjennom push-meldinger fra an servertjeneste.

Web eller app?

Når man vurderer å lage en Windows 8 app bør man tenke litt over hvor man står i dag, og hva man ønsker å oppnå. Jeg har gitt noen eksempler på funksjonalitet og muligheter som appene kan tilby, men det betyr ikke nødvendigvis at det er riktig å gå for en app sånn helt uten videre.

Generelt sett vil jeg si at det er fornuftig å vurdere en app hvis man har en eksisterende desktop applikasjon fra før av. Fordelene er mange, og ulempene er få. Det stiller seg litt annerledes hvis man begynner fra bunnen av. I så fall må man vurdere hvorvidt det er mest hensiktsmessig å lage et webbasert system eller om man går for en app. Begge deler har fordeler og ulemper, men det får jeg skrive litt mer om ved en senere anledning.

Det finnes ikke mange gode argumenter for å konvertere et et etablert og velfungerende webbasert system til å bli en Windows 8app, men det er noen argumenter som har et snev av fornuft i seg. En lokalt installert app kan være fornuftig hvis man vil:

  • ta betalt for appen
  • integrere søk og deling
  • informere brukeren gjennom push-meldinger til livetiles

Oppsummering

I dette innlegget fokuserer jeg på Windows Store og apper til Windows 8, men mye av det er like relevant også for Mac Store på OSX. Mobile apper har klart å revolusjonere måten vi bruker mobiltelefonene våre, og etter å ha brukt litt tid på å sette meg inn i mulighetene er jeg ikke i tvil om at dette kommer til å bli stort også på PC-er.

Overgangen til apper er et nytt paradigmeskifte for PC-en, og selv om det ikke kommer til å erstatte verken webbaserte systemer eller alle eksisterende desktop-programmer, ligger det et stort potensiale i å ta spranget. Det er heldigvis lettere enn mange kanskje tror, og man kan da også ta en gradvis overgang. Selv har jeg oppgradert til Windows 8, og jeg ser meg ikke tilbake.