Designsystem sett med en utviklers øyne

Key takeaways:

  1. Hvorfor designsystemer er viktige for å standardisere utseendet på tvers av flere apper.

  2. Hvordan bruk av Tailwind CSS og Figma forbedret samarbeidet mellom designere og utviklere.

  3. Utfordringene ved å finne en balanse mellom konsistens og fleksibilitet i et designsystem.

  4. Fordelene ved å innføre et designsystem, som forbedret samarbeid, økt effektivitet og større produktkonsistens.

  5. Betydningen av å bruke et designsystem i konkrete prosjekter for å få umiddelbar tilbakemelding og kunne forbedre seg.

Introduksjon

Designsystemer har blitt stadig mer populære i programvareutvikling. Som utvikler har jeg erfart at arbeid med designsystemer er både utfordrende og givende. Denne artikkelen deler mine erfaringer. Vennligst merk at dette ikke er en introduksjon til designsystemer; for det, vurder disse ressursene:

Historie

Jeg begynner med en historie om implementering av et designsystem for en kunde. En spesiell takk til Laurens, som har vært en viktig del av dette fra starten og også har delt sine tanker.

Hvorfor et designsystem?

Vi fokuserte på designsystemer da vi hadde behov for å standardisere utseendet på tvers av flere apper i én organisasjon. Både designere og utviklere (samt kunden) så behovet. Designere begynte å bruke forhåndsdefinerte komponenter og mønstre for å effektivisere arbeidet sitt.

 Various styles of buttons with different text and icons are displayed, showing design options for a user interface.

Prosess

Vi fikk muligheten til å teste designsystemet vårt med en ny app vi utviklet. Dette førte til tettere samarbeid mellom designere og utviklere. Vi brukte Tailwind CSS-rammeverket, som forenklet arbeidet for alle. Vi baserte designene våre i Figma, som fungerte som vår "source of truth". Denne tilnærmingen ga designerne fleksibilitet, men skapte noen ganger utfordringer for utviklerne når designene ble endret.

Å involvere både designere og utviklere fra starten var avgjørende. Utviklere foreslo ofte små designjusteringer for å gjøre implementeringen enklere, og designere måtte være fleksible når uventede UI-problemer oppstod.

Someone comes up with an interesting idea, but their enthusiasm is immediately dampened by another person.

Utfordringer

Et designsystem må balansere konsistens med fleksibilitet. Vi bygde et Vue-bibliotek, siden vi primært bruker Vue, men vi fikk snart behov for et CSS-bibliotek for andre sammenhenger.

Suksesser

Nøkkelen til designbiblioteket vårt var å bruke det i reelle prosjekter. Dette ga umiddelbar tilbakemelding og gjorde det enklere å rettferdiggjøre prosjektet overfor forretningsinteressenter. Så hvis jeg skal gi ett råd – begynn å bruke designsystemet ditt med en gang.

Various UI elements like tabs, labels, and section headings are displayed, illustrating different design options for a user interface.

Erfaringer

Implementeringen av et designsystem forbedret samarbeidet og ga umiddelbar tilbakemelding. Det forbedret komponentene våre, slik at de både ble estetisk tiltalende og funksjonelle. Mangelen på et dedikert team for nye komponenter førte til ekstra arbeid for utviklere på tvers av ulike team. Samtidig økte denne tilnærmingen effektiviteten, siden vi kunne gjenbruke komponenter utviklet av kolleger og selv bidra til biblioteket.

Komponenter måtte kunne testes isolert og være gjenbrukbare, noe som forbedret kodekvaliteten og tilgjengeligheten. Etter hvert som flere apper tok i bruk designsystemet, ble produktkonsistensen bedre. Denne gjenkjenneligheten bidro til å styrke merkevareidentiteten på tvers av produkter.

I tillegg førte det til bedre samarbeid og kommunikasjon mellom team, siden ulike team måtte bruke de samme komponentene. Dette forbedret kunnskapsdelingen mellom team, designere, utviklere og produkteiere.

Over tid har produktiviteten og hastigheten økt. Det som tidligere kunne kreve mange personer å implementere, kan nå gjøres av færre, takket være delte komponenter.

Konklusjon

I fremtiden vil designsystemer bli enda viktigere. Nye teknologier, som AI, vil gjøre dem enklere å bruke. Her er noen tydelige fordeler:

  • Konsistens på tvers av produkter: Designsystemer bidrar til å holde grensesnitt like på ulike plattformer. Dette hjelper brukere med å gjenkjenne merkevaren din og forbedrer opplevelsen deres.
  • Økt effektivitet: Å bruke de samme komponentene gjentatte ganger reduserer utviklingstiden og lar team fokusere på viktigere oppgaver. Dette gjør prosjektene raskere.
  • Bedre samarbeid: Designsystemer hjelper designere og utviklere med å jobbe bedre sammen. De kommuniserer tydeligere og trenger færre endringer.

Bare så du ikke tror at designsystemer bare er idyll, krever det betydelig tid og planlegging å sette dem opp, det gir noen fleksibilitetsutfordringer, og det vil alltid være behov for ekstra vedlikehold.

Å starte et designsystem krever en investering, men fordelene i form av hastighet og kvalitet er verdt det.

Jeg vil gjerne høre om dine erfaringer med designsystemer. Hvilke fordeler eller utfordringer har du lagt merke til? Du kan sende meg en melding på Łukasz Polok | LinkedIn eller Ukash (@lukaspoloki) / X (twitter.com)

eller kommentere der du ser dette innlegget. La oss lære av hverandre.

Author:Łukasz PolokAbout

Lukasz er en programvareutvikler med bakgrunn innen testing og support. Hans varierte erfaring hjelper ham med å skape bedre brukeropplevelser. På fritiden liker han å lære nye ting og lage musikk.