Sanity: - Sykt at vi jobber med de største

Det hodeløse CMS-et reiser snart fra trikkestallen i Oslo til Silicon Valley.

Knut Melvær, Simen Svale Skogsrud og Espen Hovlandsdal i Sanitys lokaler i Oslo. 📸: Ole Petter Baugerød Stokke
Knut Melvær, Simen Svale Skogsrud og Espen Hovlandsdal i Sanitys lokaler i Oslo. 📸: Ole Petter Baugerød StokkeVis mer

- Når du sier til utviklere at du jobber med CMS, faser de fleste ut.

Det forteller utvikleren Espen Hovlandsdal. Han sitter på kjøkkenet til Sanity, i en gammel trikkestall på Grünerløkka i Oslo.

Sanity holder til i en gammel trikkestall i Oslos hipsterstrøk. 📸: Ole Petter Baugerød Stokke
Sanity holder til i en gammel trikkestall i Oslos hipsterstrøk. 📸: Ole Petter Baugerød Stokke Vis mer

Før var det flere selskaper i lokalet; nå har Sanity skvist ut alle.

For Hovlandsdal er bare én av de rundt 20 som nå jobber fulltid med selskapets eneste produkt: Sanity. Et slags hodeløst CMS, en slags ferdiglaget backend, en slags database – i alle fall en løsning for innhold, i ordet videste forstand.

Nøyaktig hva Sanity er sliter de fortsatt litt med å formulere. Men det spiller kanskje ikke så voldsomt stor rolle.

For selv om utviklere kanskje faser ut når de hører om CMS-er, spisser mange ørene når de hører om Sanity.

Før satt det flere selskaper her. Nå har Sanity spist opp hele lokalet. 📸: Ole Petter Baugerød Stokke
Før satt det flere selskaper her. Nå har Sanity spist opp hele lokalet. 📸: Ole Petter Baugerød Stokke Vis mer

Manglet hyllevare, lagde selv

Sanity starta, som så mye annet, for å fylle et hull. Da konsulentselskapet Bengler fortsatt var i live, fikk de nemlig i oppdrag å gjøre web-kommunikasjonen for den berømte arkitekten Rem Koolhaas.

- Det var et døvt oppdrag rent teknisk, men vi gjorde det for å møte fyren, smiler Bengler-eks, nå teknologisjef i Sanity, Simen Svale Skogsrud.

Arkitektselskapet til Koolhaas produserte tonnevis av bøker, med innhold som Bengler mente også kunne egne seg på nett. De så altså en mulighet, og trodde løsningen var enkel: Kjøpe et ferdiglaget CMS, som lot arkitektene produsere innholdet én gang, og publisere det overalt.

- Men vi fant fort ut at ingenting var godt nok. Så vi lagde heller et CMS selv, forteller Skogsrud til kode24.

Etterhvert ble CMS-et brukt i flere prosjekter, for hyllevaren som Skogsrud trodde eksisterte, kom aldri.

- Det vi hadde laget viste seg å ikke være så selvfølgelig som vi trodde. Så vi bestemte oss for å lage det skikkelig, fortsetter CTO-en.

Etter flere år med utvikling, ga de ut Sanity kommersielt sent i 2017. Konsulentselskapet Bengler ble gjort om til produktselskapet Sanity. Og ifølge NPM laster rundt 7.500 utviklere ned CLI-en deres hver uke.

Du kan lage innholdet i Sanity Studio, som du kjører lokalt, på en server eller på Sanitys egen plattform, og innholdet hentes enkelt ut i for eksempel en React-app. 📸: Ole Petter Baugerød Stokke
Du kan lage innholdet i Sanity Studio, som du kjører lokalt, på en server eller på Sanitys egen plattform, og innholdet hentes enkelt ut i for eksempel en React-app. 📸: Ole Petter Baugerød Stokke Vis mer

Hva er Sanity?

Sanity er altså et system for innhold,og kan dermed kalles et CMS. Og da Sanity ikke tilbyr noen løsning for å tegne ut innholdet, kan det også kalles et hodeløst CMS. Men nordmennene på Grünerløkka merker at begrepene ikke helt dekker behovene deres.

- Det er ofte enklere å forklare hva slags problemer Sanity løser: Alle har innhold, og alle trenger å gjøre noe med innholdet. Sanity gjør det veldig enkelt å organisere innholdet, og få det ut gjennom kraftige API-er som kan brukes til alt mulig, forklarer Knut Melvær, som er ansatt som «utviklerkompis».

Knut Melvær jobber for å få enda flere utviklere til å bruke Sanity. 📸: Ole Petter Baugerød Stokke
Knut Melvær jobber for å få enda flere utviklere til å bruke Sanity. 📸: Ole Petter Baugerød Stokke Vis mer

Her er kode24 sitt eget forsøk på å kort forklare hva Sanity er:

  1. Når du installerer Sanity får du et React-prosjekt kalt Sanity Studio. Her kan du, om du vil, lage innholdet ditt. Felter du legger til og endrer i schemaet dukker umiddelbart opp i studioet, det gir deg løsninger for bildeopplasting, innhold oppdateres i sanntid og studioet kan enkelt deployes til en .sanity.studio-adresse.

  2. Dataene lagres i Sanitys database, og blir tilgjengelige via Sanitys API-er. Studioet, databasen og API-ene oppdateres automatisk etter innholdet og schemaet ditt, uten at du trenger å for eksempel skrive resolvers selv, slik som i GraphQL.

  3. Du henter fram dataen din gjennom Sanitys egne spørrespråk, kalt GROQ (Graph Oriented Query Language), og får dataen tilbake som JSON. Denne kan du selvfølgelig gjøre hva du vil med.

Alt i alt: Et slags rammeverk for, eller kanskje mer en fiks ferdig, backend. Som er kodet med blant annet PostgreSQL, Elasticsearch og Go, og kjører i Google Cloud, uten at du trenger å tenke så mye på akkurat det.

Sanity-utviklerne brygger øl i lokalene. Og den hjemmelagde bryggemaskinen er selvfølgelig også koblet opp i en Sanity-løsning. 📸: Ole Petter Baugerød Stokke
Sanity-utviklerne brygger øl i lokalene. Og den hjemmelagde bryggemaskinen er selvfølgelig også koblet opp i en Sanity-løsning. 📸: Ole Petter Baugerød Stokke Vis mer

Menyer, bøker, TV-guider

- Du slipper å lage API-ene dine selv, du slipper å ligge våken om natta og lure på hvordan det går, du slipper å lure på hvordan du skal skalere, og det er nesten raskere enn å skrive en egen JSON-fil når du skal hacke sammen noe, ramser Melvær opp.

Også foosball-bordet er satt opp gjennom Sanity. Blant annet for matchmaking. 📸: Ole Petter Baugerød Stokke
Også foosball-bordet er satt opp gjennom Sanity. Blant annet for matchmaking. 📸: Ole Petter Baugerød Stokke Vis mer

NAV bruker det for å hjelpe nordmenn til å finne riktig skjema. RiksTV bruker det til markedsføring og TV-guider. Restauranten Lofthus Samvirkelag har gitt ut en pizzabok, laget med Sanity koblet opp mot InDesign.

Schibsted brukte det for en black friday-kampanje. En diger restaurantkjede skal bruke det til menyene sine. Sanity selv har koblet foosball-bord og ølbrygging til egen løsning.

Noen bruker det for API-ene og spørrespråket. Andre for det hodeløse aspektet, med data enkelt ut i alle kanaler. Eller for å sy sammen informasjon fra flere forskjellige kilder.

- Den enkleste måten å se verdien for en utvikler, er om man har opplevd å bli tvunget til å lage et CMS med et redigering-brukergrensesnitt. Man tror først det er veldig enkelt, men så viser det seg å involvere tusen ting, sier Hovlandsdal til kode24.

Sanity er opptatt av å være globale, og ikke bare levere løsninger til bestemte bransjer. Nå skal de åpne kontorer i USA. 📸: Ole Petter Baugerød Stokke
Sanity er opptatt av å være globale, og ikke bare levere løsninger til bestemte bransjer. Nå skal de åpne kontorer i USA. 📸: Ole Petter Baugerød Stokke Vis mer

Reiser til Silicon Valley

- Vi trodde vi skulle levere løsninger til personlige blogger i en evighet, før vi fikk bygd opp tilliten. Men vi fikk overraskende fort store aktører på tråden, smiler CTO-en Skogsrud.

Sanity lager løsninger for utviklere, og må derfor sørge for å fungere bra med andre løsninger utviklere bruker. Som Gatsby, som de nå har lansert en plugin for. 📸: Ole Petter Baugerød Stokke
Sanity lager løsninger for utviklere, og må derfor sørge for å fungere bra med andre løsninger utviklere bruker. Som Gatsby, som de nå har lansert en plugin for. 📸: Ole Petter Baugerød Stokke Vis mer

Som de fleste andre oppstarter bare drømmer om, tar de nå bokstavelig talt turen til Silicon Valley. CEO Magnus Hillestad og CPO Even Westvang flyr snart avgårde for åpne Sanitys nye kontorer i San Fransisco – både for å sikre seg nye kunder og få enda mer samarbeid med andre teknologileverandører.

- Vi merker hvor viktig det er å ha et nettverk der. Samarbeidet vårt med Gatsby starta vel fordi du kjente Kyle Mathews fra GitHub, sier Skogsrud, og peker på Hovlandsdal.

- Vi hadde et møte med en av de største investorene i Silicon Valley, og han bare «Fader, alle her snakker jo om dere!». Det er nok ikke helt sant, men det er mange viktige personer nå som vet hvem vi er. Jeg synes det er helt sykt hvordan vi nå sitter med de største selskapene i hele verden, det er veldig stas, smiler Skogsrud.

Utviklerne i Sanity bruker trikkestallen til å kode. Og spille foosball. Og brygge øl. Og arrangere meetups, som Jamstack-meetupen de nylig hadde om Gatsby-løsningen deres. 📸: Ole Petter Baugerød Stokke
Utviklerne i Sanity bruker trikkestallen til å kode. Og spille foosball. Og brygge øl. Og arrangere meetups, som Jamstack-meetupen de nylig hadde om Gatsby-løsningen deres. 📸: Ole Petter Baugerød Stokke Vis mer

Hva med konkurrentene?

Det finnes andre hodeløse CMS-er der ute. Contentful, for eksempel, og headlessCMS.org ramser opp en hel haug andre.

CTO Simen Svale Skogsrud i Sanity mener de er ganske alene om CMS-løsningen deres. 📸: Ole Petter Baugerød Stokke
CTO Simen Svale Skogsrud i Sanity mener de er ganske alene om CMS-løsningen deres. 📸: Ole Petter Baugerød Stokke Vis mer

Men Sanity selv mener at de praktisk talt ikke har noen reelle konkurrenter.

Contentful skal ha mistet fokuset på utvikleren, og bruker man en «enkel» database som mongoDB må man nødvendigvis kode en backend selv – som Sanity altså hevder at de kan gjøre for deg, med deres proprietære løsninger.

Og en av de største utfordringen det norske selskapet sitter igjen med, er altså nøtta å kommunisere hva Sanity egentlig er.

- Vi har ikke noe godt begrepsapparat for dette ennå, avslutter Skogsrud.

- Det blir som da jeg kjøpte min første datamaskin på 80-tallet; man visste ikke helt hva man skulle selge det som, så noen solgte det som en «skrivemaskin».