jetzt mal aus der usability-perspektive betrachtet:
1. ein OS darf niemals hauptbeschäftigung des nutzers sein - der user soll an seinem rechner arbeit erledigen und sich nicht um das system selbst kümmern. heißt: absturzlosigkeit. das system soll im hintergrund seine arbeit verrichten und den nutzer nicht belästigen.
2. ein OS sollte sich in arbeitsgeschwindigkeit und verhalten nach dem NUTZER richten, nicht umgekehrt.
3. ein OS sollte sich nicht / nur selten MODAL verhalten: modale betriebsweisen erzeugen fehler.
4. ein OS sollte für die lösung von problemen und aufgaben im idealfall nur EINE möglichkeit bieten (läßt sich leicht lernen und automatisieren).
5. ein OS sollte aufgabenorientiert sein. wenn der nutzer texte schreiben will, so will er nicht "booten, passwort eingeben, office-starten, neue datei erstellen". er will den schalter umlegen und SOFORT mit der arbeit beginnen. dass das möglich ist, verschweigen viele hard- und softwarehersteller. man könnte sich ein beispiel am fernseher nehmen: der ist im standbybetrieb und man kann SOFORT fernsehen, wenn man einen schalter drückt. meist zeigt er dann sogar das programm an, was man zuvor als letztes gesehen hat. bei einem OS sollte das genauso sein. fenrseher müssen nicht booten, sie müssen ihre bildröhre nicht (mehr) 10 minuten aufwärmen, etc.
6. ein OS sollte sich automatisch um die verwaltung von dateien kümmern. kein nutzer erinnert sich an den dateinamen der briefe, die er vor einem jahr an seine großmutter geschickt hat. ein OS sollte deshalb so reagieren, dass der nutzer sich keine dateinamen und dateierweiterungen merken muß, sondern nur, was er wann am rechner getan hat.
7. ein OS sollte GEWÖHNUNGEN ausschließen, zugleich aber automatisches verhalten zulassen. ein dialogfeld wie "möchten sie die dateien wirklich löschen? ja / nein / abbrechen" wird durch den gewöhnungseffekt genau in dem moment falsch bedient werden, wenn ausnahmsweise nicht "ja" geklickt werden soll, sondern "nein"... ;o)
8. ein OS sollte derarige entscheidungen generell vom nutzer fernhalten. es muß aber die möglichkeit bieten, arbeitsschritte rückgängig zu machen (ein erster "schrottiger" versuch ist die systemwiederherstellung von M$...)
9. ein system sollte nicht zwischen "anfängern" und "experten" unterscheiden. es sollte für keine unterschiedliche nutzerführung bereithalten - > das system weiß nie, auf welcher stufe sich der nutzer befindet. es ist ein zeichen von ziemlich schlechtem design, wenn dies trotzdem so implementiert ist. ein system sollte für grundlegende operationen an jeder stelle und in jeder applikation IMMER GLEICH reagieren. man stelle sich vor, in berlin bedeutet eine grüne ampel "fahren", in münchen dagegen "stopp"... ;o)
10. es sollte verdammt noch mal funktionieren...
