22 october 2007

Navigatie

Navigeren met commando's

De SUMit Roostersoftware heeft sinds een aantal weken een revolutionair nieuwe navigatie. De gebruiker typt slechts enkele letters om naar een ander scherm te navigeren.

Bijvoorbeeld:
mk dvr
geeft
Medewerkers > Jan de Vries

Hoe werkt het?

stap voorbeeld
De gebruiker typt een afkorting in.
De computer zoekt welke keuze het beste matcht bij de ingetypte afkorting. Een match is perfect als alle letters van de afkorting in de goede volgorde in een keuze voorkomen.
  1. De computer zet in het computergeheugen alle mogelijke keuzes op volgorde van lengte, de kortste eerst. Korte keuzes krijgen daardoor voorrang als de gebruiker slechts enkele letters typt. Om een langere keuze te kiezen kan de gebruiker wat extra letters typen.
  2. De computer berekent de Levenshtein afstand tussen getypte afkorting en beschikbare keuzes.
  3. Een afkorting mag minder letters hebben dan het origineel. Daar is het tenslotte een afkorting voor. Lengteverschillen tellen dus niet.

    Het aantal afwijkende tekens is dus de Levenstein afstand minus het lengteverschil.

    • 0 betekent een perfecte match. Alle tekens uit de afkorting zijn dan zinvol, komen dan ook voor in de keuze.
    • 1 betekent 1 karakter getypt dat niet overeenkomt
    • 2 betekent 2 karakters die niet overeenkomen.
    • etc.
  4. De beste match is de kortste keuze met de laagste afwijking.
keuze levenshtein lengteverschil afwijking
dag 0 0 0
2007 0 0 0
week 0 0 0
maand 0 0 0
medewerkers 0 0 0
nieuwsbrief 0 0 0
diensttijden 0 0 0
werk-rust cycli 0 0 0
minimum bezetting 0 0 0

Bronnen

Dr. Leonard Verhoef heeft me op het idee gebracht met zijn boeken GUI, webontwerp, psychologie en human efficiency. Het hoofdstuk 26 "Indelen van informatie en navigatie" beschrijft precies welke navigatie het makkelijkst is voor mensen.

Verhoef spreekt een voorkeur uit voor getypte commando's. Het heeft me bijna een jaar puzzelen gekost om z'n adviezen om te zetten in een ontwerp. De boeken van Verhoef zijn een soort tijdbommen. Het zijn een soort haiku's, geconcentreerde design mantra's, die me soms pas na maanden ineens een helder inzicht geven.

The Humane Interface Met Jef Raskin's GOM rekenmethode is precies uit te rekenen hoe veel sneller typen is dan muizen.

Zie hoofdstuk "4-2-1 Interface Timings" in het boek The Humane Interface

death of the desktop Asa Raskin laat zien hoe efficiënt commandos zijn in een praktische demonstratie van Enso, navigeren met taal.

Een nadeel van Enso is dat de gebruiker de commando's moet bedenken en onthouden.

Dasher Bedenken en onthouden hoeft niet. Een demonstratie van Dasher, woorden kiezen door te navigeren door een taalboom ontlast de gebruiker wat. Een paar eerste letters zijn meestal al genoeg om bij het goede woord uit te komen.

De computer toont de lijst van geldige woorden. De gebruiker hoeft er alleen maar doorheen te navigeren. Dat is aardig: Herkennen in plaats van onthouden. Commando's bedenken en onthouden zou dan niet meer hoeven.

Dasher is helaas foutgevoelig. Kies één verkeerde beginletter en de computer slaat een verkeerd pad in.

Levenshtein Andrew Hedges heeft een Javascript versie van het Levenshtein algoritme. Dat algoritme berekent hoeveel 2 strings van elkaar verschillen.

Andrew's demo brengt me op het idee van de formule

afwijking = levenshtein - lengteverschil
Het is even wat potloodgekrabbel en gereken om de formule te testen. De test resulaten zijn positief. Dit moet werken, programmeren maar!
De SUMit navigatie is een nu een combinatie van Voor een demo van SUMit's on line roostersoftware, met efficiënte navigatie, bent u natuurlijk van harte welkom. Laat de SUMit helpdesk contact met u opnemen om een afspraak te maken.

Tot de volgende noot,
Henk Jan Nootenboom