– Skannet det samme torskebildet 10.000 ganger
Et bilde av en torsk ga utviklerne i Adept så mye hodebry at de lurte på om de noen gang ville lykkes med fiskegjenkjenningen. Resultatet kjenner vi. Nå har mer enn 30.000 lastet ned appen som forteller deg hvilken fisk du har fått.
I det siste har vi ofte nevnt utviklerne våre. «Vi sender det over til utviklerne våre», har vi sagt. «Utviklerne våre ser på det, og kommer med en ny oppdatering». På samme måte som utviklerne har vært uvurderlige i å forvandle idé til app, er de helt uunnværlige nå når appen er blitt en realitet og for alvor skal masse-testes av alle som laster den ned. Nå synes vi det er på tide at disse utviklerne trer fram i lyset og får sin veldig fortjente del av æren for at FiskHer har blitt det den har blitt.
Spesialister på hvert sitt felt
Christian H. Sivertsen og Ole Thomas Ødegaard er henholdsvis daglig leder og prosjektleder i Adept Mobile AS, som har laget appen for oss. I snart ti år har de jobbet med å utvikle apper til iOS og Android – like lenge som Apple og Google har tillatt tredjepartsutviklere å distribuere apper gjennom deres app-butikker. Mens Christian sitter i Molde og lager apper til iOS (iPhone), jobber Ole Thomas fra Trondheim og har spesialisert seg på apper for Android.
– Vi er nok blant de apputviklerne i Norge og Skandinavia, kanskje også i resten av verden, som har mest hands on-erfaring med utvikling av native apper. Når vi først skal være beskjedne, ler Christian Sivertsen.
Full native-apper
Med native apper mener han apper som er utviklet for en spesifikk plattform (Android, iOS), med den teknologien som er anbefalt eller mest brukt på denne plattformen. Det betyr både at appen er mer optimalisert med tanke på den telefonen den er laget til, men også at man kan ta i bruk funksjonalitet som er spesifikk for plattformen. Det er imidlertid både en mer tidkrevende og mer kostbar måte å lage apper på – fordi man må lage flere versjoner. Som i Adepts tilfelle, hvor Christian har jobbet med iOS og Ole Thomas med Android.
– Hvorfor kunne dere ikke bare lage en app som funket på begge plattformer?
– I starten av apputviklingens historie var det lite fokus på brukervennlighet. Da gikk det an å lage én app som dekket inn både iOS og Android. Men etterhvert som det kom flere og bedre apper, ble også brukervennligheten bedre og bedre. Google, med sitt Android-system skilte seg mer og mer fra Apples iOS både når det gjaldt design, navigasjonsprinsipper og generell UX (brukeropplevelse). I dag ser vi i at folk forventer at det er laget én versjon av appen som er 100 prosent iOS og en versjon som er 100 prosent Android, forklarer Christian.
Kresne brukere
– Den faktoren som er desidert mest avgjørende for om en app får lov til å bli værende på telefonen til den som har lastet den ned, er brukervennlighet. Hvordan man opplever å bruke den, trumfer både design og funksjonalitet i de fleste tilfeller. I tillegg er vi i dag vant til å bruke apper som Facebook, Instagram og Twitter, apper i verdensklasse – og da blir vi kresne. Vi har ikke tålmodighet eller ressurser til å hanskes med halvgode apper som laster seint, er lite robuste og vanskelige å bruke, sier han.
– Så, for å si det enkelt – vi har alltid laget apper hvor god brukeropplevelse er hovedfokus. Da er det native-apper i én eller annen form som har vært, og fortsatt er, løsningen i de aller fleste prosjektene, forklarer han.
Mer enn 100 apper
Blant det Adept har jobbet med før FiskHer, er mer enn 100 ulike apper. Som HR-apper for Kongsberg Gruppen, fiskemottaks-apper for Lerøy ASA, prototyper for Verdipapirsentralen og Oslo Børs, plante-app for det lokale gartnerlaget i Molde og app for Norges Jeger- og Fiskerforbund. Forbundet var Adepts aller første kunde, og en god referanse å ha da FiskHer var på jakt etter kyndige utviklere.
– De likte nok at vi har hatt NJFF som fast kunde i ti år, og så muligheten for synergier. Selv er jeg ivrig jeger og fisker, og de skjønte verdien av å ha noen med erfaring fra den verdenen også på utviklersiden. I tillegg har vi en god del erfaring fra apper med custom kartgrunnlag, noe vi med ett forsto at ville være relevant i dette prosjektet også. Selv om løsningen vi endte med setter tidligere løsninger helt i skyggen, sier Christian.
Tryllet med kart
For det skal sies. Kartene ble ikke som verken initiativtagerne eller utviklerne så for seg. I løpet av kort tid endret de seg fra en arkitektur med ventetid på mellom åtte og 15 sekunder og visning av litt over 100 samtidige fiskefelt, til en løsning hvor tusenvis av fiskefelt åpenbarer seg så godt som momentant etter at appen åpnes. Det kan du lese mer om her.
– Denne visningen av fiskefelt kom som et eureka-øyeblikk for Ole Thomas, som er medeier i firmaet og vår Android-guru. Denne tekniske åpenbaringen gjorde at vi valgte en helt annen tilnærming til problemet enn hva vi ellers ville ha gjort, og det kommer hver eneste FiskHer-bruker til gode hver gang de bruker kartfunksjonen i appen, sier Christian.
Som mener at den enorme mengden av fiskefelt som vises samtidig i kartet er noe av det som virkelig skiller FiskHer fra andre apper.
– Det er ganske unikt. Kartløsningen – og ikke minst fiskegjenkjenningen, sier han.
Som du kan lese mer om her, er det brukt to typer kunstig intelligens i appen: En som søker i bildeutsnittet til kameraet og detekterer objekter i sanntid, og selve kronen på verket, som utfører identifiseringen av fiskearten kameraet har tatt et bilde av.
Kunstig intelligens
– Her har Trond Svandal i FiskHer gjort en heroisk jobb med å lære opp modellen. Han har matet inn og merket bilde etter bilde, samtidig som han har passet på at modellen ikke ble for trent på de forskjellige artene. Da ville vi fått en modell som ble spesialist i stedet for generalist, og som faktisk ville bli dårligere på å gjenkjenne artene den er trent på, forklarer Christian.
– Utfordringen med kunstig intelligens er at den er utsatt for feiltolkninger av data. Den kan for eksempel henge seg opp i detaljer som overbeviser den om at et helt feil resultat faktisk er korrekt. Den tenker ikke og resonnerer ikke slik som oss mennesker, og akkurat derfor kan det være veldig vanskelig å forstå hvorfor den plutselig kan ta feil av et bilde som det for oss mennesker virker helt åpenbart at den skulle klare å tolke riktig, sier han.
Torsk ga hodebry
– For eksempel hadde vi et bilde av en torsk, hvor bildet var tatt på skrå med hodet nærmest kamera. I munnen hadde fisken en stor shad, altså gummifisken som den hadde blitt tatt på. Dette bildet skapte store problemer for oss – og jeg overdriver ikke når jeg sier at bare dette ene bildet ble skannet over 10.000 ganger av oss i Adept, mens vi finjusterte algoritmene som bryter ned og forbereder bildedataene før de blir sendt til modellen for tolkning, utdyper han.
Lenge så det ut til at bildegjenkjenningen ville bli for komplisert til å løse innen lansering 1. juni. De fant ut imidlertid ut av det, og funksjonen er nå sluppet som en betautgave, som betyr at den fremdeles er under utvikling, og blir stadig bedre.
Strålende mottakelse
– Og det er vel ikke nødvendig å understreke at vi er strålende fornøyd med resultatet. 30.000 nedlastninger på så kort tid forteller at FiskHer dekker et voldsomt behov i markedet, som nok har vært der en stund. Det er ikke bare-bare å dra på sjøen og prøve å gjette seg til hvor de gode fiskefeltene er. For min del har dette tidligere dreid seg om å høre på hva gamlekarene i bygda har fortalt meg – og det har jo fungert, det. Men nå har alle sin gamle fisker tilgjengelig på telefonen, smiler Christian.
Én gang tidligere har Adept opplevd lignende suksess.
– En spin off-app vi lagde for Norges Jeger- og Fiskeforbund toppet faktisk listene nøyaktig på dagen seks år før FiskHer-appen gjorde det samme. Snakk om synkronitet, sier han.