Ensar Yufka

Proeftuin · de aanpak

Hoe een ontwerp
tot stand komt

Deze pagina legt uit wat er gebeurt tussen het eerste gesprek en een site die live staat. Niet in vaktermen, wel concreet: welke beslissingen er genomen worden, in welke volgorde, en waarom die volgorde uitmaakt.

Er staat geen verkoopverhaal in. Waar een keuze een nadeel heeft, staat het nadeel erbij. Negen stappen, in de volgorde waarin ze gebeuren.

01

Feiten eerst

Alles wat op een website staat is een bewering. Een bezoeker die twijfelt, controleert er een. Klopt die niet, dan gaat hij aan de rest ook twijfelen.

Daarom begint het werk niet bij kleur of vorm, maar bij een lijst: wat is er precies waar over dit bedrijf. Drie soorten beweringen gaan het vaakst mis.

Wat het kost als het niet klopt: een inkoper die een certificaatnummer natrekt en niets vindt, belt niet terug. Bij voedsel kijkt de NVWA mee en vallen misleidende claims onder het consumentenrecht. Maar de gewone schade is zelden een boete. Meestal is het een klant die stil afhaakt en je nooit vertelt waarom.

De werkwijze is daarom simpel: elke bewering krijgt een bron. Een certificaat, een uittreksel, een e-mail van jou waarin staat dat het klopt. Geen bron betekent niet dat er iets voorzichtigers wordt opgeschreven, het betekent dat de zin er niet in komt. Een lege plek is te vullen zodra de bron er is. Een verkeerd cijfer is niet terug te draaien zodra iemand het gelezen heeft.

VoorbeeldbeweringWat ervoor nodig isZonder die bron
Sinds 1998uittreksel of een factuur uit dat jaarde zin gaat eruit
Gecertificeerd volgens norm Xgeldig certificaat met nummer en datumlogo en tekst gaan eruit
Meer dan 200 afnemerseen telling uit je eigen administratiehet getal gaat eruit
Wij leveren aan bedrijf Yschriftelijke toestemming van dat bedrijfnaam en logo gaan eruit

Op deze proefpagina staan om dezelfde reden geen aantallen, jaartallen, keurmerken of klantnamen. Er is nog niets van geverifieerd, dus staat er niets.

02

De ontwerpafspraak op papier

Voordat er een regel code is, ligt er een blad met de ontwerpafspraak. Eén pagina, hooguit twee. Daar staat op wat er gebouwd wordt en waarmee.

Die laatste regel is de nuttigste van het blad. Zonder lijst van wat er niet komt, groeit een project stil: er komt een carrousel bij omdat het kan, een popup omdat iemand het ergens zag, een chatvenster omdat het gratis is. Elk onderdeel is apart te verdedigen. Bij elkaar leveren ze een pagina op die traag laadt en waar niets meer opvalt.

Uit een afspraak, het niet-deel
  • geen carrousel op de startpagina
  • geen popup bij binnenkomst
  • geen chatvenster
  • geen voorraadaantallen, want die kloppen nooit
  • geen video die uit zichzelf begint met geluid
  • geen tellertjes die naar hun eindwaarde oplopen

Waarom dat eerst wordt goedgekeurd: een kleur wijzigen kost tien minuten. Een structuur wijzigen kost de bouw opnieuw. Zie je pas bij de oplevering dat de opzet niet is wat je voor ogen had, dan is er twee weken de verkeerde kant op gebouwd, en die twee weken zitten in de rekening.

Afwijken van de afspraak mag. Tijdens het bouwen blijkt soms dat iets in het echt niet werkt. Dan wordt het blad bijgewerkt en zie jij wat er verandert. Wat niet gebeurt, is stilzwijgend iets anders doen dan er staat.

03

Kleur

Een palet wordt niet bedacht, het wordt opgezocht. Meestal ligt het er al.

Er zijn drie plekken waar het vandaan komt. Een bestaande huisstijl of logo, want die kleuren staan al op je bus en je facturen. De verpakking, want die ligt al in de winkel en staat al op de foto's. En het product zelf. Bij gebakken deeg zit alles er al in: het lichte deeg, de donkere plooi in de schaduw, het goud van de plekken die de plaat hebben geraakt. Kleuren die uit het materiaal komen, hoeven niet uitgelegd te worden.

Stapel dunne vellen yufka, met lichte en donkerder gebakken plekken
Uit één foto komen drie bruikbare tinten: het lichte deeg, de donkere plooi en het goud van de gebakken plek. Dat is het hele startpalet.

Hoeveel kleuren je nodig hebt: vijf. Een achtergrond, een iets lichter vlak voor panelen, een tekstkleur, een zachtere tekstkleur voor bijzaken, en een accent voor knoppen en links. Meer kleuren betekent meer beslissingen per onderdeel, en dan gaat een site er per pagina net iets anders uitzien zonder dat iemand kan aanwijzen waarom.

Wat 4,5:1 betekent

Contrast is de verhouding tussen hoeveel licht de letters afgeven en hoeveel de achtergrond eronder afgeeft. 1:1 betekent dat ze precies even licht zijn: de tekst is dan onzichtbaar, ook als de kleuren verschillen. Zwart op wit is 21:1. De ondergrens voor gewone tekst is 4,5:1. Dat is het punt waarop iemand met een gemiddeld ouder wordend oog, op een telefoon, buiten in de zon, de tekst nog vlot leest. Vanaf ongeveer 24 pixels, of 19 pixels vet, mag het 3:1 zijn: grote letters hebben minder contrast nodig.

Waarom op de pixels en niet op de code

In de stylesheet staat één kleur, maar wat het oog krijgt is iets anders zodra er iets tussen zit. Een doorzichtigheid van 70 procent, een verloop, een foto onder de tekst, een schaduw, een half doorzichtig paneel over een achtergrond: allemaal veranderen ze de kleur die uiteindelijk op het scherm komt. De code zegt dan #C9BFAF terwijl de pixel iets heel anders is. Dus: schermafdruk maken, de kleur uitlezen van de pixel midden in een letter, de kleur uitlezen van de pixel er vlak naast, en met die twee echte waarden rekenen.

TintOpGemetenWaarvoor
#F3EBDD #0D0B0915,8:1koppen en tekst die moet opvallen
#C9BFAF #15110E9,7:1lopende tekst in panelen
#C9A227 #0D0B097,4:1labels, randen, knopvlak
#ADA398 #3A342C4,96:1uitgeschakelde knop, haalt het net
#9A9186 #3A342C3,96:1Afgekeurd te laag voor gewone tekst

De onderste twee tinten schelen nauwelijks iets. Naast elkaar op een scherm is het verschil bijna niet te zien, en toch zakt de een onder de grens en blijft de ander erboven. Daarom wordt het gerekend en niet bekeken.

04

Typografie

Twee lettertypes, een vaste reeks maten, en koppen die met de maat ook strakker worden.

Waarom hooguit twee: elk lettertype is een bestand dat de bezoeker moet ophalen voordat de tekst leesbaar is, en elk lettertype is een extra stem. Twee is genoeg. Eén voor de koppen, één voor alles wat je echt leest. Wie een derde toevoegt wil meestal iets benadrukken, en dat kan ook met een ander gewicht, met hoofdletters of met meer ruimte eromheen. Dat kost geen laadtijd.

De maatladder

Een maatladder is de vaste reeks tekstgroottes die op de site voorkomen, met bij elke maat vastgelegd waar hij voor is. Zonder ladder krijgt elke tekst zijn eigen maat en ziet een pagina er per ongeluk anders uit in plaats van bewust. De stappen moeten groot genoeg zijn om als verschil te lezen: 17 naast 18 pixels leest als een slordigheid, 17 naast 24 leest als een keuze.

RolGrootteRegelhoogteLetterafstand
Paginakop48–72 px1,05-0,02em
Sectiekop28–40 px1,15-0,01em
Tussenkop20–24 px1,250
Lopende tekst17 px1,650
Bijschrift15 px1,500
Label in kapitaal12 px1,40+0,14em

Regellengte

Tussen de 55 en 75 tekens per regel, spaties meegeteld. Is een regel langer, dan verliest het oog bij het terugspringen soms de juiste volgende regel; dat merk je niet als leesfout maar als vermoeidheid. Is hij veel korter, dan spring je zo vaak terug dat het ritme weg is. Op een scherm van 1440 pixels betekent dat: de tekstkolom begrenzen, ook al is er ruimte over. De lege ruimte ernaast is niet ongebruikt, die is de reden dat het leest.

Waarom een kop ook strakker moet

Kleine tekst heeft lucht nodig tussen de regels en tussen de letters, anders lopen de vormen dicht. Bij grote tekst wordt diezelfde lucht een gat. Een kop van 60 pixels met de regelhoogte van lopende tekst valt uit elkaar in losse regels die niet bij elkaar lijken te horen. Daarom gaat bij elke stap omhoog de regelhoogte omlaag, van 1,65 naar 1,05, en schuift de letterafstand iets naar negatief. Dat is het verschil tussen een kop en gewone tekst die per ongeluk groot staat.

05

Raster en ruimte

Het smalle scherm eerst, ruimte uit een vaste reeks, en de inhoud die bepaalt hoeveel kolommen er zijn.

Mobile-first betekent dat de opzet eerst wordt gemaakt voor een scherm van 360 pixels breed, en daarna wordt uitgebreid. Dat is de omgekeerde volgorde van wat vanzelf gaat, en precies daarom werkt het: op 360 pixels past niet alles, dus je moet kiezen wat het belangrijkst is. Wat op die breedte werkt, is op een groot scherm uit te breiden. Andersom moet je slopen, en dan wordt de telefoonversie een uitgeklede rest van het echte ontwerp.

Witruimte is het goedkoopste ordeningsmiddel

Ruimte is het enige middel dat zonder lijnen, kaders of kleuren vertelt wat bij elkaar hoort. Een kop die dicht op zijn eigen tekst staat en ver van de vorige alinea, leest als een groep; daar is geen streep voor nodig. Staat alles even ver uit elkaar, dan moet de bezoeker zelf uitzoeken waar een onderwerp begint. Ruimte weghalen om meer boven de vouw te krijgen levert een pagina op waar alles even belangrijk lijkt, en dus niets.

Ook afstanden komen uit een reeks, bijvoorbeeld 4, 8, 16, 24, 48 en 96 pixels, elk met een vaste betekenis: 8 tussen twee regels van hetzelfde blok, 24 tussen kaarten, 96 tussen secties. Worden afstanden per geval gekozen, dan ziet een pagina er rommelig uit zonder dat iemand kan aanwijzen waardoor.

Drie gelijke kolommen

Die zie je overal, en meestal zijn ze de luie keuze: drie is het aantal dat toevallig past, niet het aantal dat de inhoud heeft. Wat er dan misgaat:

Het alternatief is niet ingewikkelder. Twee kolommen van ongeveer 60 en 40 procent als het ene deel meer uitleg nodig heeft. Een gewone lijst als de items alleen opgesomd worden. Eén breed blok met twee smalle eronder als er duidelijk één hoofdzaak is.

Drie gelijk, vier onderwerpen

Het vierde onderwerp staat alleen op een tweede rij. De vorm vraagt om een vijfde die er niet is.

Uit de inhoud, 60 en 40

Het deel dat uitleg nodig heeft krijgt de ruimte, het deel dat alleen doorverwijst krijgt minder.

06

Toestanden

Een scherm is niet één plaatje. Het zijn er zeven, en zes daarvan worden zelden getekend.

01

Leeg

Er is nog niets. Zeg wat er straks komt te staan en geef één weg vooruit. Een lege lijst is een kans, geen fout.

02

Aan het laden

Een grijs skelet in de vorm van wat er komt, geen draaiend wieltje. Dan springt de pagina niet zodra de inhoud er is.

03

Gevuld

De gewone toestand. Ook getest met de langst denkbare productnaam en met de kortste, want daar breekt de opmaak.

04

Fout

Wat ging er mis, is het erg, en wat kun je nu doen. In woorden, niet alleen in rood: kleur alleen is onbruikbaar voor wie kleurenblind is.

05

Bezig

De knop blijft staan, de tekst verandert, en hij is niet nog eens in te drukken. Anders bestelt iemand twee keer.

06

Gelukt

Een bevestiging die blijft staan, met wat er nu gebeurt en wanneer. Niet een melding die na drie seconden verdwijnt.

07

Uitgeschakeld

Leesbaar houden, en erbij zeggen waarom het niet kan. Een grijze knop zonder reden is een doodlopende weg.

Dezelfde knop, drie toestanden
rust bezig uitgeschakeld

De uitgeschakelde knop hierboven staat op 4,96:1 en niet lager. Grijzen tot het onleesbaar is, is gemakzucht: iemand moet nog kunnen lezen wat hij niet mag.

Wat er gebeurt als deze zeven niet getekend zijn: de bouwer verzint ze ter plekke. Dan krijg je een leeg scherm dat werkelijk leeg is, een foutmelding die alleen zegt dat er iets is misgegaan, en een verzendknop die twee keer werkt. Daar gaan de meeste klachten na oplevering over, niet over de kleur.

07

Beweging

Beweging mag iets uitleggen. Zodra ze alleen versiert, kost ze aandacht zonder er iets voor terug te geven.

Beweging draagt betekenis als ze een verband laat zien:

Beweging leidt af zodra ze niets uitlegt: tekst die bij elke scroll komt invliegen, getallen die naar hun eindwaarde oplopen, achtergronden die blijven schuiven terwijl je leest. Het oog wordt naar beweging getrokken; dat is een middel dat je één keer per scherm kunt inzetten, niet twintig keer. Wie het overal gebruikt, maakt lezen trager, want elke beweging haalt de aandacht van de zin.

Praktisch: 150 tot 300 milliseconden voor kleine dingen. Alles boven ongeveer 500 milliseconden voelt traag zodra iemand een pagina voor de tweede keer bezoekt. Beweging mag nooit tussen de bezoeker en zijn doel in gaan staan.

De instelling voor minder beweging

In elk besturingssysteem zit een schakelaar om animaties uit te zetten. In Windows onder Toegankelijkheid, Visuele effecten, Animatie-effecten. In macOS en iOS onder Toegankelijkheid, Beeldscherm, Beperk beweging. In Android onder Toegankelijkheid, Animaties verwijderen. De browser geeft die stand door aan de website, dus een site kán zich eraan houden.

Waarom dat hier gebeurt: mensen zetten die schakelaar niet aan uit smaak. Schuivende en zwenkende schermen kunnen misselijkheid, duizeligheid en hoofdpijn geven bij mensen met een gevoelig evenwichtsorgaan, en die klachten zijn soms uren later nog niet weg. Wie de instelling aan heeft staan, heeft daar een reden voor.

Wat het betekent voor de bouw: bij die stand staat alles stil. Niet de animatie sneller afspelen, en vooral niet de inhoud onzichtbaar laten omdat de beweging die haar zichtbaar zou maken is uitgezet. Dat laatste is de meest gemaakte fout op sites die het wél proberen: de tekst staat op onzichtbaar te wachten op iets wat nooit komt. Dezelfde eis geldt zonder JavaScript. Alles moet leesbaar en bruikbaar blijven, alleen dan zonder de beweging.

08

Nameten

Elke bewering op deze pagina is te controleren, en wordt gecontroleerd. In een echte browser, op de echte pagina, op een scherm van 360 pixels en op een van 1440.

Niet in het ontwerpprogramma, want daar is tekst geen tekst en kleur geen pixel. Niet op gevoel, want gevoel meet niet mee dat een scherm anders is afgesteld of dat er zon op valt.

MetingHoeAfgekeurd bij
Contrast van tekstschermafdruk, pixel in de letter en pixel ernaast uitlezen, formule toepassenonder 4,5:1
Zijwaarts scrollenbreedte van het document vergelijken met die van het venster op 360 pixelsdocument breder dan het venster
Beweegt het echttwee schermafdrukken op twee momenten naast elkaar leggende twee afdrukken zijn identiek
Laadtijdaantal kilobytes, aantal verzoeken, moment waarop het grootste beeld staatgrootste beeld later dan 2,5 seconden
Toetsenbordmet de tab-toets door de hele pagina lopengeen zichtbare focusring, of iets is niet te bereiken
Zonder JavaScriptJavaScript uitzetten en opnieuw ladeninhoud is onzichtbaar of niet te bedienen
Minder bewegingde systeeminstelling aanzetten en opnieuw ladener beweegt nog iets, of er ontbreekt inhoud

Wat er gebeurt als de meting de bewering tegenspreekt: de bewering gaat eruit. Niet de meting bijstellen, niet zeggen dat het op mijn scherm goed genoeg oogt, en geen uitzondering maken omdat iets toevallig mooi is. Er zijn twee uitkomsten. Het wordt gerepareerd en opnieuw gemeten, of het onderdeel en de zin die erover ging verdwijnen allebei.

Het voorbeeld staat hierboven al in de kleurtabel. Een tint van #9A9186 op #3A342C zag er prima uit en haalde 3,96:1. Die is vervangen door #ADA398, dat 4,96:1 haalt. Het verschil is met het blote oog nauwelijks te zien, en toch ligt de grens er precies tussen.

09

Wat jij aanlevert, en wat hier gebeurt

De lijst voor jou is kort, maar zonder die dingen kan het niet beginnen. De rest is werk dat je niet hoeft te doen.

Van jou, eenmalig

  • Het logo in het oorspronkelijke bestand: ai, eps, svg of pdf. Een schermafdruk of jpg blijft niet scherp op een groot scherm.
  • De feiten die te controleren zijn: bedrijfsnaam zoals hij is ingeschreven, adres, telefoonnummer, openingstijden, KvK- en btw-nummer.
  • Kopieën van certificaten of keurmerken die je wilt tonen.
  • Foto's van je product en je pand, of akkoord om ze te laten maken.
  • De teksten die je al hebt, ook als ze onaf zijn. Herschrijven is ons werk; jij hoeft niet te schrijven.
  • Toegang tot de domeinnaam en de hosting, plus een inlog als er al een site staat.
  • Twee keer een akkoord: één op de ontwerpafspraak, één vlak voor live.

Hier, zonder werk van jou

  • Kleuren en maten als variabelen vastleggen en op elke pagina doorvoeren.
  • Alle zeven toestanden van elk scherm bouwen, inclusief de lege, de foute en de bezige.
  • Titels, beschrijvingen, canonical-verwijzingen, deelkaarten voor sociale media, sitemap.xml en robots.txt.
  • Gestructureerde gegevens waarmee Google je bedrijf, adres en openingstijden herkent.
  • Afbeeldingen schalen, comprimeren en in moderne formaten wegschrijven.
  • De metingen uit stap 8, bij elke oplevering opnieuw.
  • Controle op gebroken links, intern en extern.
  • Na oplevering de maandelijkse meting en het rapport.

Wat hier niet kan, is het eerste blok: de feiten. Niemand hier kan weten wanneer je bent begonnen, welk certificaat geldig is of welke afnemer met naam genoemd mag worden. Dat is het enige dat echt van jou moet komen.

Waarom in deze volgorde

Elke stap sluit iets af zodat de volgende niet opnieuw hoeft. Feiten vóór ontwerp, want anders ontwerp je om tekst heen die er weer uit moet. De afspraak vóór de code, want een kleur wijzigen kost minuten en een structuur wijzigen kost weken. Toestanden vóór beweging, want een scherm dat niet weet hoe het faalt heeft nog geen animatie nodig.

En meten na alles, want een bewering zonder meting is een mening. Wat je op deze pagina leest is dus ook nagemeten: contrast, breedte op 360 pixels, toetsenbord, en de pagina zonder JavaScript.