Dynamische User Interfaces

‘It depends…..’  Als je ook maar enige tijd met een ontwerper hebt doorgebracht, heb je dit vast en zeker meerdere keren langs horen komen. Dit is niet voor niets. De kwaliteit van een UI (en design in het algemeen) hangt nauw samen met hoe passend deze is voor de context waarin het moet functioneren. Het is deze ‘context of use’ waar ontwerpbeslissingen op gebaseerd worden. Een simpel voorbeeld van gebruikscontext in actie is gemakkelijk uit te leggen door te kijken naar gereedschap.

Gereedschap wordt net als een UI gemaakt om een mens te helpen specifieke taken te voltooien. Er bestaan allerlei soorten gereedschap. Er zijn knijptangen als je een stevige grip nodig hebt, messen als je iets door wilt snijden en hamers als je juist iets ergens in wilt slaan. Deze gereedschappen zijn hoogst specialistisch en werken goed voor de specifieke taken waar zij voor ontworpen zijn. Hun vorm, materiaal en eigenschappen zijn het gevolg van de context waarin ze gebruikt worden. Twee schroevendraaiers kunnen van elkaar verschillen als de één gebruikt wordt in krappe omgevingen en de ander juist niet. Als je gereedschap in een andere situatie wilt gebruiken, is de kans groot dat dit helemaal niet, of minder goed werkt. Probeer maar eens iets door te snijden met een hamer. UI’s zijn geregeld complex. Er wordt van verwacht dat een gebruiker er een reeks aan taken mee kan voltooien, zelden één specifieke taak. Natuurlijk bestaan er ook gereedschappen die in te zetten zijn voor meerdere taken. Zwitserse zakmessen vormen bijvoorbeeld een compromis. Ze stellen een gebruiker in staat veel verschillende taken aan te kunnen pakken, maar zijn per taak inferieur aan de specialistische tegenhangers.

Ze zijn een jack of all trades, master of none. Een UI dan, moet niet proberen al die specialistische tools tegelijk aan te bieden, maar eerder tools aanbieden of wegnemen afhankelijk van of deze nodig zijn. Een beetje als een lieftallige tandartsassistent. Dynamische user interfaces passen zich aan gebaseerd op de context waarin een gebruiker zich bevindt zodat deze alleen relevante specialistische middelen tot zijn beschikking heeft. Dit moet leiden tot een eindgebruiker die efficiënter en effectiever zijn werk kan verrichten. Je kan niet gebruik maken van een context als je niet weet waar die uit bestaat of wat het is. Bewust of onbewust zijn ontwerpers altijd bezig om de gebruikerscontext in kaart te brengen. Wie zijn de gebruikers? Waar wordt de applicatie gebruikt? Wat is het doel van een applicatie? Enzovoorts. Ik denk alleen niet dat ook elke designer weet uit welke onderdelen een complete context bestaat. Daarom heb ik dit onderzocht.

Primaire Context

Een context bestaat uit de volgende categorieën: Entiteit, Activiteit, Tijd, Locatie en Reden. Entiteiten kunnen mensen of objecten zijn. Deze categorie beschrijft het onderwerp van een context. Je kan hierbij denken aan een gebruiker en hoeveel ervaring deze heeft, wat zijn/haar doelen zijn, of misschien heeft deze gebruiker wel kleurenblindheid! Ook kunnen dit andere gebruikers zijn die de applicatie gebruiken. Er kan een WiFi printer zijn die in hetzelfde netwerk zit, een magnetron die juist WiFi signaal stoort, of een piano die in de hoek staat. Je kan het zo gek nog niet bedenken. Alles kan relevant zijn, dit is aan de ontwerper om te beslissen/ te onderzoeken.

Activiteiten beschrijven wat er gebeurt in een context. Dit kan iets zijn als inchecken op Facebook, iemand die langs fietst, enzovoorts. In een applicatie kan het bijvoorbeeld zo zijn dat een gebruiker net een vriend heeft toegevoegd, of een profielfoto heeft geüpload. De categorie van tijd bindt de context aan een specifiek moment in tijd. Dit kan uitgedrukt worden in absolute termen zoals: ’s nachts, 10:28 uur of 10 augustus. Wat vaker voorkomt is dat tijd relatief wordt uitgedrukt ten opzichte van de overige categorieën van context. Bijvoorbeeld: ‘nadat iemand van zijn fiets is gevallen’ of ‘zo lang iemand stil staat.’ Je merkt al snel dat de categorieën nauw met elkaar verbonden zijn. Je hebt meerdere categorieën nodig om een context te beschrijven. Zo heeft het voorbeeld: ‘nadat iemand van zijn fiets is gevallen’ een tijd, twee entiteiten, en een activiteit. Locatie wordt meestal relatief uitgedrukt. Voorbeelden die je kan bedenken zijn: ‘onder water’, ‘in een grote stad’, ‘op het platteland’, ‘in een auto’. Opvallend is dat een auto zowel een locatie als een entiteit kan zijn. Het is maar net wat je ermee wilt uitdrukken. Wanneer een auto als entiteit wordt gezien zijn eventueel zaken als het aantal stoelen, aantal pk’s, en of het een dak heeft of niet, relevant. Als het gebruikt wordt als locatie, zal de nadruk eerder liggen op het feit dat je mobiel bent, in een redelijk krappe ruimte zit, et cetera. Maar dit is vrij in te vullen. De laatste categorie verklaart de reden waarom de context in zijn huidige staat is. Waarom staan er vijftig mensen met spandoeken voor de deur van dat gebouw? Er is een protest gaande. Het kan ook een niet-mens gerelateerde reden zijn. Zo kan een overstroming veroorzaakt zijn door slijtage na zware regenval. De ‘reden’-categorie is een belangrijke omdat het in staat is het perspectief van de overige categorieën te verschuiven. Zo komt het voor dat iemand boos is op een vriendin omdat ze al een week haar heeft genegeerd. Achteraf blijkt dit het gevolg te zijn van een verrassing die stiekem gepland werd. De activiteiten zijn hetzelfde, maar de betekenis is anders!

Mix and Match

Om een volledige context te definiëren kan je verschillende methoden toepassen. Voor een relatief simpele context combineer ik de categorieën en schrijf ze uit als een zinnetje. Een voorbeeld hiervan is: ‘De gebruiker moet over vijf minuten inchecken voor zijn vlucht op het vliegveld’ Een context hoeft niet per se alle categorieën te bevatten. ‘De gebruiker loopt’ is een perfect valide beschrijving van een context, de locatie bijvoorbeeld blijkt hier niet relevant. Meer complexe contexten kunnen per categorie opgeschreven worden. De methode die je kiest ligt aan de hoeveelheid detail die je als ontwerper nodig denkt te hebben. De vijf categorieën van context definiëren de primaire context. Hieronder ligt nog een laag, de secundaire context. Hier heb ik al naar gehint bij eerdere voorbeelden. De auto zelf is een voorbeeld van de primaire context. De eigenschappen van die auto zijn secundaire context. De hoeveelheid pk’s, opslagcapaciteit, aantal deuren, enzovoorts. Per context kan je bij jezelf nagaan: wat voor UI elementen zouden hier de gebruiker kunnen helpen? Welke niet meer? Zodoende kan je aanpassingen gaan maken.

In de praktijk zou dit (met een beetje fantasie) als volgt kunnen werken: Een vrachtwagenchauffeur heeft zojuist een vracht ingeladen en stapt in de cabine. Hij krijgt het actuele gewicht te zien van zijn lading met daarnaast het afgesproken gewicht dat op het contract staat. Zodra de bestuurder aangeeft dat dit in orde is, of begint te rijden, gaat deze informatie weg en komt er navigatie-informatie voor in de plaats. De navigatie is automatisch ingesteld op de meest handige bestemming (afstand, files, volgorde, enzovoorts). Bij aankomst gaat de navigatie weg. Hij krijgt nu de overdrachtsdocumentatie waar de ontvanger een krabbel onder moet zetten als bevestiging. Eenmaal ingestapt wordt hij geleid naar zijn volgende doel via navigatie: het tankstation, zijn brandstof is te laag om de gehele trip af te maken. Bij een onderwerp als dit krijg ik nooit alle details in dit artikel maar hoop dat je deze notendop interessant vond.

Als je hier meer over wilt weten, vragen, of opmerkingen hebt, neem gerust contact op.

auteur: Björn Büchner, UX consultant ALTEN

Tag
Dynamische User Interfaces, UI, UX

neem contact op

*verplichte velden

UX Design for High Tech Industries

User experience (UX) is how a person feels when interacting with a product. UX encompasses a lot of factors, some [...]

UX is not just about pixels

In my work as interaction designer I get a lot of questions about the definition and meaning of UX (design). [...]