Oppdatert 6 min lesing

Skandinaviske programvareverdier — hva de egentlig betyr for produkter

Programvare skal ikke rope. Den skal ikke mersælge på hver eneste skjerm eller kreve oppsett før den løser problemet du kom med. Et kort essay om hva vi mener når vi bruker uttrykket.

Programvare laget i Skandinavia føles ofte annerledes. Linear. Spotify i de tidlige årene. Klarna før børsnoteringen. Tobii. Designtradisjonen som gikk gjennom Superhuman. Arc browser. Deler av Notion. iA Writer. Det er en rød tråd — de virker mer stille. De virker som om noen har tenkt over standardinnstillingene. De roper ikke.

Ingenting av dette er utelukkende skandinavisk — det finnes mengder av rolig, gjennomtenkt programvare laget andre steder, og mengder av støyende programvare laget her. Men kombinasjonen av verdier dukker oftere opp i nordiske produkter enn gjennomsnittet, og merkelappen gir oss noe å peke på når vi forklarer en avveining. Så når vi sier «skandinaviske programvareverdier», er det omtrent det vi mener.

Ro framfor støy

Amerikansk enterprise-SaaS er støyende som standard. Toast-varsler popper opp ved hver handling. Modale dialoger avbryter flyten din for å annonsere en ny funksjon. Hver tom tilstand er et mersalg. Produktet behandler oppmerksomheten din som noe det eier, ikke som noe det låner.

Rolig programvare snur det om. Varsler er et privilegium, ikke en standard. Bekreftelser er stille. Sidefeltet pulserer ikke for å minne deg om en urelatert funksjon. Når du logger inn, går produktet til side og lar deg gjøre det du kom for. Vil du ha hjelp, er den der. Vil du ikke, er den der ikke.

Standardinnstillinger som virker

Mye enterprise-programvare leveres med en wizard. Tjue oppsettsskjermer før du kan gjøre noe nyttig. Den underforståtte beskjeden: vi er fleksible nok til alt, så det er du som må fortelle oss hva du vil.

Det skandinaviske instinktet er det motsatte. Rett ut av boksen skal produktet løse åtti prosent av bruken uten oppsett. Standardinnstillingene skal ikke være tilfeldige — de skal speile hva de fleste brukere faktisk gjør. Ligger du i de siste tjue prosentene, kan du endre dem. Men det gjennomsnittlige studioet skal kunne registrere seg, lage et hold og ta en booking på under ti minutter uten å slå opp i dokumentasjonen.

For oss er det en konstant øvelse. Hver standardinnstilling i Class Booking er en liten holdning. Når du oppretter et nytt hold, settes bookingfristen som standard til fire timer før holdet starter — fordi fire timer er det de fleste studioer faktisk bruker. Når du oppretter et medlemskap, sendes fornyelsesmailen tre dager før utløp — fordi det er vinduet der kundene faktisk reagerer. Ingen av delene er radikale valg. Det er bare valg, tatt på dine vegne, så du slipper.

Klart språk

Mye admin-UI leses som om ingeniørteamet har skrevet det til ingeniørteamet. «Konfigurer entity-level RBAC-policyer for tenant-suborganisasjoner.» Halvparten av knappene er substantiv hentet rett ut av databaseskjemaet.

UI på vanlig norsk høres ut som en vennlig kollega. «Hvem kan se dette holdet?» i stedet for «Synlighetsomfang». «Hva skjer hvis noen melder av for sent?» i stedet for «Konfigurasjon av policy for sen avmelding». Ordene er kortere, setningene er kortere, og den som leser, trenger ikke en ordliste.

«Å si nei til funksjoner er vanskeligere enn å si ja. God programvare er delvis det du lar være å legge til.»

Ærlig prising

Det du ser, er det du betaler. Ingen «kontakt oss for et tilbud» på pakken du faktisk trenger. Ingen transaksjonsprovisjon skjult bak den synlige prisen. Ingen treårig kontrakt som fornyes automatisk med mindre du sier opp med nitti dagers varsel.

Det høres selvsagt ut, helt til du har prøvd alternativet. De fleste eldre bookingplattformer tar et lavt månedlig gebyr og legger så én til to prosent av hver transaksjon oppå — noen ganger mer. Over et år kan det stille og rolig doble den reelle kostnaden. Vi viser prisene våre i euro. Tallet du ser, er tallet. Vi tar ikke betalt per booking, per medlem eller per hold.

Og i samme stil — vi har ingen mersalgsmodal som popper opp når du treffer en pakkegrense. Vi sender deg en mail. Mailen sier hva som er endret, og hvilke muligheter du har. Du kan ignorere mailen. Ingenting går i stykker.

Måtehold med funksjoner

Det er enkelt å si ja til en funksjon. Det finnes en kunde som ønsker den, en utvikler som gjerne vil bygge den, og en selger som kan lukke en avtale med den. Å si nei er vanskeligere — og det er den vanskeligere tingen som gjør programvaren god.

Hver funksjon som legges til, skal vedlikeholdes, dokumenteres, oversettes og forklares til nye brukere resten av produktets levetid. Det er en beslutning den neste brukeren skal forstå i innstillingsskjermen. Kostnaden er ikke engangsfast; den vokser med tiden. Så vi sier ofte nei. Til integrasjoner vi ikke vil binde oss til. Til oppsettsbrytere for ting tre kunder har spurt om. Til kompleksitet som lukker en avtale, men straffer de neste hundre brukerne.

Det er utakknemlig arbeid, og det er vanskelig å sette på en funksjonsside. Men over fem år er det forskjellen på programvare som forblir skarp, og programvare som gradvis begraver de nyttige delene sine under et tiår med velmenende tillegg.

Den lange banen

Bootstrappet framfor VC-raskt. Postgres framfor det nye, blanke. Server-rendret HTML framfor rammeverket som trender dette kvartalet. Det kjedelige valget, infrastrukturmessig, er nesten alltid det riktige — fordi det kjedelige valget har eksistert lenge nok til at feilmønstrene er dokumentert, og fordi de menneskene som vedlikeholder produktet i 2030, vil takke deg.

Vi valgte Postgres. Vi valgte Next.js fordi det har blitt kjedelig på riktig måte — godt støttet, forutsigbart, lett å rekruttere til. Vi jager ikke rammeverket som står på forsiden av Hacker News denne måneden. Det kjedelige valget er det som lar oss bruke energien på de delene av produktet som faktisk betyr noe for brukeren — bookingflyten, medlemskapslogikken, kalenderen — i stedet for på en kvartalsvis migrering til hva-det-nå-enn-har-blitt-erstattet-av.

Ekte GDPR

GDPR har vært lov siden 2018. Mye SaaS bygd i USA behandler det fortsatt som en avkrysningsboks. De har lagt til et cookiebanner, skrevet en personvernerklæring på én side og betrakter problemet som løst. Så kom Schrems II, og de måtte ettermontere datalagring i EU for europeiske kunder, noe som er av det vanskeligste å gjøre i etterkant.

Å bygge i EU fra dag én betyr at GDPR ligger i arkitekturen, ikke i bunnteksten. Data ligger på EU-servere. Databehandleravtalen er et ekte dokument, ikke en enkelt side. Vi er databehandleren; studioet er den behandlingsansvarlige; det skillet er bygd inn i hvordan systemet tenker om brukerdata. Ingenting av dette er heroisk — det er bare lettere å gjøre riktig når man starter fra bunnen i København, enn når man bolter det på et system som er designet for Iowa.

Et lite konkret eksempel

Vi har en admin-AI-assistent. Den svarer på spørsmål om studioet ditt — «hvor mange bookinger hadde vi forrige uke», «hvilket hold selger dårlig», den slags. Den foreslår ikke midt i et svar at du oppgraderer til en høyere pakke. Den genererer ikke markedsføringstekst du ikke har bedt om. Den svarer på spørsmålet og stopper.

Det høres smått ut, men det er et valg. En annen designfilosofi ville sagt: «vi har oppmerksomheten din, la oss tjene penger på den». Denne sier: «du stilte et spørsmål, her er svaret, vi er her når du har det neste».

Ærlig om innpakningen

En siste ting. «Skandinaviske programvareverdier» er delvis en markedsføringsramme. Det vet vi godt. Det er ingenting magisk ved et postnummer i København, og det finnes mengder av dårlig programvare laget i Norden og mengder av vakkert gjennomtenkt programvare laget i San Francisco. Merkelappen er en stilisering, og vi bruker den med åpne øyne.

Men vi liker rammen fordi den gir oss en begrensning. Når man har fortalt verden at man står for rolige standardinnstillinger og ærlig prising, er det vanskeligere å legge en mersalgs-pop-up på dashbordet, selv når omsetningen er treg. Merkelappen er en offentlig forpliktelse, og offentlige forpliktelser gjør det lettere å si nei til den neste dårlige idéen. Det er den delen vi vil ha.

Vi vil være rolige. Vi vil treffe riktig med standardinnstillingene. Vi vil ta en rettferdig pris. Å si det høyt — og sette et flagg på det — er en av måtene vi holder oss selv fast på det.

Hvis noe av dette gir mening, er den enkleste måten å se om vi lever opp til det, å prøve produktet.

14 dagers gratis prøveperiode. Ingen kredittkort. Si opp når som helst.