ds23man schreef:Aan de andere kant kan het uitzetten van functies ook de indruk wekken dat ze er niet in zitten waardoor de gebruiker er nooit achter komt dat er meer mogelijkheden zijn....
Als een functie er echt niet in zou zitten, dan hoef je er ook niets voor op te nemen in de GUI enabled of disabled.
Een GUI element dat zichtbaar is, maar disabled (b.v. Greyed out of iets met transparancy) geeft aan dat de functionaliteit wel aanwezig is, maar dat aan een bepaalde pre-conditie nog niet voldaan is. Door b.v. de volgorde van de GUI elementen probeer je meestal aan te geven wat je eventueel dan eerst moet doen. Elementen die met elkaar een verband houden groepeer je ook vaak door een soort van box eromheen met zinvol label. Als de gebruiker er nog steeds niet uitkomt, dan moet hij misschien even wat lezen in manual.
Je maakt hem er in ieder geval van bewust dat de optie er wel is, maar dat er nog iets moet gebeuren.
Andere optie is om element wel enabled te hebben, maar als je die (te vroeg) gebruikt een zinvolle foutmelding te geven met b.v. Een pop-up dat hij eerst iets anders moet doen. Dit laatste gebruik je meestal als de pre-conditie complexer is dan een enkele stap, maar een combinatie van dingen. Als iets een enkele simpele stap is, dan los je dat dus op door een logische volgorde en groepering te gebruiken in GUI.
Voor dit soort dingen is er vaak wel een GUI guideline van het platform. B.v. Van Microsoft of apple afhankelijk van OS. Wat dit soort dingen aangaat zullen die wel niet zoveel van elkaar verschillen.
Maar zoals gezegd het meeste GUI werk zit meestal in het netjes verwerken van al deze verbanden en de GUI hierop aan te passen. Dus dat hier dingen wel eens net iets anders verlopen dan in het ideale geval, zie je dus wel vaker. Bij grote bedrijven hebben ze hiervoor de resources en word elke GUI door speciale testers langs hun guidelines gehouden en worden dit soort dingen wel opgepikt en aangepast.
Bij kleinere bedrijven is er soms geen onafhankelijk testteam, het ontwikkel team is dan zelf ook de tester, die weten omdat ze het zelf gemaakt hebben dat ze natuurlijk eerst stap A moeten doen, voordat B zin heeft en is dus een beetje blind voor dit soort dingen.
En ga je een week extra test effort hierop zetten en vervolgens 3 weken verspijkeren aan dit soort GUI dingen, of die maand besteden aan een nieuwe feature.
Maar als je onafhankelijker testers heb, die een programma minder goed kent als de ontwikkelaar, dan is het verrassend wat die allemaal kan vinden, waar je als ontwikkelaar niet bij stilstaat, omdat dat voor jou allemaal logisch is, maar dus niet voor een gewone gebruiker.