Appen 'App!' er en app som sier 'app, app, app'

Bjørn Jarles app beskytter deg mot folk med "fantastiske" app-ideer.

PWA-appen App! ble laget av utvikler Bjørn Jarle Kvande i romjula. 📸: Privat
PWA-appen App! ble laget av utvikler Bjørn Jarle Kvande i romjula. 📸: Privat Vis mer

- Du, hva med en app som heter App, som med én knapp sier: "app app app app app...". Kan du fikse det?

- Det skal jeg faktisk lage.

- Kult, vi deler en flaske sjampanje når penga ruller inn.

Omtrent slik lød meldingsutvekslingen som ledet til denne ukas hobbyprosjekt: PWA-appen App!, på appappapp.no.

Det var nemlig i romjula at utvikler Bjørn Jarle Kvande ble kontaktet av en kompis, som hadde desperat behov for en helt spesiell app.

Tanken bak, ifølge skaper Bjørn Jarle Kvande selv, var å gi utviklere et vern mot kjente og ukjent med "fantastiske" app-idéer.

App, app, app

Etter få dager, faktisk allerede i nyttårshelgen, gikk appen ut på nett. Den ble blant annet delt i kode24-klubben, hvor den fikk over 80 likes.

Selve appen er enkel, og består kun av én knapp som spiller av setningen "App, app, app!" når brukeren trykker.

Bjørn Jarle Kvande står bak PWA-appen App! 📸: Privat
Bjørn Jarle Kvande står bak PWA-appen App! 📸: Privat Vis mer

Dermed har du et perfekt vern mot venner og bekjente som har en app-idé som ikke holder vann.

"Hekta allerede!", skriver en kode24-klubben-medlem.

- Jeg lagde App! over to dager i nyttårshelgen, forteller 47 år gamle Kvande.

Til vanlig driver han firmaet ObjectPlanet AS sammen med en kompis. Det har han gjort i 22 år, for tida fra et "alene hjemme-kontor" på Gol i Hallingdal.

- Vår hovedfokus har alltid vært å lage egne produkter, og jeg har alltid hatt en tendes til å starte sideprosjekter. Noen av dem blir overtatt av ObjectPlanet, forteller Kvande.

De siste to tiårene har Kvande snekret systemer for online spørreundersøkelser, overvåking av nettverkstrafikk, Java-biblioteker, nettsiden sjogg.no som viser hvor det skal snø de neste tre dagene og trailguide.net som viser sykkelstier.

I nyttårshelga ble altså App! det neste hobbyprosjektet på lista, og den ble godt mottatt, forteller Kvande.

- I løpet av fire dager hadde vi 700 unike brukere, så jeg regner med det tar fullstendig av nå, smiler han.

Arbeidsmaskinen til Bjørn Jarle har kallenavnet "Frankenstein". Det skal være den kjappeste maskinen i huset med 12 kjerner fordelt på to Xeon 5675 fra 2011, Grafikkort og minnebrikker er hentet ut av kasserte PCer fra Gol returstasjon. Frankenstein kjører Linux Mint. 📸: Privat
Arbeidsmaskinen til Bjørn Jarle har kallenavnet "Frankenstein". Det skal være den kjappeste maskinen i huset med 12 kjerner fordelt på to Xeon 5675 fra 2011, Grafikkort og minnebrikker er hentet ut av kasserte PCer fra Gol returstasjon. Frankenstein kjører Linux Mint. 📸: Privat Vis mer

Ny teknologi

Ifølge Kvande selv er teknologien bak App! like enkel som appen selv: PWA-appen har ingen avhengigheter og består av 155 linjer med JavaScript.

Kvande har også satt opp en Service Worker som står for frakoblet mellomlagring av programfiler, lyder og bilder.

- Mye av grunnen til å lage App! var å teste ut litt nye ting. Jeg satt opp hele byggeprosessen først med en "Hello World"-app som automatisk deployet til Netlify, før jeg begynte på selve appen.

Han forteller at det var den automatiske deployen til Netlify fra Github, nye DOM-apier, og utforsking av skreddersydd Progressive Web App-installering som var det han ønsket å utforske med App!. Og spesielt PWA-biten bød på enkelt problemer.

Safari-frustrasjon

For selv om App! fremstår som en hvilken som helst annen nettside når man besøker den på nett, ønsket Kvande at man skulle kunne installere den som en PWA-app på telefonen sin.

Noe som skal være lekende lett på Android-telefoner, men ikke fullt så enkelt på konkurrenten fra Apple.

Kvande forteller nemlig at Safari ikke trigger hendelsene beforeinstallprompt og appinstalled, slik Android gjør.

- Apple gjør det med vilje, og de bør skjerpe seg. Det ligner litt på hva et annet selskap prøvde på med Internet Explorer for 20 år siden, forteller Kvande.

På Android kommer det nemlig opp en automatisk melding i PWA-apper, som spør om du vil legge til appen på hjemskjermen. Dette kan kontrolleres slik at du kan foreslå å legge til på hjemskjermen på et senere tidspunkt, eller legge til en install-knapp, forteller Kvande, og er tydelig på at PWA-støtten i Android er bedre.

- Dessuten støtter ikke iOS WebP-bildeformatet, og m4a-lydfiler kan ikke spilles av, sukker han.

PWA i butikken?

Selv om App! bare var et lite romjulsprosjekt for Kvande, har han en og annen plan for appen.

- Jeg skal se om jeg får lagt til App! i Google Play Store, ved hjelp av Trusted Web Activities, forteller han.

«Jeg skal se om jeg får lagt til App! i Google Play Store, ved hjelp av Trusted Web Activities.»

Fra Chrome 72 skal det nemlig være mulig å legge en webapp i fullskjermen uten synlige Chrome-knapper eller adressefelt, inni en Android-app ved hjelp av komponenten Trusted Web Activities. For ja, du må pakke PWA-appen din inn i en tradisjonell app om du skal ha den inn i Google Play-butikken.

Og uansett hva framtida bringer: At det er nyttig med små hobbyprosjekter er Kvande sikker på.

- Det hjelper å ha litt annet å programmere på en "det store monsteret" man holder på med til daglig. Det er kjekt å kunne lage noe ferdig på et par-tre dager.

- Man blir lett avhengig av App!, og man kan irritere folk - veldig. Jeg lærte også endel nyttige ting jeg bruker i andre prosjekter.