Demokratisering av teknologi?

En av mulighetene med generativ KI jeg synes er veldig spennende er muligheten for at mennesker uten teknisk bakgrunn skal kunne lage prototyper på verktøy og produkter de savner. Det kan være snakk om verktøy tilpasset nevrodivergens eller noen som har en utfordring på jobb de vet hvordan kunne vært fikset med riktig verktøy. Kodeverktøy hvor du programmerer ved å skrive eller lese inn naturlig språk kan kanskje bidra til at flere kan bidra til å utvikle digitale produkter.

Kan “hvem som helst” nå lage en app?

Før jul testet jeg forskjellige verktøy som lar deg kode ved hjelp av en agent og som ikke krever at du setter opp fancy greier på maskinen din, aka tilpasset folk som ikke har en naturlig tilbøyelighet til å programmere. Jeg ble imponert, men tenkte det ikke helt var der at produksjonsklare apper kunne bli resultatet. Men jeg vet også at utviklingen går raskt og da jeg så reklame for Replits buildathon hvor du kan konkurrere om å levere en mobilapp laget på Replit ble jeg fristet til å delta.

Rekruttering av et offer

Jeg kan jo programmere. Hvis jeg vibekoder en app er det ikke egentlig så imponerende. Selv om jeg snakker med en KI agent kan jeg såpass mye om programmering at det ikke helt er det samme som når noen uten erfaring gjør det. Jeg kontaktet der for Oda Rygh. Hun liker å lære nye ting og har erfaring med nettdebatt. Det er nyttig i denne sammenhengen (mer om det senere).

Intro til Replit

Jeg tok en tur til Odas hjemmekontor og på et par timer var vi godt i gang på Replit. Eller det vil si, Oda var godt i gang. Det er lett å bli med på slike plattformer og hvis du er vant til chatbotter føles det ganske likt ut å skravle med et verktøy som Replit. Replit har også mange andre muligheter, som at du kan be om å bruke et spesielt rammeverk og du har også mulighet til å se på koden direkte, kjøre ting i terminalen og mye mer som utviklere liker å ha tilgang til. Disse verktøyene forstyrret ikke Oda nevneverdig, så designet passer også godt for nybegynnere.

Tidsbruk

KI-agenten hos Replit har brukt omtrent ti timer på å gjøre ting, hvilket betyr at Oda nok har gitt Replit mer eller mindre sin oppmerksomhet i kanskje 20 timer inne på Replit. I tillegg skjønte Oda raskt at det kan være lurt å bruke andre chattetjenester som ChatGPT eller Claude til å be om hjelp til å prompte Replit for da sparer man credits inne på Replit og du slipper å resette kontekstvinduet midt i noe. Hvor lang tid Oda brukte vet bare Oda. La oss si at Oda brukte en drøy arbeidsuke av sin fritid på dette. Oda er en helt!

En gjeng overivrige juniorer

Noen beskrev vibekoding som å prøve å administerere en gjeng overivrige juniorprogrammere. Ikke bare mangler de oversikten, de gjør også masse andre greier enn det du ber om for å imponere. Noen ganger sletter de litt uten å helt kunne forklare hvorfor. Det er absolutt litt slik med Replit. I tillegg er KI agenter gjerne litt kranglete. Oda og jeg måtte begge argumentere hardt for hvorfor vi ikke ville ha kanji som ikoner på Android. “Det er fint å lære seg nye språk” kunne f.eks agenten melde. Joda, men ikke i denne sammenhengen ... En del av timene brukt på dette prosjektet kunne vært unngått om agenten hadde kranglet litt mindre.

Sikkerhetshull

Jeg ville ikke åpne for offentlig testing via TestFlight og lignende uten å sjekke koden litt grundigere. Jeg valgte å laste over koden til GitHub og brukte Snyk for å lete etter åpenbare svakheter. Snyk fant. Jeg kjørte på videre i ekte vibekoding-stil og kopierte inn oppsummeringene fra Snyk og sa “please fix”. Replit fixet. Jeg gjorde en ny commit og Snyk kjørte automatisk på mitt repository igjen. Snyk fant ikke flere problemer etter at sikkerhetshullene var fikset.

Kodekvalitet

Jeg ville gjerne også få et inntrykk av kodens kvalitet. Siden jeg ikke har programmert i React før og tross alt kjørte dette som et prosjekt for å lære meg siste skrik innen vibing, så koblet jeg SonarCube til mitt repository med koden på GitHub og kjørte automatiske analyser. Dette er det jeg lærte: -Kode gjentas -Forskjellige kodestiler -Vanskelig å vedlikeholde pga unødvendig (?) kompleksitet -Koden var skrevet slik at den kunne gi ytelsesproblemer

Bortsett fra det med ytelse gadd jeg ikke fikse resten. Det er framtidige Grys problem skulle vi faktisk bestemme oss for å lansere denne appen skikkelig. Ytelsesproblemene fikset jeg ved å lime inn oppsummeringen fra SonarCube og jeg verifiserte ved å kjøre appen på noen forskjellige enheter ved hjelp av ExpoGo og sjekket at det var en forbedring.

Lærdom

Ja, hvis du har en klar ide om hva du vil lage og orker å krangle og bruker nok penger på credits kan du absolutt klare å lage en app uten noe særlig kunnskap om programmering. De fleste vil nok også lære litt om hvordan programmer fungerer ved å holde på lenge nok. Per i dag vil jeg anbefale å i tillegg bruke et par verktøy i tillegg for å forbedre koden. Snyk er et eksempel på et verktøy som er fint til å fange opp sikkerhetshull og SonarCube kan hjelpe deg finne ut hvordan du skal be agenten gjøre koden enklere å vedlikeholde. Det finnes sikkert mange slike verktøy på markedet, jeg plukket bare noe jeg kjente litt fra før av. Og det var ganske gøy! Kommer noen av oss til å prøve å leve av mobilapper? Neppe. Vil jeg gjøre noe lignende igjen? Det kan godt hende.