The Usability of a Visual, Flow-Based Programming Environment for Non-Programmers
Total Page:16
File Type:pdf, Size:1020Kb
THE USABILITY OF A VISUAL, FLOW-BASED PROGRAMMING ENVIRONMENT FOR NON-PROGRAMMERS by Alia H. Shubair A thesis presented to Ryerson University in partial fulfillment of the requirements for the degree of Master of Science in the Program of Computer Science Toronto, Ontario, Canada, 2014 © Alia H. Shubair 2014 ii Author’s Declaration I hereby declare that I am the sole author of this thesis. This is a true copy of the thesis, including any required final revisions, as accepted by my examiners. I authorize Ryerson University to lend this thesis to other institutions or individuals for the purpose of scholarly research. I further authorize Ryerson University to reproduce this thesis by photocopying or by other means, in total or in part, at the request of other institutions or individuals for the purpose of scholarly research. I understand that my thesis may be made electronically available to the public for the purpose of scholarly research only. iii iv Abstract The Usability of A Visual, Flow-Based Programming Environment for Non-Programmers Alia H. Shubair Master of Science, Computer Science Ryerson University, 2014 Living with “Big Data” gives us the advantage of being able to exploit this wealth of data sources and derive useful insights to make better decisions, enhance productivity, and optimize resources. However, this advantage is limited to a small group of profes- sionals, with the rest of the population unable to access this data. Lack of support for non-professionals creates the need for data manipulation tools to support all sectors of society without acquiring complex technical skills. “Kit” is a visual flow-based programming environment that aims to facilitate manipu- lation and visualization for all citizens, particularly non-programmers, enabling them to have hands on data in an easy manner. This study evaluates Kit’s usability by having non-programmers involved in various evaluation activities to assess their ability to solve data-related problems using a proto- type of the environment. The results provided useful insights to improve the design of data manipulation tools aiming to support non-programmers. v vi Acknowledgements I would like to express my deepest gratitude to my supervisor Dr. Dave Mason, who helped through my ups and downs in this research. He has been always by my side guiding, advising, and supporting the completion of this thesis. I would like to thank my committee chair and our graduate program co-ordinator Dr. Alex Ferworn, who has been always a good friend and a great support for all the gradu- ate students. His positive attitude and care have been an extra motivation for us to give back our best accomplishments. In addition, I would like to express my appreciation for my committee members Dr. Eric Harley and Dr. Deborah Fels for their guidance and patience through my thesis defence. I would like to express my appreciation for Prof. Sophie Quigley, who allowed me to be a part of her HCI course experiments. She has been a great help whenever guidance was needed. I would like to thank Ryerson University and the computer Science Department specif- ically for giving me this opportunity to pursue my research journey. Furthermore, I would like to express my appreciation to those individuals within the department who will never be forgotten. A sincere gratitude goes to my best friend Dr. Rasha Aljamal, who has given me the strength and the encouragement through the hard days. A special and deep gratitude goes to my extraordinary parents Hasan and Eman, who taught me to cherish knowledge and seek for it wherever it may be found. Last but not least, thank you from the bottom of my heart goes to my husband Khalil who has been always supportive, cooperative, and patient. I would not have done it without his love. vii viii To To my lovely little angels Abraham & Nada.. I love you. ix x Table of Contents 1 Introduction 1 2 Related Work 4 2.1 Kit Environment . .5 2.2 Software Usability . .8 2.2.1 What is Usability? . .8 2.2.2 Usability Evaluation . .9 2.3 Visual Programming Languages . 20 2.3.1 Overview of VPLs . 21 2.3.2 Usability of VPLs . 23 2.3.3 Examples of VPLs . 27 2.4 Flow Based Programming . 32 2.5 Programming for Non-Programmers . 35 2.5.1 What Is Programming and Who Is A Programmer? . 35 2.5.2 Research About Non-Programmers . 37 2.5.3 Projects for Non-Programmers . 39 2.6 Big Data . 41 2.6.1 What is Big Data? . 42 2.6.2 Who Can Use Big Data? And Why? . 43 xi 3 Experimental Design 45 3.1 Introduction Phase: Introducing Kit and Measuring Impressions . 46 3.2 Design Phase: Collect Design Requirements by Problem Scenarios . 51 3.2.1 Problem Scenarios . 52 3.3 Recognition Phase: Matching Kit Models with Scenarios . 53 3.4 Interaction Phase: Hands-On Kit . 59 3.5 Participants . 63 3.5.1 University Planning Office....................... 64 3.5.2 Journalism Graduate Students . 65 3.5.3 General Population . 66 4 Results 67 4.1 Introduction Phase Results . 67 4.1.1 Focus Group Sessions . 68 4.1.2 The Main Findings . 73 4.2 Design Phase Results . 75 4.2.1 Problem Scenarios . 76 4.2.2 Thematic Analysis . 90 4.2.3 The Main Findings . 95 4.3 Recognition Phase Results . 97 4.3.1 The Main Findings . 100 4.4 Interaction Phase Results . 100 4.4.1 The Main Findings . 106 4.5 Summary . 108 5 Conclusions 110 5.1 Findings . 111 5.2 Contribution . 111 xii 5.3 Limitations . 112 5.4 Future Work . 112 Appendices 113 A Consent Form 114 B Usability Survey 118 B.1 Personal Information . 118 B.2 Kit Environment . 119 C Kit Manual 120 D Kit Code 126 D.1 Average Block . 126 D.2 Count Block . 128 D.3 Filter Block . 129 D.4 LookUp Block . 132 D.5 Normalize Block . 134 D.6 Total Block . 136 E Validation Test 137 E.1 Model Validation . 137 E.2 Interactive Validation . 141 References 141 xiii xiv List of Figures 2.1 A screenshot of Kit’s GUI . .6 2.2 Kit Example . .7 2.3 Nielsen’s Usability Engineering Model (From [66, p. 13]) . 10 2.4 A Model Example of Prograph Program (From [56, p. 93]) . 27 2.5 Prograph Representation of Conditional Statements (From [56, p. 94]) . 28 2.6 Prograph Representation of a while loop (From [56, p. 98]) . 28 2.7 A Screenshot of Raptors Environment (From [16]) . 29 2.8 VIPR Hello World and C Equivalent (From [19, p. 5]) . 30 2.9 VIPR Representation of a while loop (From [19, p. 9]) . 31 2.10 VIPR Representation of Function Call and Return (From [19, p. 10]) . 31 2.11 A Simple FBP Diagram (From [61]) . 33 3.1 Introduction Phase: Hello World Program . 47 3.2 Introduction Phase: Graphing Program . 48 3.3 Introduction Phase: Table Calculation Program . 49 3.4 Introduction Phase: Iteration Program . 50 3.5 Recognition Phase: An Introductory Example Representing the Real- Estate Problem Scenario . 55 3.6 Recognition Phase: The Test’s First Model . 56 3.7 Recognition Phase: The Test’s Second Model . 57 3.8 Recognition Phase: The Test’s Third Model . 58 3.9 Testing Phase: First Problem’s Implementation . 60 3.10 Testing Phase: Second Problem’s Implementation - Part (a) . 61 3.11 Testing Phase: Second Problem’s Implementation - Part (b) . 62 3.12 Testing Phase: Second Problem’s Implementation - Part (c) . 63 3.13 The data-driven journalism process (From [51]) . 66 4.1 Design Phase: UPO Survey Results . 69 4.2 Design Phase: JGS Survey Results . 70 4.3 Design Phase: GP Survey Results . 72 4.4 Design Phase: Participants Responses for the Lack of Programming Ef- fect Question . 73 4.5 Design Phase: Survey Results - All Participants . 74 4.6 Design Phase: The First Problem Scenario - Suggested Model . 78 xv 4.7 Design Phase: The First Problem Scenario - Modified Model . 78 4.8 Design Phase: First Kit Model . 79 4.9 DesignDesign Phase: The Second Problem Scenario - Suggested Model . 81 4.10 Design Phase: The Second Problem Scenario - First Modified Model . 82 4.11 Design Phase: The Second Problem Scenario - Second Modified Model . 83 4.12 Design Phase: Second Kit Model . 84 4.13 Design Phase: The Third Problem Scenario - Suggested Model . 85 4.14 Design Phase: Third Kit Model . 86 4.15 Design Phase: The Fourth Problem Scenario - Suggested Model . 88 4.16 Design Phase: The Fourth Problem Scenario - Modified Model . 88 4.17 Design Phase: Fourth Kit Model . 89 4.18 Recognition Phase: Test Results - All Participants . 99 4.19 Testing Phase: Participants Evaluations of Kit’s Usability . 107 xvi Chapter 1 Introduction “The reason big data is impacting every one of us is the data oozing out of everything ... It is like electricity flowing throughout an organization – everyone can tap into it on command to answer the individual questions their jobs demand.” Pat Hanrahan – Stanford University y thesis is that: Kit can provide an easy to learn and use environment that fa- M cilitates data manipulation for non-programmers. Living in an information revolution age, gives us the advantage of having every- thing in a digitized form. Having such wealth of data sources allows us to exploit it into some useful insights. This capability should not be restricted to a technical subset of the population. Having the ability to manipulate data surrounding us should be de- mocratized to include each individual. My team and I are developing a new interactive, visual flow-based environment that facilitates analyzing data effectively and easily.