Kilde: help.figma.com

Erfaringer med Figma Variants

Markus J. Sørem
Netcompany

--

Designverktøyet Figma har nettopp lansert en ny funksjon som skal lette hverdagen for designere med å strukturere varianter av komponenter sånn at de er lettere å finne frem i og ta i bruk. De kaller det Variants og dette er mine erfaringer etter å ha brukt det litt.

Som interaksjonsdesigner bruker man veldig ofte de samme komponentene om og om igjen. Det er for eksempel en knapp eller et tekstfelt som gjerne endrer seg basert på brukerens interaksjon. Det er grenser for hvor kreativ man kan være i utformingen av basiskomponenter. Dessuten bør man holde seg til konvensjoner brukerne er vant med fra andre nettsider/apper/tjenester. De tilbringer tross alt mesteparten av tiden sin på andre plattformer enn din, så de forventer at det skal oppføre seg og se noenlunde likt ut.

Når man raskt skal skisse opp en idé kan det være irriterende å måtte pikselpirke seg ned i en komponent for å representere tilstander (states) til for eksempel en radioknapp. Da er det fint å ta i bruk et komponentbibliotek som har radioknapper i ulike tilstander. De ser gjerne slik ut:

Mange komponenter med forskjellige tilstander i et designbibliotek.
Mange komponenter med forskjellige tilstander i et designbibliotek.

Her er ulike tilstander representert og det ser veldig ryddig og greit ut.

Men, når man faktisk skal ta det i bruk for å lage skisser ser det gjerne sånn ut:

Liste med grupperte komponenter.

Med grupper i grupper i grupper. Vanskelig å forholde seg til. Dessuten vil en liten skrivefeil kunne føre til et rot i hele systemet (som i dette eksempelet):

Komponenter med feil navn.

Her har en menneskelig skriveslurv ført til at to radioknapper ikke har havnet i kategorien de var tiltenkt, og derfor vil skape trøbbel for de som skal ta i bruk komponentbiblioteket.

Her kommer redningen fra Figma

Figma har nettopp lansert ny funksjonalitet som skal gjøre det lettere å både opprette og bruke designkomponenter. De kaller det Variants og det er nettopp varianter av komponenter det handler om.

Meme med baby som holder knyttneve. Rundt står det “Oooo! A shiny new toy! Hell yeah!”
Designere når Figma lanserer nye funksjoner.

Variants skal gjøre det lettere å bruke og vedlikeholde komponenter ved å la deg bruke egenskaper (properties) som kan ha flere verdier.

Illustrasjon av Variants. Viser navnene til komponentene samt hvordan de ser ut i et kontrollpanel på høyre side i Figma.
Illustrasjon av Variants.

Opprettelse av komponent: I menyen til høyre kan jeg nå sette opp en tilstand til radioknappen min og velge om den er primær (mørkeblå) eller sekundær (grønn), om den skal være valgt (selected) og om den skal være deaktivert (disabled). Jeg kan sette opp egne varianter og velge egenskapene disse skal ha samt navngi disse som jeg vil.

Skjermbilde som viser hvordan man oppretter en variant med kontrollpanelet til høyre.
Opprettelse av komponent med Variants.

Dette gjør det mye lettere å vedlikeholde og ta i bruk versjoner av komponentene. Sånn vil en instans av radioknappen som ble satt opp over tas i bruk:

Bruk av Variants på ferdig komponent.
Bruk av Variants på ferdig komponent.

I menyen til høyre kan jeg enkelt bytte tilstand, versjon og håndtere egenskapene i et kontrollpanel. Jeg kan til og med bruke praktiske brytere (hvis jeg har brukt booleanske verdier (on/off eller true/false) i egenskapene til komponenten) til å stille på egenskaper som skal fungere på tvers av alle variantene av komponenten.

Dessuten slipper menneskelig skriveslurv å skape trøbbel, fordi Figma navngir komponentene automatisk for meg ut fra verdiene jeg har satt i Variants-kontrollpanelet (som er mye lettere å håndtere enn å måtte endre navnet til hvert enkelt komponent).

Liste som viser at Variants generer navnene til komponentene.
Generert navngiving av komponenter i Figma.

Til enkle komponenter går dette helt fint, men med en gang man skal gjøre en endring som har noe å si for flere varianter av komponenten, for eksempel å legge til nattmodus eller deaktivert modus, så må man lage en tilsvarende versjon for alle andre varianter komponenten har. Noen ganger må man også lage en versjon som viser en kombinasjon av flere egenskaper (som også må ha en variant for hver tilstand). Dette fører til en kombinatorisk eksplosjon 💥 og en liten endring kan fort skape mye uforventet ekstraarbeid. Et eksempel på dette:

Visning av 32 versjoner av én glidebryter.
Visning av glidebryter laget med Variants.

Siden denne komponenten skal ha både en verdiindikator og ikoner, så må disse lages i alle tilstandene til komponenten. Skulle man i dette tilfellet også laget en versjon av glidebryteren som kun har et ikon på den ene siden, måtte man laget denne i alle tilstandene + med og uten verdiindikator + disse i de ulike tilstandene + en deaktivert versjon i alle de ulike tilstandene. Da blir det fort mye ekstra pirk 🤯. Og problemet vokser bare jo flere tilstander eller varianter man lager.

Oppsummert

Det er ingen tvil om at Figma Variants gjør det lettere (og gøyere) å lage, opprettholde og bruke komponenter via et kontrollpanel.

Jeg skulle derimot ønske at Figma Variants var litt “smartere” når det kom til å sette opp komponenter. Det er fint å kunne ha et panel for å slippe å lete etter en variant av en komponent, og det er fint å kunne organisere tilstandene sine, men det er litt irriterende å måtte lage, kopiere og lime inn så mye hvis man skal skape et innholdsrikt designsystem. Jeg håper Figma fortsetter å utvikle Variants for det er en veldig nyttig funksjon!

Nyttige lenker

Skrevet av Markus Johansen Sørem

--

--