An Adversarial Interface Design Pattern to Support Ideation
Total Page:16
File Type:pdf, Size:1020Kb
Bachelorarbeit am Institut für Informatik der Freien Universität Berlin Human-Centered Computing (HCC) An adversarial interface design pattern to support ideation Gerold Schneider Betreuer: Maximilian Mackeprang Erstgutachterin: Prof. Dr. Claudia Müller-Birn Zweitgutachter: Prof. Dr. Lutz Prechelt Berlin, July 30, 2019 Eidesstattliche Erklärung Ich versichere hiermit an Eides Statt, dass diese Arbeit von niemand anderem als meiner Person verfasst worden ist. Alle verwendeten Hilfsmittel wie Berich- te, Bücher, Internetseiten oder ähnliches sind im Literaturverzeichnis angegeben, Zitate aus fremden Arbeiten sind als solche kenntlich gemacht. Die Arbeit wur- de bisher in gleicher oder ähnlicher Form keiner anderen Prüfungskommission vorgelegt und auch nicht veröffentlicht. Berlin, July 30, 2019 Gerold Schneider Abstract This project has identified a software user interface design pattern that captures the essential nature of problem oriented ideation processes and possibly improves their outcome and efficiency by providing mechanisms to overcome common problems encountered in such processes. In particular creative block, the blank page, loss of focus and methodical constraints. As far as the yet limited evaluation of the pattern through a prototype implementation and a hand full of expert in- quiries allows valid inference, its utility is clear and demonstrable. Of particular note seems to be the observation that the pattern does not formulate or enforce a particular method or paradigm but instead provides just enough structure for the user to feel secure while being flexible enough to become an extension of any users personal method. It is therefore well received by users that generally re- ject method-driven creativity. In contrast to existing tools (offline and online) this pattern seems to resolve all critical issues that constrain productive use (con- strained space, problem-solution mismatch, cost of complexity, overhead), leav- ing only issues that could improve its standalone effectiveness and complement value through integration into existing workflows. The pattern appears to be fairly agnostic in terms of ideation subject matter, even as far as being adaptable to tasks ancillary to ideation like note-taking, collecting materials, sharing and browsing materials, documenting, sense-making and clustering. The pattern reaches its limits where users are unfamiliar with concepts of creativ- ity or have little experience in solving problems creatively. The pattern cannot overcome inherent lack of creativity or disinterest in solving a problem. As a pattern aimed at design, its complementary value when integrated in production tools is unclear. Zusammenfassung Dieses Projekt identifiziert ein Gestaltungsmuster für Software-Benutzerschnittstellen welches den essenziellen Charakter von Problemgerichteten Ideenfindungspro- zessen einfängt und ihre Ergebnisse verbessern kann indem es Mechanismen zur Abmilderung gängiger Probleme solcher Prozesse anbietet. Diese sind insbeson- dere Blockaden des kreativen Denkens, Schwierigkeiten einen Anfang zu finden, Verlust des Fokus und die gegebenenfalls engen Beschränkungen einer bestimm- ten Methode. Insofern die noch stark beschränkte Auswertung einer prototypi- schen Implementierung des Gestaltungsmusters und eine Handvoll Expertenmei- nungen gültige Schlussfolgerungen zulässt ist, hat es sich als durchaus nützlich gezeigt. Insbesondere die Beobachtung scheint bedeutsam, dass das Gestaltungs- muster keine Methode, bestimmtes Vorgehen oder Paradigma fordert, sondern Anwendern grade genug Struktur bereitstellt, dass sie sich sicher fühlen und mit ihm ihre eigene Methode ergänzen. Es wurde deshalb auch von Anwendern gut auf genommen die sonst methodische Ansätze der Kreativitätsförderung ableh- nen. Im Gegensatz zu existierenden Anwendungen scheint das Gestaltungsmus- ter alle kritischen Probleme zu lösen welche einer produktiven Nutzung entgegen- stehen (Beschränkter Raum, Problem-Lösungs-Diskrepanz, Komplexitätskosten, Verwaltungskosten). Es verbleiben lediglich Belange welche seine selbständige Ef- fektivität und seinen Wert bei Integration in existierende Arbeitsabläufe verbes- sern. Das Muster scheint durchaus unabhängig vom dem Gegenstand einer Ide- enfindung nützlich zu sein und eine gewisse Flexibilität zu besitzen für Neben- zwecke einer Ideenfindung, wie z.B. Notizen, Materialsammeln, Dokumentation, Sensemaking und Clustering. Das Muster erreicht die Grenzen seiner Nützlichkeit wenn Anwender kein Ver- ständnis für Konzepte der Kreativität oder wenig Erfahrung mit kreativer Pro- blemlösung besitzen. Das Muster ist nicht in der Lage ein inhärentes Fehlen von Kreativität oder Desinteresse an einer Problemlösung zu überwinden. Als ein Muster dessen Nutzen sich vordergründig als Entwurfs- und Gestaltungswerk- zeug entfaltet, ist der Nutzen z.B. bei Integration in Produktiv-Werkzeuge unklar. Contents 1. Preface 1 2. Introduction 3 2.1. The role attributed to computational artifacts ............ 3 2.2. Concrete goals ............................. 4 2.3. Approach ................................ 5 2.4. Method ................................. 5 2.5. Process ................................. 6 2.6. A note on language and design of this text .............. 7 3. Background 9 3.1. Related work .............................. 9 3.2. The map metaphor and prior work ................. 11 3.3. Approach to application design ................... 11 3.4. Research method ........................... 12 3.4.1. Prior work .......................... 12 3.4.2. Action research ........................ 13 3.5. Exploratory research ......................... 15 3.5.1. Setup ............................. 15 3.5.2. Insights ............................ 16 3.6. A complex adaptive system model of innovation .......... 16 4. Prototype 19 4.1. Static requirements .......................... 20 4.1.1. Conceptual needs ...................... 20 4.1.2. User needs .......................... 20 4.1.3. Technological Boundaries .................. 21 4.1.4. Workflow needs ....................... 22 4.2. Dynamical requirements ....................... 22 4.2.1. Persistence and exaptation .................. 22 4.2.2. Variation, error and noise .................. 22 4.2.3. Change ............................ 23 4.2.4. Constructive resistance ................... 23 4.2.5. Minimal cognitive load ................... 23 4.2.6. Limited space ......................... 24 4.3. The Stacktree pattern ......................... 24 4.4. A Stacktree application design .................... 27 4.5. Implementation ............................ 32 4.5.1. Failure risks and conceptual architecture .......... 32 i 4.5.2. Technology selection ..................... 32 4.5.3. Logical architecture ..................... 34 4.5.4. Implementation details ................... 35 4.5.5. Repository .......................... 35 4.6. Evaluation ............................... 35 4.6.1. Setup ............................. 36 4.6.2. Protocol ............................ 37 5. Results and discussion 41 5.1. Evaluation results ........................... 41 5.1.1. Process evaluation ...................... 41 5.1.2. Open observations ...................... 43 5.1.3. Axial observations ...................... 45 5.1.4. Action falsification ...................... 47 5.2. Periscope 0.5 and Stacktree limitations ............... 48 5.3. Comparing Stacktree to other patterns and concepts ........ 49 6. Conclusion 53 6.1. Project summary ........................... 53 6.2. Results summary ........................... 53 6.3. Encountered problems ........................ 54 6.4. Opportunities for improvement ................... 54 Bibliography 58 Appendices 61 A. Explorative Research Observation Notes .............. 62 B. Prototype implementation ...................... 66 B.1. Technology selection ..................... 66 B.2. Software, libraries, frameworks ............... 66 B.3. Unity API ........................... 69 B.4. Unity Core .......................... 69 B.5. Unity UI ............................ 71 B.6. Organizational concerns ................... 73 B.7. Tree module ......................... 73 B.8. Card Module ......................... 77 B.9. Stack module ......................... 78 B.10. Application singleton .................... 81 B.11. Other modules ........................ 82 C. Explorative Research Interview Responses ............. 84 D. Prototype Evaluation Interview Responses ............. 91 E. Evaluation Protocol .......................... 95 List of Figures 2.1. Project overview ............................ 7 3.1. The action research loop ....................... 14 3.2. Clustering observed during explorative research .......... 15 3.3. An innovation landscape ....................... 17 3.4. The intertwined nature of innovation ................ 18 4.1. Exploration of opportunity areas through human computer in- teraction (HCI) ............................. 19 4.2. General use case underlying the application design (UML) ..... 21 4.3. The Stacktree pattern concept .................... 24 4.4. Visual affordances of quadtree subdivision ............. 26 4.5. Wireframe of the prototype graphical user interface (GUI) ..... 27 4.6. Screenshot of a zoomed-out view of the user interface (UI). .... 28 4.7. Screenshot of the UI in an initial state of an ideation session .... 29 4.8. Screenshot of the UI after starting a new session. .......... 30 4.9. Wireframe of the card widget ..................... 31 4.10. Periscope 0.5 architectural context view (UML)