Autor Beitrag
lemming
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 470

Mac OS 10.3.1
Delphi 6 Pro, Kylix 3
BeitragVerfasst: Mo 13.10.03 12:16 
Usability Teil II: Context Menus

Inhalt:
Einleitung
Fits’s Law
The five “magic” Edges
Kontext Menus
Circular Menus
Lineare Menus
Aussichten Teil III
Quellen

In diesem zweiten Teil meines Usability Tutorials möchte ich auf Kontext Menus eingehen. Ich werde mich dabei Menus in Programme und auf die besten Möglichkeiten ein Menu darzustellen.

Wichtige Regeln der Usability ist Fitts’s Law: „The time to acquire a target is a function of the distance to and size of the target”

Frei übersetzt bedeutet dies: “Die Zeit um ein Ziel zu erreichen ist abhängig von der Entfernung und Größe des Zieles.“

Und Zeit ist natürlich das was wir so gering halten möchten wie Möglich um eine gute Bedienbarkeit zu erreichen. Daraus ergibt sich für den Programmierer diese Formel

Usability <> Zeit

Um die Bedienbarkeit von Menus zu erhöhen ist also eine schnelle Erreichbarkeit Vorraussetzung. Wo wäre ein Menu am schnellsten erreichbar? Nach Bruce „Tog“ Tognazzini gibt es fünf Pixel auf jedem Bildschirm (mit Maussteuerung) die mit minimalem Aufwand sofort erreichbar sind. Die „magic“ Pixels.

Der erste Pixel der sofort erreichbar wäre, ist der Pixel unter der Maus.
Die anderen vier wären die Pixel in den Bildschirmecken (vorausgesetzt es ist kein Dualhead System). Schließlich muss man um die Bildschirmkanten und erst recht die Bildschirmecken zu erreichen nicht die „Mausgeschwindigkeit“ verringern.

Der Pixel unter der Maus wird bereits von Kontextmenus genutzt und sollte auch ausgiebig von Programmierern verwendet werden. Mit nur einem Rechtsklick sind Funktionen in unmittelbarer Nähe des Benutzers.

Noch verbessern ließe sich das durch das verwenden von runden Kontextmenus. Durch das anbringen der Menueinträge in kreisrunder Form sind diese, von der aktuellen Mausposition aus gesehen, noch viel schneller zu erreichen.

Wenn man nun die Einträge statisch hält und Ihre Position unveränderlich, dann kann ein Benutzer der über längere Zeit mit diesem System arbeitet in „Notime“ Menupunkte erreichen indem er einfach nur die Richtung einschlägt in dem ein Menupunkt sich befindet. Der Benutzer würde anfangen Gesten benutzen.

Eine andere Möglichkeit sind Menus an den Bildschirmkanten bzw. Bildschirmecken anzubringen. Man muss nur die Maus nach oben anschubsen und nicht abbremsen um einen Menupunkt zu erreichen. Nach Bruce Tognazzini erreicht man so Menupunkte fünf bis zehnmal schneller als mit der normalen Methode.

Windows-Programmierern rate ich, trotz aller Vorteile, davon ab das Programmmenu unter der oberen Bildschirmkante anzubringen, da dies Windows-Benutzer nicht gewohnt sind. Ein Umstellung Ihrer Gewohnheiten ist nicht unsere Aufgaben, außerdem besitzt Apple Computers das Patent darauf. MacOS Programmierer kann ich nur raten vom Programmmenu an der Bildschirmoberkante gebrauch zu machen.

Um Übersichtlichkeit zu erreichen lassen sich manche Konzerne so einiges einfallen. Menupunkte die nach nicht gebrauchen verschwinden und sogar ihre Position verändern sind absolut der falsche Weg um Übersichtlichkeit zu erreichen. Man erreicht nur Verwirrung. Bitte das nicht nach machen.

user defined image

Interessant wäre evtl. ein anderer Weg, wenn man unbenützte Menupunkte „alt“ oder eingestaubt erscheinen lassen könnte. Vorraussetzungen sind da natürlich ein GUI der grafische Operationen unterstützt so wie das MacOS X mit Quark Extreme. Wird der Menupunkt mal wieder benützt, dann staubt er ein wenig, ist dann aber „abgestaubt“.

In Teil III werde ich genauer auf Fits’s Law eingehen.

-lemming

Meine Quellen
www.asktog.com
www.apple.com/macosx/
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 13.10.03 14:06 
lemming hat folgendes geschrieben:
Die „magic“ Pixels.

Der erste Pixel der sofort erreichbar wäre, ist der Pixel unter der Maus.

kann ich nach vollziehen. OK.
Zitat:

Die anderen vier wären die Pixel in den Bildschirmecken

Gerade ausprobiert, dem kann ich nur bedingt zu stimmen.
Zitat:

Schließlich muss man um die Bildschirmkanten und erst recht die Bildschirmecken zu erreichen nicht die „Mausgeschwindigkeit“ verringern.

Bitte was?

Zitat:

Noch verbessern ließe sich das durch das verwenden von runden Kontextmenus. Durch das anbringen der Menueinträge in kreisrunder Form sind diese, von der aktuellen Mausposition aus gesehen, noch viel schneller zu erreichen.

... und liegen so dicht beieinander, dass ich erst lange mit dem Auge suchen muss.

Zitat:

Eine andere Möglichkeit sind Menus an den Bildschirmkanten bzw. Bildschirmecken anzubringen. Man muss nur die Maus nach oben anschubsen und nicht abbremsen um einen Menupunkt zu erreichen. Nach Bruce Tognazzini erreicht man so Menupunkte fünf bis zehnmal schneller als mit der normalen Methode.

Ich habe, wenn ich programmiere bis zu sechs Programme auf. Soll jedes Programm sein Menü an eine andere Bildschirmkante packen oder in eine Ecke? Was wenn die schon belegt ist? Oder ich mehr Programme auf habe? Dann suche ich jedes mal des Menü zum passenden Fenster. Wenn sie am oberen Rand des Fensters sind, dann weiß ich, wo ich das Menü zum Programm finde. Zu dem hat das den unschätzbaren Vorteil, dass sich das Fenster im Vordergrund befinden muss, so das sich sehe, was ich mache.

Windows-Programmierern rate ich, trotz aller Vorteile, davon ab das Programmmenu unter der oberen Bildschirmkante anzubringen, da dies Windows-Benutzer nicht gewohnt sind. Ein Umstellung Ihrer Gewohnheiten ist nicht unsere Aufgaben, außerdem besitzt Apple Computers das Patent darauf. MacOS Programmierer kann ich nur raten vom Programmmenu an der Bildschirmoberkante gebrauch zu machen.

Zitat:

Um Übersichtlichkeit zu erreichen lassen sich manche Konzerne so einiges einfallen. Menupunkte die nach nicht gebrauchen verschwinden und sogar ihre Position verändern sind absolut der falsche Weg um Übersichtlichkeit zu erreichen. Man erreicht nur Verwirrung. Bitte das nicht nach machen.

Man kann es abschalten. Und manche kommen eben damit zurecht, als wenn ihre Menüs mit Punkten überladen sind, die sie nie brauchen.
lemming Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 470

Mac OS 10.3.1
Delphi 6 Pro, Kylix 3
BeitragVerfasst: Mo 13.10.03 14:15 
Zitat:

Ich habe, wenn ich programmiere bis zu sechs Programme auf. Soll jedes Programm sein Menü an eine andere Bildschirmkante packen oder in eine Ecke?


Nein, aber du wirst mir zustimmen das du zwar mehrere Programme offen hast, aber nur mit einem zur gleichen Zeit arbeiten kannst. Da wäre es doch sinnvoll wenn stets das Menu des bereits geöffneten Programmes sichtbar ist.

Zitat:
Zitat:
Die anderen vier wären die Pixel in den Bildschirmecken
Gerade ausprobiert, dem kann ich nur bedingt zu stimmen.


Ich mache mit dir eine Wette das ich adie vier Ecken schneller erreichen kann als du irgendeinen Pixel deiner Wahl auf dem Bildschirm. Mit "Maus Geschwindigkeit" meinte ich die Geschwindigkeit mit der ein Anwender ein Ziel ansteuert. Um z.B. einen Pixel in der Mitte des Bildschirmes anzusteueren dauert viel länger als einen in der Ecke. Weil ich unabhängig von meiner Geschwindigkeit diesen Pixel immer treffen. Ich stosse sozusagen an die Kante des Desktops. Somit kann ich meine Maus über den Tisch schiessen, Ich werde immer auf dem Pixel bleiben.

Das werde ich im dritten Teil des Tutorials noch ausführlicher beschreiben. Anhand der Scrollbalken unter Windows.

-lemming
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 13.10.03 20:47 
lemming hat folgendes geschrieben:
Nein, aber du wirst mir zustimmen das du zwar mehrere Programme offen hast, aber nur mit einem zur gleichen Zeit arbeiten kannst. Da wäre es doch sinnvoll wenn stets das Menu des bereits geöffneten Programmes sichtbar ist.

*amkopfkratz* Das Menü des aktiven Fensters ist doch so wie so immer sichtbar.
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mo 13.10.03 21:08 
Das mit den vier Ecken kann eigentlich nicht funktionieren. Die sind alle schon von Standardsymbolen bzw. -funktionen belegt. Der obere Bildschirmrand fällt - wie Du schon geschrieben hast - ebenfalls weg, am unteren ist die Taskleiste. Rechts evtl. ein Scrollbalken. Bliebe für den allgemeinen Fall nur die linke Bildschirmseite.
Dort müsste ich dann, damit ich nicht "zielen" muss, doch aber das Menü über eine möglichst großen Teil des Randes machen. Praktisch den gesamten vom Programm beanspruchten Rand. Oder verstehe ich da was faslch?

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
obbschtkuche
Gast
Erhaltene Danke: 1



BeitragVerfasst: Mo 13.10.03 21:16 
Abgesehen davon dass man erst mal rasufinden sollte, wo sich die Taskleiste (und andere Toolbars) befinden.
Ich finde aus auch ziemlich nervig, wenn eine Anwendung nicht Standard-konform ist. Schließlich will ich mich nicht bei jedem Programm umgewöhnen. :roll:

[EDIT]

Könntest du eventuell auch mal ein Beispielprogramm schreiben, damit man das mal ausprobieren kann?
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Mo 13.10.03 21:41 
Hey Leute,

es geht hier um Theoretische überlegungen, die man (alle Programmierer dieser Welt) vieleicht irgendwann mal in die Praxis umsetzen kann. Ich fand es auf dem Amiga seinerzeit jedenfalls ziemlich Praktisch, das das Menü am oberen Bildschirmrand war (über die Rechte Maustaste zu erreichen [was auf dem Mac keine Option war, da dessen Mäuse zu der Zeit nur eine Taste besaßen]).

Das mit den Ecken finde ich sehr einleuchtend, den das sind so ziemlich die einziegen Pixel die man geziehlt treffen kann (eben weil die Maus dort angehalten wird).
Auch das Runde Popup Menü hört sich recht spannend an, es könnte sich ja Fächerfötmig um den Mauscursor aufbauen, und wenn es komlett rund ist, in eine zweite Reihe gehen. Ich glaube durchaus, dass das (nach einer umgewöhnungspfase) besser zu bedienen währe als die jetzige Variante.

Gruß
Klabautermann
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mo 13.10.03 21:43 
Ja, das mit dem PopUp-Menü finde ich auch gut. Ähnliches gibt es auch schon. LogiTech hat mal sowas angeboten.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
lemming Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 470

Mac OS 10.3.1
Delphi 6 Pro, Kylix 3
BeitragVerfasst: Di 14.10.03 08:46 
Zitat:
]
Zitat:
lemming hat folgendes geschrieben:
Nein, aber du wirst mir zustimmen das du zwar mehrere Programme offen hast, aber nur mit einem zur gleichen Zeit arbeiten kannst. Da wäre es doch sinnvoll wenn stets das Menu des bereits geöffneten Programmes sichtbar ist.



*amkopfkratz* Das Menü des aktiven Fensters ist doch so wie so immer sichtbar.


Das stimmt ja. Die Antwort von mir bezog sich aber auf diese Frage von Luckie:
Zitat:

Ich habe, wenn ich programmiere bis zu sechs Programme auf. Soll jedes Programm sein Menü an eine andere Bildschirmkante packen oder in eine Ecke?


Peter Lustig schrieb:
Zitat:
Dort müsste ich dann, damit ich nicht "zielen" muss, doch aber das Menü über eine möglichst großen Teil des Randes machen. Praktisch den gesamten vom Programm beanspruchten Rand. Oder verstehe ich da was faslch?


Nein absolut nicht. Nach Fits's Law (ausgesprochen Fitses Law) ist die Formel für gute Bedienbarkeit = Entfernung des Ziels + Größe des Ziels.
Ergo, umso größer die Buttons und so weiter gefächert, umso besser. Als Beispiel für ein Menu das an der Linken Seite sich befindet sind z.B. Photoshop oder Paintshop Pro. Dreamweaver etc. Das sind jeddoch alles nur "Tools" und keine Kontextmenus. Aber an die linke oder rechte Seite ließe sich nur sehr schwer ein kontextmenu anbringen da fast alle Menschen horizontal lesen.

obbschtkuche schrieb:
Zitat:
Könntest du eventuell auch mal ein Beispielprogramm schreiben, damit man das mal ausprobieren kann?

Brauche ich gar nicht. Nimm einfach ein Programmfenster (e.g. dein Browser, er darf nicht maximiert sein), schiebe es so unter die rechte obere kante das der schliessen button nur noch halb sichtbar ist und kein puffer mehr zwischen ihm und der kante übrig ist.

Wenn alles fertig ist. Bring deine Maus in die Mitte des Bildschirms. Schliesse jetzt das Fenster in dem du mit der Maus in die obere rechte Ecke schiesst und dann klickst. Probier das glecihe mit dem Fenster wenn es irgendwo auf dem Bildschirm liegt. Du wirst einen immensen Geschwindigkeitsvorteil feststellen. 5 bis 10x schneller kann ich dir garantieren.

Zitat:
Auch das Runde Popup Menü hört sich recht spannend an, es könnte sich ja Fächerfötmig um den Mauscursor aufbauen, und wenn es komlett rund ist, in eine zweite Reihe gehen. Ich glaube durchaus, dass das (nach einer umgewöhnungspfase) besser zu bedienen währe als die jetzige Variante.


Zitat:
Ja, das mit dem PopUp-Menü finde ich auch gut. Ähnliches gibt es auch schon. LogiTech hat mal sowas angeboten


Ja stimmt, da gabs mal eine Treibersoftware die das Browsen erleichtert hat. Gab es schon zu Zeiten wo es noch kein Scrollrad gab. Mittels Gesten konnte man dann auch im Browser navigieren. Auf sehr einfach weise. rechte Taste gedrückt halten und nach rechts oder links fahren. So wurde dann geblättert. Das gleiche für rauf und runter.

-lemming
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Di 14.10.03 11:13 
Hi,
lemming hat folgendes geschrieben:
Mittels Gesten konnte man dann auch im Browser navigieren. Auf sehr einfach weise. rechte Taste gedrückt halten und nach rechts oder links fahren. So wurde dann geblättert. Das gleiche für rauf und runter.

wobei Mausgesten im Browser ja mitlerweile recht gängig sind (bei Opera standartmäßig, bei FireBird mit Plugin). Auch da mus ich sagen, sehr Praktisch.

Gruß
Klabautermann
obbschtkuche
Gast
Erhaltene Danke: 1



BeitragVerfasst: Di 14.10.03 13:54 
Aber ihr werdet mir doch zustimmen, dass man schneller eine liste runtergeguckt hat, als bei einem runden menü eventuell sogar 2x rund geschaut hat. Bei großen Popupmenüs könnte es wieder vorteile geben, aber dafür ist ja das Hauptmenü da. oder? ;)
digi_c
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1905

W98, XP
D7 PE, Lazarus, WinAVR
BeitragVerfasst: Do 23.09.04 19:51 
Also ich möchte mich mal für das Tutorial bedanken :)

Ich denke Softwareergonomie ist eine sehr wichtige Sache.
Jedoch bedeutet das für mich in erster Linie, dass der Anwender schnell mit meinem Programm klar kommt und weniger das ich ihm ein besseres Bedienungskonzept vorstelle ;)

Ich führe mal etwas weiter aus, nehmen wir z.B. Blender.
Ein sehr leistungsfähiges kostenloses 3D Programm, dass eine komplette OpenGL Oberfläche besitzt und durch Mausgesten/sinnvolle Benutzung des Tastaturlayouts/... ein sehr produktives Userinterface bietet.
Aber: Wenn ein gewöhnlicher Windows Jünger wie ich das sehe: "Aaaaahhhhh! Was das???". Keine normale Fensteraufteilung(Menü/Toolbar/Inhalt/Statusbar/...), keine typischen Dialoge(Öffnen/Speichern/...), kein gewohntes Handling(Doppelklick, Mausrad).
Klar wenn ich mich da reinfuchse(immer nur ne Frage wie häufig und ernst man ein Programm nutzt, gell ;)) ist es wirklich das Paradies an Geschwindigkeit und Konzept aber es verlangt doch eine recht großflächige Umstellung.

Tja und das ist (meiner Ansicht nach) doch das Dilemma:
Wie bringt man bloß alle notwendigen Funktionen unter?
User verkraften weder überladene Toolbars noch tiefverschachtelte Menüs.
Auch ein sich restruckturierendes Menü(nur das notwendigste für die aktuelle Funktion/Auswahl) lehnt die Masse ab.

Der User möchte Standart GUI Elemente:
Tja wohl ein Schicksal der Windows Community ;) aber es ist nunmal so.
Schon wer Qt/gtk/... GUIs sieht oder sich durch die Linux typischen Dateidialoge klickt fühlt sich nicht mehr so richtig heimisch :P
Aber es muss noch nicht einmal soooo schlimm sein. Man betrachte doch nur einmal heutige 3D Pakete. Weder MAX noch Konkurenten sind in der Lage mit normalen GUI Elementen die Funktionsvielfalt zu bändigen.

Für meine Begriffe wird aber viel zu früh ein eigenes GUI Konzept aufgemacht, anstatt sich an die Standartlösungen zu halten. Diese sind zugegebenermaßen *ähh* bescheiden (ausführen würde Platz sprengen :() aber an vielen Stellen doch eigentlich noch vertretbar. Und auch wenn diese eingesetzt werden sollte man sich um Dinge wie Element Gruppierung/Anordnung rechtzeitig Gedanken machen. Die Einstelldialoge von MAX/PS/PSP überzeugen manchmal wenig.

O.k. ich denke es könnte noch ne Menge dazu gesagt werden aber lassens wir dabei bewenden ;)

Nochmal danke fürs Tut lemming :)