Rahul Pandita, Chris Parnin, Felienne Hermans, & Emerson Murphy-Hill
The popularity of end-user programming has lead to diverse end-user development environments. Despite accurate and efficient tools available in such environments, end-user programmers often manually complete tasks.
What are the consequences of rejecting these tools? In this paper, we answer this question by studying end-user programmers completing four tasks with and without tools.
In analyzing 111 solutions to each of these tasks, we observe that neither tool use nor tool rejection was consistently more accurate or efficient. In some cases, tool users took nearly twice as long to solve problems and over-relied on tools, causing errors in 95% of solutions.
Compared to manual task completion, the primary benefit of tool use was narrowing the kinds of errors that users made. We also observed that partial tool use can be worse than no tool use at all.
This task required participants to extract zip codes from 61 lines of text, each line containing a postal address.
Since the zip codes appeared strictly at the end of the text, many users applied the
RIGHT function to extract the zip code.
However, participants incorrectly assumed that zip codes are always a 5 digit number, overlooking exceptions where two zip codes contained 9 digits and one address contained a Canadian alphanumeric zip code.
Consequently, 96% of participants using this method made errors because they did not correct for the exceptions.
In this case, use of a tool may have caused participants to get a false sense of correctness.
2018, Visual Languages and Human-Centric Computing, October