Adaptive interfaces

Foto van een rijlesAutorijles. De allereerste keer dat je achter het stuur zit, krijg je alles uitgelegd: hoe je de spiegels instelt, hoe je ze gebruikt, hoe de koppeling werkt, wanneer je schakelt, hoe je een bocht neemt, enzovoorts. Na twee lessen worden de instructies korter: “nu terugschakelen”, “over je schouder kijken”. En naarmate je vordert, worden instructies tips: hoe je zuiniger kunt rijden, hoe je je voorruit kunt ontwasemen. De instructeur past zich aan aan jouw ervaring, en dat is volkomen logisch.

De meeste (web)applicaties die je gebruikt, groeien echter niet met je mee. Bij het ontwerpen van een applicatie wordt meestal wel nagedacht over gebruiksvriendelijkheid, dikwijls ook over personalisatie (het gericht aanbieden van relevante content en functies) en soms zelfs over customization (de gebruiker controle geven over enkele systeeminstellingen). Maar met een aantal factoren wordt maar zelden rekening gehouden, b.v.:

  • Een gebruiker leert, net als een autorijleerling, omgaan met de applicatie.
  • Wat voor de een gemakkelijk is, kan voor de ander ballast zijn.
  • Wat relevant is, is contextafhankelijk.
  • Soms weten we al meer van de gebruiker dan we denken.

Als we de interfaces van applicaties adaptief zouden kunnen maken op basis van deze factoren, dan stellen we gebruikers in staat productiever te werken. En het goede nieuws is, zo moeilijk is dat niet. Eigenlijk komt het allemaal neer op ‘als-dan’ functies. En je moet zorgen dat je over de juiste data beschikt. Veel is te realiseren met cookies, serverlogs, profielen en IP/MAC-adressen.

Ideeën voor adaptive interfaces

Hierbij enkele voorbeelden hoe adaptive interfaces toegepast kunnen worden. Een aantal van deze voorbeelden speelt in op de eerder in dit artikel genoemde factoren.

  • Invultips bij formulieren kunnen naarmate de gebruiker het formulier vaker heeft ingevuld beknopter worden en zijn wellicht op den duur zelfs helemaal niet meer nodig.Voorbeeld hoe een hint compacter wordt
  • Invoervelden zouden vanzelf kunnen oprekken zodra de gebruiker meer tekst typt dan in het veld past.
    Voorbeeld hoe een tekstbox kan oprekken
  • Land-selectievelden kunnen vooringevuld worden door de applicatie op basis van b.v. IP-adres.
  • De sortering van een lijst kan afhankelijk gemaakt worden van klikgedrag: de meestgebruikte komen bovenaan.
  • Naarmate het aantal opties in een keuzelijst toeneemt, kan de applicatie automatisch op een andere selectiemethode overgaan (van keuzerondjes naar een dropdown naar een ‘auto-complete’ veld).
    Voorbeeld hoe selectievorm kan wijzigen
  • Toegankelijkheidsopties zouden verborgen kunnen worden voor gebruikers die deze opties niet blijken te gebruiken.
    Voorbeeld hoe toegankelijkheidsoptie kan verdwijnen
  • Links die niet gebruikt worden, kunnen meer naar de achtergrond verdwijnen.
  • Als bepaalde delen van routebeschrijvingen regelmatig terugkomen, kunnen die delen ingekort worden (b.v. hoe je vanaf je huis op de snelweg komt).
  • Als de agenda-applicatie signaleert dat de gebruiker zijn agenda raadpleegt via zijn mobiele telefoon, worden in plaats van het standaard weekoverzicht de eerstvolgende drie afspraken getoond.
  • Van een hotelreservering wil je bij boeking andere informatie zien (nl. of de reservering en de prijs helemaal klopt) dan vlak voor vertrek (nl. adres, telefoonnr en reserveringsnummer).

Drivers voor adaptive interfaces

Onderstaand schema laat verschillende drivers zien, verdeeld over vier categorieën: Activiteit/gedrag, content, context en identiteit.

Schema van drivers voor adaptive interfaces.gif

De tijd is rijp

Dankzij de thans beschikbare bandbreedte, opslagruimte, open standaarden, en de groeiende aandacht voor user experience, zijn adaptive interfaces geen toekomstdromen. Wie de productiviteit van zijn gebruikers er nu al mee wil vergroten, kan er nu al prima mee aan de slag.

Nog wel een paar tips:

  • Begin niet aan adaptive interfaces voordat je een goede basis hebt. In veel applicaties is aan gebruiksgemak en efficiency nog genoeg te verbeteren.
  • Wees voorzichtig bij het interpreteren van data.
  • Wees subtiel in het aanbrengen van (automatische) veranderingen in de interface. Als je teveel te snel wijzigt, kunnen gebruikers gedesoriënteerd raken.
  • Schrik mensen niet af door te snel te laten zien hoeveel je over hun (gedrag) weet.
  • Communicatie en openheid zijn vitaal.
  • Ga voorzichtig te werk. Het verkeerd doen is erger dan het niet doen.

Dit artikel is gebaseerd op een IA Summit 2007 sessie.

3 thoughts on “Adaptive interfaces”

  1. Een erg nuttig artikel Ferry. Ik denk dat we wat dit betreft nog in een beginfase zitten en dat er door ontwikkelaars in de toekomst nog veel meer (en vanzelfsprekend) gebruik zal worden gemaakt van dit soort technieken.
    Wanneer stemherkenning, eye-tracking en andere geavanceerde technieken vanzelfsprekender worden zal dit nog meer toegepast (moeten) worden.

  2. Tijd geleden hierover geschreven op http://www.bojhan.nl/adaptive-interfaces/ . Vind het nog steeds erg moeilijk argument om te maken met developers, dat het mogelijk adaptive kan zijn. Maar begin steeds meer succes te boeken met het adaptive maken van systemen gebaseerd om aanwezige data – geen guesswork :)!

  3. Hoi Bojhan, bedankt voor je reactie. Zo te zien hebben we kort na elkaar over dezelfde presentatie geschreven 🙂

Comments are closed.