Non-Programmers Composing Software Services: A Confirmatory Study of the Mental Models and Design Challenges
Source abstract
Abstract
Ordinary web users can now create and publish online content. They even venture into “mashups,” integrating information from different sources into a composite information-providing web service. This is a non-trivial design task, which falls into the area of end-user development when the ordinary users who perform it do not have programming education. In this article, we investigate the service design strategies of 12 such ordinary users and compare them against the baseline of 12 programmers. In our think-aloud study, users completed two contrasting types of tasks involved in developing service-based applications: (a) manual service composition and (b) parametric design using templates with a high degree of software support (or assisted composition). These service composition tasks were chosen to differ in respect to the level of user support provided by the tool. Our findings show that non-programmers liked, more than programmers, the template-based parametric design and did not find the tool assistance as constraining as the programmers did. The difficulty of design involved in manual service composition and the absence of user guidance hindered non-programmers in expressing and implementing accurate design solutions. The differences in the mental models and needs of non-programmers are established to be in stark contrast to those of programmers. We used the details of our findings to propose specialized design recommendations for service composition tools aligned with the profiles of their target users.
Source: crossref · Quality: baseline
Research context
OpenAlex topics: Spreadsheets and End-User Computing · Usability and User Interface Design · Software Engineering Techniques and Practices
SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.
Affiliations
Faculty of Computer and Information Systems, Islamic University of Madinah, Medina 42351, Saudi Arabia
Alliance Manchester Business School, The University of Manchester, Booth Street West, Manchester M15 6PB, UK
Funding
Sixth Framework Programme
References (81)
Show source-provided references
1. Erl, T. (2007). SOA Principles of Service Design, Prentice Hall Press.
2. Van der Aalst, W.M.P., Dumas, M., and ter Hofstede, A.H.M. (2003, January 1–6). Web service composition languages: Old wine in new bottles?. Proceedings of the 29th Euromicro Conference, Belek-Antalya, Turkey.
3. Scaffidi, C., Shaw, M., and Myers, B. (2005, January 20–24). Estimating the numbers of end users and end user programmers. Proceedings of the 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VLHCC ’05), Dallas, TX, USA.
4. Organisational view of end-user development
5. The state of the art in end-user software engineering10.1145/1922649.1922658 ↗
6. Norman, D.A. (2014). Some observations on mental models. Mental Models, Psychology Press.
7. Ganesarajah, D., and Lupu, E. (2002, January 20). Workflow-based composition of web-services: A business model or a programming paradigm?. Proceedings of the Sixth International Enterprise Distributed Object Computing Conference (EDOC’02), Lausanne, Switzerland.
8. Rao, J., and Su, X. (2004). A survey of automated web service composition methods. International Workshop on Semantic Web Services and Web Process Composition, Springer.10.1007/978-3-540-30581-1_5 ↗
9. Boshernitsan, M., Graham, S.L., and Hearst, M.A. (May, January 28). Aligning development tools with the way programmers think about code changes. Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, San Jose, CA, USA.
10. Namoun, A., Nestler, T., and de Angeli, A. (2010, January 5–9). Conceptual and usability issues in the composable web of software services. Proceedings of the International Conference on Web Engineering, Vienna, Austria.10.1007/978-3-642-16985-4_35 ↗
11. Namoun, A., Nestler, T., and de Angeli, A. (2010, January 1–3). Service composition for non-programmers: Prospects, problems, and design recommendations. Proceedings of the 2010 Eighth IEEE European Conference on Web Services (ECOWS ’10), Washington, DC, USA.10.1109/ECOWS.2010.17 ↗
12. Form-based web service composition for domain experts10.1145/2542168 ↗
13. Radeck, C., and Meißner, K. (2017, January 25–27). Assisted end user development for non-programmers: Awareness, exploration and explanation of composite web application functionality. Proceedings of the International Conference on Web Information Systems and Technologies, Porto, Portugal.10.1007/978-3-319-93527-0_12 ↗
14. Santos, M., and Villela, M.L.B. (2019, January 26–31). Characterizing end-user development solutions: A systematic literature review. Proceedings of the International Conference on Human-Computer Interaction, Orlando, FL, USA.10.1007/978-3-030-22646-6_14 ↗
15. RecRules: Recommending IF-THEN rules for end-user development10.1145/3344211 ↗
16. Mehandjiev, N., Namoune, A., Wajid, U., Macaulay, L., and Sutcliffe, A. (2010, January 1–3). End user service composition: Perceptions and requirements. Proceedings of the 2010 Eighth IEEE European Conference on Web Services (ECOWS ’10), Ayia Napa, Cyprus.10.1109/ECOWS.2010.29 ↗
17. de Angeli, A., Battocchi, A., Chowdhury, S.R., Rodriguez, C., Daniel, F., and Casati, F. (2011). End-user requirements for wisdom-aware EUD. End User Development, Springer.10.1007/978-3-642-21530-8_21 ↗
18. A UI-centric approach for the end-user development of multidevice mashups10.1145/2735632 ↗
19. User studies on end-user service composition: A literature review and a design framework10.1145/3340294 ↗
20. Daniel, F., and Matera, M. (2014). Mashups: Concepts, Models and Architectures, Springer.10.1007/978-3-642-55049-2 ↗
21. Mehandjiev, N., Namoun, A., Lécué, F., Wajid, U., and Kleanthous, G. (2014). End users developing mashups. Web Services Foundations, Springer.10.1007/978-1-4614-7518-7_28 ↗
22. Minhas, S. (2017). A Framework for Constructing End User Oriented Service Mashups. [Ph.D. Thesis, The University of Manchester United Kingdom].
23. LSMP: A lightweight service mashup platform for ordinary users
24. Lieberman, H., Paterno, F., and Wulf, V. (2006). End-USER DEVELOPMENT: An emerging paradigm. End User Development, Springer.10.1007/1-4020-5386-X ↗
25. Nardi, B.A. (1993). A Small Matter of Programming: Perspectives on End User Computing, MIT Press.10.7551/mitpress/1020.001.0001 ↗
26. Web service composition: A survey of techniques and tools10.1145/2831270 ↗
27. Ko, A.J., Myers, B.A., and Aung, H.H. (2004, January 26–29). Six learning barriers in end-user programming systems. Proceedings of the 2004 IEEE Symposium on Visual Languages-Human Centric Computing, Rome, Italy.10.1109/VLHCC.2004.47 ↗
28. Abraham, R., Burnett, M.M., and Erwig, M. (2009). Spreadsheet programming. Wiley Encyclopedia of Computer Science and Engineering, John Wiley.10.1002/9780470050118.ecse415 ↗
29. Kongdenfha, W., Benatallah, B., Vayssière, J., Saint-Paul, R., and Casati, F. (2009, January 20–24). Rapid development of spreadsheet-based web mashups. Proceedings of the 18th International Conference on World Wide Web (WWW ’09), Madrid, Spain.10.1145/1526709.1526824 ↗
30. Paternò, F., and Santoro, C. (2017). A design space for end user development in the time of the internet of things. New Perspectives in End-User Development, Springer.10.1007/978-3-319-60291-2 ↗
31. Sutcliffe, A. (2005). Evaluating the costs and benefits of end-user development. ACM SIGSOFT Software Engineering Notes, ACM.10.1145/1083231.1083241 ↗
32. End user perceptions of the benefits and risks of end user web development10.4018/joeuc.2006100102 ↗
33. Schulte, S., Repp, N., Eckert, J., Berbner, R., von Blanckenburg, K., Schaarschmidt, R., and Steinmetz, R. (2008, January 26–29). Potential risks and benefits of Service-oriented Collaboration—Basic considerations and results from an empirical study. Proceedings of the Second IEEE International Conference on Digital Ecosystems and Technologies (DEST 2008), Phitsanulok, Thailand.10.1109/DEST.2008.4635153 ↗
34. Namoun, A., Wajid, U., and Mehandjiev, N. (2010). A comparative study: Service-based application development by ordinary end users and IT professionals. Towards a Service-Based Internet, Springer.10.1007/978-3-642-17694-4_14 ↗
35. Burnett, M., Fleming, S.D., Shamsi, I., Venolia, G., Rajaram, V., Farooq, U., Grigoreanu, V., and Czerwinski, M. (2010, January 16–17). Gender differences and programming environments: Across programming populations. Proceedings of the 2010 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM ’10), Bolzano-Bozen, Italy.10.1145/1852786.1852824 ↗
36. A survey on web services composition10.1504/IJWGS.2005.007545 ↗
37. Web services composition: A decade’s overview10.1016/j.ins.2014.04.054 ↗
38. Martinez, A., Patino-Martinez, M., Jimenez-Peris, R., and Perez-Sorrosal, F. (2005, January 20–24). ZenFlow: A visual web service composition tool for BPEL4WS. Proceedings of the 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VLHCC ’05), Dallas, TX, USA.
39. Hosking, L., Li, J., and Grundy, J. (2007, January 23–27). Visual modelling of complex business processes with trees, overlays and distortion-based displays. Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing (VLHCC ’07), Coeur d’Alene, ID, USA.
40. Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmers10.1145/1089733.1089734 ↗
41. Nestler, T., Namoun, A., and Schill, A. (2011, January 13–16). End-user development of service-based interactive web applications at the presentation layer. Proceedings of the 3rd ACM SIGCHI Symposium on Engineering Interactive Computing Systems (EICS ’11), Pisa, Italy.10.1145/1996461.1996521 ↗
42. Understanding UI integration: A survey of problems, technologies, and opportunities10.1109/MIC.2007.74 ↗
43. Understanding mashup development10.1109/MIC.2008.114 ↗
44. Hoyer, V., and Fischer, M. (2008). Market overview of enterprise mashup tools. Service-Oriented Computing, Springer.10.1007/978-3-540-89652-4_62 ↗
45. Jones, M.C., and Churchill, E.F. (2009, January 25–27). Conversations in developer communities: A preliminary analysis of the yahoo! Pipes community. Proceedings of the fourth international conference on Communities and technologies (C&T ’09), University Park, PA, USA.10.1145/1556460.1556489 ↗
46. Kuttal, S.K., Sarma, A., Swearngin, A., and Rothermel, G. (2011). Versioning for mashups—An exploratory study. International Symposium on End User Development, Springer.10.1007/978-3-642-21530-8_4 ↗
47. Wong, J., and Hong, J.I. (May, January 26). Making mashups with marmite: Towards end-user programming for the web. Proceedings of the SIGCHI conference on Human factors in computing systems (CHI ’07), San Jose, CA, USA.
48. Cao, J., Riche, Y., Wiedenbeck, S., Burnett, M., and Grigoreanu, V. (2010, January 10–15). End-user mashup programming: Through the design lens. Proceedings of the 28th International Conference on Human Factors in Computing Systems (CHI ’10), Atlanta, GA, USA.10.1145/1753326.1753477 ↗
49. Zang, N., Rosson, M.B., and Nasser, V. (2008, January 5–10). Mashups: Who? what? why?. Proceedings of the CHI ’08 Extended Abstracts on Human Factors in Computing Systems (CHI EA ’08), Florence, Italy.10.1145/1358628.1358826 ↗
50. Zang, N., and Rosson, M.B. (2008, January 15–19). What’s in a mashup? And why? Studying the perceptions of web-active end users. Proceedings of the 2008 IEEE Symposium on Visual Languages and Human-Centric Computing VLHCC ’08, Herrsching am Ammersee, Germany.
51. Al Sarraj, W., and de Troyer, O. (2010, January 8–10). Web mashup makers for casual users: A user experiment. Proceedings of the 12th International Conference on Information Integration and Web-based Applications & Services (iiWAS ’10), Paris, France.10.1145/1967486.1967526 ↗
52. Daniel, F., Imran, M., Kling, F., Soi, S., Casati, F., and Marchese, M. (2012, January 16–20). Developing domain-specific mashup tools for end users. Proceedings of the 21st International Conference on World Wide Web, Lyon, France.10.1145/2187980.2188092 ↗
53. Radeck, C., Blichmann, G., and Meißner, K. (2013). CapView–functionality-aware visual mashup development for non-programmers. Web Engineering, Springer.10.1007/978-3-642-39200-9_14 ↗
54. Aghaee, S., Pautasso, C., and de Angeli, A. (2013, January 15–19). Natural end-user development of web mashups. Proceedings of the 2013 IEEE Symposium on Visual Languages and Human Centric Computing (VL/HCC), San Jose, CA, USA.10.1109/VLHCC.2013.6645253 ↗
55. End-user development of mashups with naturalmash10.1016/j.jvlc.2013.12.004 ↗
56. Aghaee, S., and Pautasso, C. (2012). EnglishMash: Usability design for a natural mashup composition environment. Web Engineerin, Springer.10.1007/978-3-642-35623-0_12 ↗
57. Unlocking the clubhouse: The Carnegie Mellon experience10.1145/543812.543836 ↗
58. Self-efficacy and mental models in learning to program10.1145/1026487.1008042 ↗
59. Loksa, D., Ko, A.J., Jernigan, W., Oleson, A., Mendez, C.J., and Burnett, M.M. (2016, January 7–12). Programming, problem solving, and self-awareness: Effects of explicit guidance. Proceedings of the 2016 CHI Conference on Human Factors in Computing Systems, San Jose, CA, USA.10.1145/2858036.2858252 ↗
60. De Raadt, M., Watson, R., and Toleman, M. (2006, January 16–19). Chick sexing and novice programmers: Explicit instruction of problem solving strategies. Proceedings of the 8th Australasian Conference on Computing Education, Hobart, Australia.
61. Jamoussi, Y. (2015, January 18–20). Towards an approach to guide end-user in interactive web services composition. Proceedings of the International MultiConference of Engineers and Computer Scientists, Hong Kong, China.
62. Hang, F., and Zhao, L. (July, January 27). Supporting end-user service composition: A systematic review of current activities and tools. Proceedings of the 2015 IEEE International Conference on Web Services, New York, NY, USA.10.1109/ICWS.2015.70 ↗
63. End-user development, end-user programming and end-user software engineering: A systematic mapping study10.1016/j.jss.2018.11.041 ↗
64. Visual simple transformations: Empowering end-users to wire internet of things objects10.1145/3057857 ↗
65. Rahmati, A., Fernandes, E., Jung, J., and Prakash, A. (2017). IFTTT vs. Zapier: A Comparative Study of Trigger-Action Programming Frameworks. arXiv.
66. Coolican, H. (2014). Research Methods and Statistics in Psychology, Psychology Press. [6th ed.].10.4324/9780203769669 ↗
67. Lewis, C.H. (1982). Using the Thinking-Aloud Method in Cognitive Interface Design, IBM TJ Watson Research Center. Research Report RC9265.
68. Sampling error and selecting intercoder reliability samples for nominal content categories: Sins of omission and commission in mass communication quantitative research
69. Tinsley, H.E.A., and Brown, S.D. (2000). Interrater reliability and agreement. Handbook of Applied Multivariate Statistics and Mathematical Modeling, Academic Press.10.1016/B978-012691360-6/50005-7 ↗
70. Visser, W., and Hoc, J.M. (1991). Expert software design strategies. Psychology of Programming, Academic Press.10.1016/B978-0-12-350772-3.50020-3 ↗
71. End-user composition of interactive applications through actionable UI components10.1016/j.jvlc.2017.08.004 ↗
72. On some end-user programming constructs and their understandability10.1016/j.jss.2018.03.064 ↗
73. Programming language, natural language? Supporting the diverse computational activities of novice programmers10.1016/j.jvlc.2016.10.008 ↗
74. Empowering end users to customize their smart environments: Model, composition paradigms, and domain-specific tools10.1145/3057859 ↗
75. Koedinger, K.R., Aleven, V., Heffernan, N., McLaren, B., and Hockenberry, M. (2004). Opening the door to non-programmers: Authoring intelligent tutor behavior by demonstration. Intelligent Tutoring Systems, Springer.10.1007/978-3-540-30139-4_16 ↗
76. Pulido-Prieto, O., and Juárez-Martínez, U. (2019). A model for naturalistic programming with implementation. Appl. Sci., 9.10.3390/app9183936 ↗
77. Lieberman, H., and Liu, H. (2006). Feasibility studies for programming in natural language. End User Development, Springer.10.1007/1-4020-5386-X_20 ↗
78. Ur, B., McManus, E., Ho, M.P.Y., and Littman, M.L. (May, January 26). Practical trigger-action programming in the smart home. Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, Toronto, ON, Canada.
79. Ur, B., Ho, M.P.Y., Brawner, S., Lee, J., Mennicken, S., Picard, N., Schulze, D., and Littman, M.L. (2016, January 7–12). Trigger-action programming in the wild: An analysis of 200,000 IFTTT recipes. Proceedings of the 2016 Chi Conference On Human Factors in Computing Systems, San Jose, CA, USA.10.1145/2858036.2858556 ↗
80. Non-programmers identifying functionality in unfamiliar code: Strategies and barriers10.1016/j.jvlc.2010.08.002 ↗
81. Chen, M., Tan, T.H., Sun, J., Liu, Y., and Dong, J.S. (June, January 31). Veriws: A tool for verification of combined functional and non-functional requirements of web service composition. Proceedings of the 36th International Conference on Software Engineering, Hyderabad, India.