Komplexität und Benutzbarkeit von Anwendungssoftware

  • 420 views
Uploaded on

In diesem Seminarvortrag im Vertiefungsmodul "Interaktive Systeme" habe ich dargestellt, wie Anwendungssoftware sich im Bezug auf Komplexität entwickeln. Verschiedene Ansätze für Softwareentwickler …

In diesem Seminarvortrag im Vertiefungsmodul "Interaktive Systeme" habe ich dargestellt, wie Anwendungssoftware sich im Bezug auf Komplexität entwickeln. Verschiedene Ansätze für Softwareentwickler und UI-Designer, mit steigender Komplexität umzugehen und Software trotzdem benutzbar zu gestalten, wurden vorgestellt.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
420
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
1
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Komplexität und Benutzbarkeit von AnwendungssoftwareAnwendungDuis Facilisis Pharetra Velit Vestibulum Libero Nullam Consectetur Dignissim Massa Turpis volutpat viverra suspen puris ac rutrum Werkzeugfenster 1 Cras non ligula nec est so- Curabitur augue dales ultrices in vitae ligula.sem gravida quis mattis id ultricies Werkzeugfenster 3 erat condimentum Julian Fietkau op pretium ut velit in augue vestibulu ante ipsum primis ad Nulla facilisi. In sem jus eo vel viverra auctor, erat Sed it ante primis dolor justo non curabitur bendum sit amet risus eges tas eu qis etiam tempus sem it mauris suscipit Universität Hamburg sed sagitis a portitor limberoAX 423/442 XG aab GIE 44b SJKV 1/1 ASDF 3445 IJNHZ 36735 VK 756 GAF 47520 15. Januar 2011
  • 2. Julian FietkauOrganisatorisches vorweg Diese Folien sind unter CC-BY-SA 3.0 freigegeben. Die GUI-Mock-Ups wurden mit Pencil gestaltet. Alle sonstigen Illustrationen, soweit nicht anderweitig gekennzeichnet, stammen aus dem OpenClipArt-Projekt bzw. basieren auf Inhalten von dort. Folien-Download und Feedback-Möglichkeit: http://www.julian-fietkau.de/komplexitaet_und_benutzbarkeit2 / 32
  • 3. Inhaltsverzeichnis Julian Fietkau Übersicht Einleitung Fragestellung Begriffe Komplexität und Kompliziertheit unterscheiden Untere Ebene – Einzelne Dialogmasken Obere Ebene – Gesamte Anwendung Ideen und Impulse Das Ribbon-UI Adaptive User Interfaces Feature Layering Motivationstechniken aus dem Bereich Game Design Fazit 3 / 32
  • 4. Einleitung Julian Fietkau Ein Zitat zum Einstieg „I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone.“ – Bjarne Stroustrup 4 / 32
  • 5. Einleitung: Fragestellung Julian Fietkau Die „Datenexplosion“ C:> cd STEURRKL C:STEURRKL> dir <DIR> . <DIR> . . 3,738 ST1985A.TXT 3,893 ST1985B.TXT 4,102 ST1986.TXT Mallorca 2010 3 File(s), 2 Dir(s) 1079 Objekte C:STEURRKL> 1,58 GB früher heute 5 / 32
  • 6. Einleitung: Fragestellung Julian Fietkau Blick auf Softwarefunktionalität Hypothese Analog zur Datenexplosion existiert eine Funktionalitäts-Explosion, in deren Zuge die Anforderungen an vielfältige Funktionalität in Anwendungssoftware stetig steigen. „I can tell you that nothing we have ever done (. . . ) has increased our revenue more than releasing a new version with more features. Nothing. (. . . ) When we tried Google ads, when we implemented various affiliate schemes, or when an article about FogBugz appears in the press, we could barely see the effect on the bottom line. When a new version comes out with new features, we see a sudden, undeniable, substantial, and permanent increase in revenue.“ – Joel Spolsky 6 / 32
  • 7. Einleitung: Fragestellung Julian Fietkau Quantifizierung von Softwarefunktionalität Beispiel: Microsoft Word en ist . nr lle Datei Bearbeiten Ansicht Format Hilfe ns bo sio m r Sy B I U Ve Normal Times New Roman 10 1.0 2 Dies ist eine Textverarbeitung. 2.0 2 Die verschiedenen Softwarelösungen, mit 6.0 8 denen fast alle elektronischen Dokumente geschrieben werden, besitzen eine ver- blüffende Ähnlichkeit. Das liegt haupt- 95 9 sächlich an der starken Gewöhnung der Benutzer an diesen Aufbau der Oberflä- che. Erst in den letzten paar Jahren hat 97 18 es in diesem Bereich wieder nennenswer- te Veränderungen gegeben, in erster 2000 23 Linie bedingt durch die immer weiter Seite 1 Kap. 1 2002 30 2003 31 2007ff. N.A. (Die Zahlen stammen von Jensen Harris.) 7 / 32
  • 8. Einleitung: Fragestellung Julian Fietkau Aber: Die Bedienung soll leichter werden . . . oder wenigstens nicht schwieriger. Software wird immer schneller konsumiert und soll sofort verwendet werden können. („Don’t Make Me Think“ – Steve Krug) Das Publikum für Software ist zunehmend heterogen. Steigender Konkurrenzdruck macht Benutzbarkeit zum Kaufkriterium. 8 / 32
  • 9. Einleitung: Begriffe Julian Fietkau Was bedeutet Komplexität? Komplexität nach Don Norman Komplexität ist ein Maß für die strukturelle Differenziertheit eines Systems. Sie ist objektive Realität und weder gut noch schlecht. Dagegen ist die Kompliziertheit ein Maß dafür, wie sehr die Komplexität des Systems einen konkreten Benutzer verwirrt und in seiner Handlungsfähigkeit hemmt, sie ist subjektiv und existiert auf psychologischer Ebene. Komplexität erscheint dann kompliziert, wenn sie zufällig oder willkürlich ist. Komplexität kann jedoch auch sinnvoll und notwendig sein, um komplexe Aufgaben bewältigen zu können. Das Ziel sollte sein, die komplizierte und verwirrende Komplexität zu erkennen und zu beheben, dabei aber die sinnvolle Komplexität zu erhalten und benutzergerecht zugänglich zu machen. 9 / 32
  • 10. Einleitung: Begriffe Julian Fietkau Ein Beispiel für eine komplexe Schnittstelle Komplex? Kompliziert? Foto von Bill Abbott (wbaiv) via flickr/cc-by-sa 10 / 32
  • 11. Einleitung: Begriffe Julian Fietkau Komplexität ist okay Komplexität an sich ist nichts schlechtes. Komplexe Aufgaben erfordern ein gewisses Maß an Komplexität in der Anwendungssoftware. Was die ISO 9241-110 nicht verlangt: Einfachheit Stattdessen: Selbstbeschreibungsfähigkeit, Lernförderlichkeit, Erwartungskonformität (u.a.) 11 / 32
  • 12. Komplexität und Kompliziertheit unterscheiden Julian Fietkau Ein Zitat zwischendurch „Most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves.“ – Alan Kay 12 / 32
  • 13. Komplexität und Kompliziertheit unterscheiden: Untere Ebene – Einzelne Dialogmasken Julian Fietkau Untere Ebene: Einzelne Dialogmasken Die benötigte Komplexität ergibt sich aus den Aufgaben. Darüber hinausgehende Kompliziertheit kann mit traditionellen Richtlinien für Schnittstellengestaltung eingedämmt werden. Gestaltgesetze, Interaktionsmuster, Nutzen von Vorerfahrung usw. In diesem Bereich hat eine beträchtliche Menge Forschung stattgefunden, Hilfen und Literatur existieren zuhauf. 13 / 32
  • 14. Komplexität und Kompliziertheit unterscheiden: Untere Ebene – Einzelne Dialogmasken Julian Fietkau Dialogmaske Dialogmaske Name Geburtstag Sortierreihenfolge 1 Sortierreihenfolge 2 Name 1 aufsteigend absteigend aufsteigend absteigend Adresse 3 Adresse Lieblingsfarbe Sortierreihenfolge 3 Sortierreihenfolge 5 Telefonnummer 4 aufsteigend absteigend aufsteigend absteigend Geburtstag 2 Telefonnummer Lieblingsfarbe 5 Sortierreihenfolge 4 aufsteigend absteigend OK Abbrechen Übernehmen OK Abbrechen Übernehmen Dialogmaske Nr. Kriterium auf-/absteigend 1 Name aufsteigend absteigend 2 Geburtstag aufsteigend absteigend 3 Adresse aufsteigend absteigend 4 Telefonnummer aufsteigend absteigend 5 Lieblingsfarbe aufsteigend absteigend OK Abbrechen Übernehmen Eine Dialogmaske: (1) zu stark vereinfacht, (2) komplizierte Struktur, (3) klare Struktur mit allen nötigen Features 14 / 32
  • 15. Komplexität und Kompliziertheit unterscheiden: Obere Ebene – Gesamte Anwendung Julian Fietkau Obere Ebene: Gesamte Anwendung Es gibt erheblich weniger gesicherte Erkenntnisse in diesem Maßstab. Grundfrage: Ist die Struktur der Anwendung sinnvoll hinsichtlich der Aufgaben und Vorkenntnisse der Benutzer? Sie kann ggf. zu flach und einfach sein (nicht aufgabenangemessen), oder aber zu kompliziert, willkürlich und verwirrend. Im Bereich der Informationsarchitektur wird an der geeigneten Strukturierung und Präsentation großer Informationsmengen gearbeitet, bisher hauptsächlich für Webseiten. Dort werden Dinge wie Suchstrategien, Aufbereitung großer Inhaltsmengen, Navigationsmöglichkeiten auf Basis semantischer Zusammenhänge der Inhalte etc. untersucht. 15 / 32
  • 16. Komplexität und Kompliziertheit unterscheiden: Obere Ebene – Gesamte Anwendung Julian Fietkau Fehler Bewertung für Einzelbilder Sie können auf Ihr Favoriten- aktivieren? Album erst zugreifen, wenn Sie die Bewertung für Einzelbilder Damit das Favoriten-Album aktiviert haben. verwendet werden kann, muss Sie finden die Option unter erst die Bewertung für Einzel- "Extras", "Einstellungen…" un- bilder aktiviert werden. terhalb des Reiters "Bilder- Datenbank". Bewertung für Zur OK ✔ Einzelbilder aktivieren ↪ Startansicht zurückkehren Ein Beispiel für Navigation: (1) schlecht, belastet das Kurzzeitgedächtnis, Benutzer soll unnötige Arbeit leisten. (2) besser, direkte Hilfestellung, keine weitere Suche nötig. 16 / 32
  • 17. Ideen und Impulse Julian Fietkau Ein Zitat zwischendurch „The old days when we could just go into the back room and develop tech- nology for the Department of Defense are gone. Now we’re developing tech- nology for my mother, and that requi- res a whole new set of skills.“ – Peter J. Denning 17 / 32
  • 18. Ideen und Impulse: Das Ribbon-UI Julian Fietkau Was und warum ist ein „Ribbon“? Situation: Die Interaktionsmuster „Menüleiste“ und „Symbolleisten“ skalieren nicht mit der wachsenden Funktionalität der Software. Lösungsvorschlag: Das „Ribbon“-UI als neue Möglichkeit, Funktionen aufgabenorientiert und strukturiert zugänglich zu machen. Eigenschaften des Ribbon: unterschiedlich große Icons je nach Verwendungshäufigkeit Tooltips mit vollständigen Beschreibungen statt nur Titeln Erweiterte Funktionen in Pop-Ups hinter speziellem Button ... 18 / 32
  • 19. Ideen und Impulse: Das Ribbon-UI Julian Fietkau Ein Ribbon-Beispiel ⟲ ⤿ Home Insert Page Layout References Mailings Review View ? • 11 A ¶ A ✄ 1 1 A Find A Purisa • 2 a • 3 i Z AaBbCc AaBbCc ab ac Replace B I U abc x2 x2 Aa Normal No Spacin… Change Styles Select Customize Paste Clipboard Font Paragraph Styles Editing Customize Lorem Ipsum Quisque id quam rhoncus magna elementum feugiat. Curabitur eros neque, aliquet 19 / 32
  • 20. Ideen und Impulse: Adaptive User Interfaces Julian Fietkau Interfaces, die sich dem Benutzer anpassen Idee: Unterschiedliche Benutzer verwenden unterschiedliche Funktionen der Software. Kann die Software für den jeweiligen Benutzer „lernen“, welche Funktionen am meisten verwendet werden, und die Struktur der Oberfläche entsprechend anpassen? Vorteil: Arbeit in Form von Navigation kann eingespart und Wege können verkürzt werden. Nachteil: Der (Kennen-)Lernprozess kann gestört werden, wenn die Oberfläche sich ohne erkennbaren Grund ändert. 20 / 32
  • 21. Ideen und Impulse: Adaptive User Interfaces Julian Fietkau Datei Bearbeiten Bearbeiten Ansicht Format atei Ansicht Einfügen Einfügen Format Extras Hilfe Neu Objekt… Öffnen… Bild Speichern Diagramm Speichern unter… Textfeld Schließen ˇ 1. Seminararbeit 2. Lebenslauf 3. Bewerbung Drucken… Seitenansicht Beenden Ein Beispiel für adaptive Aspekte von Menüoberflächen: (1) gut, die Auflistung zuletzt verwendeter Dokumente ist eine etablierte adaptive Funktion. (2) schlecht, die adaptiven Menüs hindern die Gewöhnung und das Erlernen der Software. 21 / 32
  • 22. Ideen und Impulse: Feature Layering Julian Fietkau Benutzer und ihre Lernstadien Wie kann Software so gestaltet werden, dass Anfänger, Fortgeschrittene und Profis damit arbeiten und beim Lernprozess unterstützt werden können? Ermögliche konsistente mentale Modelle und einfache Metaphern für Anfänger. Gestatte es Fortgeschrittenen, in Details einzusteigen und ihre eigene Effizienz zu steigern. Gib Profis die Werkzeuge, die Funktionalität der Software zu erweitern und die Erweiterungen den weniger erfahrenen Benutzern zugänglich zu machen. 22 / 32
  • 23. Ideen und Impulse: Feature Layering Julian Fietkau Benutzer und ihre Lernstadien Intro Features Expert Features Meta Features Ein Modell für die Strukturierung von Software-Funktionalität. vgl. Daniel Cook: One Billion Buttons Please 23 / 32
  • 24. Ideen und Impulse: Feature Layering Julian Fietkau A B C D E F G H 1 2 3 4 5 6 7 8 Ein Beispiel für Feature Layering: Tabellenkalkulationen Intro: intuitive Papiermetapher, befüllbare Tabelle Expert: Formeln, Verweise Meta: Makros 24 / 32
  • 25. Ideen und Impulse: Motivationstechniken aus dem Bereich Game Design Julian Fietkau Spiele sind irgendwie anders Anwendungssoftware. . . . . . ist Mittel zum Zweck. . . . muss „mühsam“ erlernt werden. . . . wird meist als „notwendiges Übel“ empfunden. Spiele. . . . . . sind Selbstzweck. . . . bewirken wie von selbst (teils beeindruckende) Lernprozesse. . . . machen Spaß. → Motivation! 25 / 32
  • 26. Ideen und Impulse: Motivationstechniken aus dem Bereich Game Design Julian Fietkau Wie schaffen Spiele es, Spaß zu machen? Game Design und Motivatiosforschung Entwickler von Computer- und Konsolenspielen haben über Jahrzehnte Erfahrung darin gesammelt, Software mit Spaß zu vereinen. Benutzer sind bereit, viel Zeit und Lernaufwand in Software zu investieren, wenn sie dabei Spaß haben. Erreichbar ist das durch die richtige Balance aus Herausforderung, Feedback zur eigenen Leistung und positiver Bestätigung. 26 / 32
  • 27. Ideen und Impulse: Motivationstechniken aus dem Bereich Game Design Julian Fietkau Motivierende Software 1 Trenne große Lernprozesse in mehrere kleine auf. 2 Baue fortgeschrittene Konzepte auf bereits Erlerntem auf. 3 Sorge für eine sanfte Lernkurve. 4 Miss den Fortschritt des Benutzers. 5 Bewerte und belohne die Leistung. 6 Sorge dafür, dass die erlernten Fähigkeiten (mindestens lokal) nützlich sind. vgl. Daniel Cook: Building fun into your software designs 27 / 32
  • 28. Ideen und Impulse: Motivationstechniken aus dem Bereich Game Design Julian Fietkau Ein Beispiel für zielorientierte Software als Spiel Wii Fit von Nintendo Foto von WiredRyo via flickr/cc-by-sa 28 / 32
  • 29. Fazit Julian Fietkau Fazit Die Komplexität von Software steigt. Das ist kein Grund zur Panik. Als Softwareentwickler müssen wir die Komplexität unserer Software kritisch betrachten, bewerten und beherrschen. Einige Ideen zur Bewältigung von Komplexität wurden vorgestellt. Es gibt kein Wundermittel. Es gibt noch viel Raum für Forschung und Experimente. 29 / 32
  • 30. Fazit Julian Fietkau Ein Zitat zum Abschluss „Complexity is here to stay. The frame of mind is essential: learn to accept com- plexity, but also learn to conquer it. (. . . ) The technologies we use must match the complexity of the world: technological complexity is unavoidable.“ – Don Norman 30 / 32
  • 31. Verweise: Literatur Julian Fietkau Literatur Donald A. Norman: Living with Complexity The MIT Press (7. Dezember 2010) ISBN-13: 978-0262014861 (amazon) 31 / 32
  • 32. Verweise: Weblinks Julian Fietkau Weblinks Don Norman: Simplicity Is Highly Overrated http://www.jnd.org/dn.mss/simplicity_is_highly.html Joel Spolsky: Simplicity http://www.joelonsoftware.com/items/2006/12/09.html Jensen Harris: The Story of the Ribbon http://blogs.msdn.com/b/jensenh/archive/2008/03/12/...-ribbon.aspx Daniel Cook: One Billion Buttons Please http://www.lostgarden.com/2007/02/one-billion-...-we.html Daniel Cook: Building fun into your software designs http://www.lostgarden.com/2006/12/building-...-designs.html 32 / 32