Context-Aware End-User Development Review
Abstract
:1. Introduction
- EUP’s central aspect is that programmers build a solution rather than a program [7] (e.g., a spreadsheet solution (i.e., a program) for managing the expenses).
- EUD incorporates methods, techniques, and tools that allow end-users to create, modify, or extend software artifacts [8]. It complements EUP with additional aspects such as testing, debugging, reusing, and sharing artifacts.
- EUSE addresses software quality aspects [7]. It adds systematic and disciplined activities for application development.
- What building techniques are applied to develop context-aware applications by end-users. Building techniques include metaphors/interaction styles (e.g., programming by demonstration) proposed for application specification, composition, and testing.
- What are the development tools’ implementation approaches? The development tool implementations include a description of the method (e.g., machine learning) to integrate, compose, and process context.
2. Background: End-User Developing Context-Aware Applications
2.1. End Users as Application Builders
2.2. Context and Context-Awareness
2.3. Context-Aware Application Development Involving End Users
2.4. The Rationale for the Review
3. Review Method
3.1. Research Questions and Generic Search String
- What building techniques are applied to develop context-aware applications by end-users? We analyzed metaphors and interaction styles applied to create, modify, test, share, and deploy applications in this dimension.
- What are the development tools implementation approaches? In this dimension, we analyzed the implementation technology of the tools, including context-awareness.
3.2. Inclusion/Exclusion Criteria
- Research outcome (Table 3): The paper includes enough detail to answer the research questions. We discarded tools that are not described at the implementation level.
- Target end-user (Table 3): End-user application building tools have been proposed for software experts (technical people) and non-software experts (non-technical people). Even though traditional end-user empowering mechanisms [8,40] involve many users, we consider end-user development for non-software experts. However, some approaches propose a level of software experts’ involvement before end-user development (e.g., to create APIs, models, meta-design/collaboration). We included those approaches because they target an end-user development process with fewer restrictions.
- On the other hand, we discarded approaches that require software experts or advanced technical aspects. For example, the Context Modeling Toolkit (CMT) proposes a context model to augment the template-based development of rules [42]. We discarded CMT because the authors propose the involvement of software programmers in the development process. Similarly, other solutions use human-readable configurations (e.g., plain text, XML). We also discarded them because it is highly probable that non-technical users (i.e., non-software experts) encounter difficulties configuring required resources, actions, and services.
3.3. Data Extraction and Classification
4. Application Building Techniques
4.1. Programming Artifact Abstractions
4.2. Model-Based Specification
- IVO Outlook allows defining workflows based on temporary and proximity conditions through an Outlook Calendar and Outlook Contacts add-ons, respectively [79].
- IVO Builder is a visual UI to create workflows of activities based on location context. It allows for manipulating geographical representations to create areas of interest through polygon or circle. IVO Builder can import geo-referenced areas from Wikipedia and Wikimapia and then facilitates map control (e.g., zoom, map views), including scripting for advanced users. A user associates the areas of interest with related information (e.g., website link) and then creates workflows in the area. Afterward, the user defines actions to be executed in both “on enter” and “on exit,” e.g., change phone profile, update Facebook status. Available actions include filling forms and quizzes created by the IVO Builder tool.
- The mobile client provides the workflow functionalities, activating actions when the conditions match. It includes a UI that is either invisible (if not required), or a visual interface for user interaction, e.g., maps, augmented reality browser, forms, quizzes.
4.3. Simple Flow of Components
4.4. Visual Language-Based Flows
4.5. Assembling Pieces
4.6. Simplified Meaning of Pieces
4.7. Languages to Specify Rules
4.8. Select/Demonstrate Rules
4.9. Illustration of Rules
4.10. Demonstrate Actions
4.11. Augmented/Advanced Interaction
5. What Is behind the Tool? Implementation Approaches and Challenges
5.1. Rule-Based Programming
5.2. Using Ontologies for Programming
5.3. Using a Reduced Language or Pattern for Programming
5.4. Language-Based Programming
5.5. Artificial Intelligence and Other Approaches
5.6. Discussion and Challenges
5.6.1. Context-Aware End-User Development
5.6.2. Specification of Complex Situations
5.6.3. End-User Development in Industry
5.6.4. Development Methodology and End-User Software Engineering (EUSE)
6. Conclusions
Author Contributions
Funding
Conflicts of Interest
References
- Perera, C.; Zaslavsky, A. Context aware computing for the internet of things: A survey. IEEE Commun. Surv. Tutor. 2014, 16, 414–454. [Google Scholar] [CrossRef] [Green Version]
- Saha, D.; Mukherjee, A. Pervasive computing: A paradigm for the 21st century. IEEE Comput. 2003, 36, 25–31. [Google Scholar] [CrossRef] [Green Version]
- Satyanarayanan, M. Pervasive Computing: Vision and Challenges. Pers. Commun. IEEE 2001, 8, 10–17. [Google Scholar] [CrossRef]
- Burnett, M.M.; Myers, B. A Future of End-user Software Engineering: Beyond the Silos. In Proceedings of the on Future of Software Engineering, Hyderabad, India, 31 May–7 June 2014; ACM: New York, NY, USA, 2014; Volume 2014, pp. 201–211. [Google Scholar]
- Burnett, M.M.; Scaffidi, C. End-user development. In The Encyclopedia of Human-Computer Interaction, 2nd ed.; The Interaction Design Foundation: Aarhus, Denmark, 2012. [Google Scholar]
- Paternò, F. End User Development: Survey of an Emerging Field for Empowering People. ISRN Softw. Eng. 2013, 2013, 532659. [Google Scholar] [CrossRef] [Green Version]
- Ko, A.J.; Myers, B.; Rosson, M.B.; Rothermel, G.; Shaw, M.; Wiedenbeck, S.; Abraham, R.; Beckwith, L.; Blackwell, A.; Burnett, M.; et al. The State of the Art in End-user Software Engineering. ACM Comput. Surv. 2011, 43, 1–44. [Google Scholar] [CrossRef]
- Lieberman, H.; Paternò, F.; Klann, M.; Wulf, V. End-User Development: An Emerging Paradigm. In End User Development; Lieberman, H., Paternò, F., Wulf, V., Eds.; Springer: Dordrecht, The Netherlands, 2006; pp. 1–8. [Google Scholar]
- Barricelli, B.R.; Cassano, F.; Fogli, D.; Piccinno, A. End-user development, end-user programming and end-user software engineering: A systematic mapping study. J. Syst. Softw. 2019, 149, 101–137. [Google Scholar] [CrossRef]
- Tetteroo, D.; Markopoulos, P. A review of research methods in end user development. In Proceedings of the International Symposium on End User Development, Madrid, Spain, 26–29 May 2015; Springer: Berlin/Heidelberg, Germany, 2015; pp. 58–75. [Google Scholar]
- Paternò, F.; Santoro, C. A design space for end user development in the time of the internet of things. In New Perspectives in End-User Development; Springer: Berlin/Heidelberg, Germany, 2017; pp. 43–59. [Google Scholar]
- Fischer, G.; Giaccardi, E.; Ye, Y.; Sutcliffe, A.G.; Mehandjiev, N. Meta-design: A manifesto for end-user development. Commun. ACM 2004, 47, 33–37. [Google Scholar] [CrossRef]
- Ardito, C.; Costabile, M.F.; Desolda, G.; Matera, M. A Three-Layer Meta-Design Model for Addressing Domain-Specific Customizations. In New Perspectives in End-User Development; Springer: Berlin/Heidelberg, Germany, 2017; pp. 99–120. [Google Scholar]
- Burnett, M.; Cook, C.; Rothermel, G. End-user software engineering. Commun. ACM 2004, 47, 53–58. [Google Scholar] [CrossRef]
- Kulesza, T.; Burnett, M.; Stumpf, S.; Wong, W.; Das, S.; Groce, A.; Shinsel, A.; Bice, F.; Mcintosh, K. Where are my intelligent assistant’s mistakes? A systematic testing approach. In Proceedings of the International Symposium on End User Development, Torre Canne, Italy, 7–10 June 2011; Springer: Berlin/Heidelberg, Germany, 2011; pp. 171–186. [Google Scholar]
- Roy, P. ContextAA: Plateforme Sensible au Contexte Pour Aborder le Problème de L’espace Intelligent Ouvert; Université de Shrerbrooke: Sherbrooke, QC, Canada, 2019. [Google Scholar]
- Pham, Q.V.; Fang, F.; Ha, V.N.; Piran, M.J.; Le, M.; Le, L.B.; Hwang, W.J.; Ding, Z. A Survey of Multi-Access Edge Computing in 5G and Beyond: Fundamentals, Technology Integration, and State-of-the-Art. IEEE Access 2020, 8, 116974–117017. [Google Scholar] [CrossRef]
- Dey, A.K. Understanding and Using Context. Pers. Ubiquitous Comput. 2001, 5, 4–7. [Google Scholar] [CrossRef]
- Ponce, V.; Roy, P.; Abdulrazak, B. Dynamic domain model for micro context-aware adaptation of applications. In Proceedings of the 13th IEEE International Conference on Ubiquitous Intelligence and Computing, Toulouse, France, 18–21 July 2016; IEEE: Piscataway, NJ, USA, 2016; pp. 98–105. [Google Scholar]
- Abdulrazak, B.; Roy, P.; Gouin-Vallerand, C.; Giroux, S.; Belala, Y. Macro and micro context-awareness for autonomic pervasive computing. In Proceedings of the 12th International Conference on Information Integration and Web-Based Applications & Services, Paris, France, 8–10 November 2010. [Google Scholar] [CrossRef]
- Schilit, B.; Theimer, M. Disseminating Active Map Information to Mobile Hosts. Netw. IEEE 1994, 8, 22–32. [Google Scholar] [CrossRef]
- Abowd, G.D.; Dey, A.K.; Brown, P.J.; Davies, N.; Smith, M.; Steggles, P. Towards a better understanding of context and context-awareness. In International Symposium on Handheld and Ubiquitous Computing; Springer: Berlin/Heidelberg, Germany, 1999; pp. 304–307. [Google Scholar]
- Brønsted, J.; Hansen, K.M.; Ingstrup, M. Service Composition Issues in Pervasive Computing. IEEE Pervasive Comput. 2010, 9, 62–70. [Google Scholar] [CrossRef]
- Holloway, S.; Julien, C. The case for end-user programming of ubiquitous computing environments. In Proceedings of the FSE/SDP Workshop on the Future of Software Engineering Research, FoSER 2010, Santa Fe, NM, USA, 7–8 November 2010; ACM: New York, NY, USA, 2010; pp. 167–171. [Google Scholar]
- Zhang, D.; Adipat, B.; Mowafi, Y. User-centered context-aware mobile applications-the next generation of personal mobile computing. Commun. Assoc. Inf. Syst. 2009, 24, 27–46. [Google Scholar] [CrossRef]
- Butz, A. User Interfaces and HCI for Ambient Intelligence and Smart Environments. In Handbook of Ambient Intelligence and Smart Environments; Nakashima, H., Aghajan, H., Augusto, J.C., Eds.; Springer: New York, NY, USA, 2010; pp. 535–558. ISBN1 978-0-387-93807-3. (Print); ISBN2 978-0-387-93808-0. (Online). [Google Scholar]
- Ponce, V.; Deschamps, J.P.; Giroux, L.P.; Salehi, F.; Abdulrazak, B. QueFaire: Context-Aware in-person social activity recommendation system for active aging. In Proceedings of the Inclusive Smart Cities and e-Health, ICOST 2015, Geneva, Switzerland, 10–12 June 2015; Springer: Cham, Switzerland, 2015; pp. 64–75. [Google Scholar]
- Apache Cordova. Available online: https://cordova.apache.org (accessed on 10 December 2021).
- Wolber, D.; Abelson, H.; Friedman, M. Democratizing Computing with App Inventor. GetMobile Mob. Comput. Commun. 2015, 18, 53–58. [Google Scholar] [CrossRef]
- Modkit. Available online: https://www.modkit.com (accessed on 10 December 2021).
- Resnick, M.; Maloney, J.; Monroy-Hernández, A.; Rusk, N.; Eastmond, E.; Brennan, K.; Millner, A.; Rosenbaum, E.; Silver, J.; Silverman, B.; et al. Scratch: Programming for All. Commun. ACM 2009, 52, 60–67. [Google Scholar] [CrossRef]
- Maloney, J.; Resnick, M.; Rusk, N. The Scratch programming language and environment. ACM Trans. Comput. Educ. 2010, 10, 1–15. [Google Scholar] [CrossRef]
- Arduino. Available online: https://www.arduino.cc (accessed on 10 December 2021).
- Slany, W. A mobile visual programming system for Android smartphones and tablets. In Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC, Innsbruck, Austria, 30 September–4 October 2012; IEEE: Piscataway, NJ, USA, 2012; pp. 265–266. [Google Scholar]
- Ur, B.; McManus, E.; Pak Yong Ho, M.; Littman, M.L. Practical trigger-action programming in the smart home. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, New York, NY, USA, 26 April–1 May 2014; ACM: New York, NY, USA, 2014; pp. 803–812. [Google Scholar]
- Lucci, G.; Paterno, F.; Paternò, F. Understanding End-User Development of Context-Dependent Applications in Smartphones. In Proceedings of the Human-Centred Software Engineering, HCSE 2014, Paderborn, Germany, 16–18 September 2014; Springer: Berlin/Heidelberg, Germany, 2014; Volume 8742, pp. 182–198. [Google Scholar]
- Amazon Alexa. Available online: https://developer.amazon.com/en-US/alexa (accessed on 10 December 2021).
- SmartThings. Available online: https://www.smartthings.com (accessed on 10 December 2021).
- Workflow for iOS. Available online: https://my.workflow.is (accessed on 10 December 2021).
- Kelleher, C.; Pausch, R. Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmer. ACM Comput. Surv. 2005, 37, 83–137. [Google Scholar] [CrossRef]
- Dey, A.K.; Hamid, R.; Beckmann, C.; Li, I.; Hsu, D. A CAPpella: Programming by demonstration of context-aware applications. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, Vienna, Austria, 24–29 April 2004; ACM: New York, NY, USA, 2004; Volume 6, pp. 33–40. [Google Scholar]
- Trullemans, S.; Van Holsbeeke, L.; Signer, B. The Context Modelling Toolkit: A Unified Multi-layered Context Modelling Approach. In Proceedings of the ACM on Human-Computer Interaction; ACM: New York, NY, USA, 2017; Volume 1, pp. 1–16. [Google Scholar]
- Blackwell, A.F.; Hague, R. AutoHAN: An architecture for programming the home. In Proceedings of the IEEE Symposia on Human-Centric Computing Languages and Environments, Stresa, Italy, 5–7 September 2001; IEEE: Piscataway, NJ, USA, 2001; pp. 150–157. [Google Scholar]
- Sohn, T.; Sohn, T.; Dey, A.; Dey, A. iCAP: An informal tool for interactive prototyping of context-aware applications. In Proceedings of the CHI’03 Extended Abstracts on Human Factors in Computing Systems, Fort Lauderdale, FL, USA, 5–10 April 2003; ACM: New York, NY, USA, 2003; pp. 974–975. [Google Scholar]
- Truong, K.N.; Huang, E.M.; Abowd, G.D. CAMP: A Magnetic Poetry Interface for End-User Programming of Capture Applications for the Home. In Proceedings of the UbiComp 2004: Ubiquitous Computing, Nottingham, UK, 7–10 September 2004; Springer: Berlin/Heidelberg, Germany, 2004; Volume 3205, pp. 143–160. [Google Scholar]
- Li, Y.; Hong, J.; Landay, J. Topiary: A tool for prototyping location-enhanced applications. In Proceedings of the 17th Annual ACM Symposium on User Interface Software and Technology, Santa Fe, NM, USA, 24–27 October 2004; ACM: New York, NY, USA, 2004; Volume 6, pp. 217–226. [Google Scholar]
- Korpipää, P.; Malm, E.J.; Rantakokko, T.; Kyllönen, V.; Kela, J.; Mäntyjärvi, J.; Häkkilä, J.; Känsälä, I. Customizing user interaction in smart phones. IEEE Pervasive Comput. 2006, 5, 82–90. [Google Scholar] [CrossRef]
- Weis, T.; Knoll, M.; Ulbrich, A.; Mühl, G.; Brändie, A. Rapid prototyping for pervasive applications. IEEE Pervasive Comput. 2007, 6, 76–84. [Google Scholar] [CrossRef]
- Li, Y.; Landay, J.A. Activity-based prototyping of ubicomp applications for long-lived, everyday human activities. In Proceedings of the ACM CHI 2008 Conference on Human Factors in Computing Systems, Florence, Italy, 5–10 April 2008; ACM: New York, NY, USA, 2008; Volume 1, pp. 1303–1312. [Google Scholar]
- Dey, A.K.; Newberger, A. Support for Context-Aware Intelligibility and Control. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, Boston, MA, USA, 4–9 April 2009; ACM: New York, NY, USA, 2009; pp. 859–868. [Google Scholar]
- Kawsar, F.; Fujinami, K.; Nakajima, T.; Park, J.H.; Yeo, S.S. A portable toolkit for supporting end-user personalization and control in context-aware applications. Multimed. Tools Appl. 2010, 47, 409–432. [Google Scholar] [CrossRef]
- Guo, B.; Zhang, D.; Imai, M. Enabling user-oriented management for ubiquitous computing: The meta-design approach. Comput. Netw. 2010, 54, 2840–2855. [Google Scholar] [CrossRef]
- Van Kleek, M.; Moore, B.; Karger, D.; André, P.; Schraefel, M.C. Atomate it! end-user context-sensitive automation using heterogeneous information sources on the web. In Proceedings of the 19th International Conference on World Wide Web, Raleigh, NC, USA, 26–30 April 2010; ACM: New York, NY, USA, 2010; Volume 26, pp. 951–960. [Google Scholar]
- Guo, B.; Zhang, D.; Imai, M. Toward a cooperative programming framework for context-aware applications. Pers. Ubiquitous Comput. 2011, 15, 221–233. [Google Scholar] [CrossRef]
- Cuccurullo, S.; Francese, R.; Risi, M.; Tortora, G. MicroApps Development on Mobile Phones. In Proceedings of the End-User Development, IS-EUD 2011, Torre Canne, Italy, 7–10 June 2011; Springer: Berlin/Heidelberg, Germany, 2011; pp. 289–294. [Google Scholar]
- Preuveneers, D.; Berbers, Y. Intelligent widgets for intuitive interaction and coordination in smart home environments. In Proceedings of the 2012 Eighth International Conference on Intelligent Environments, Guanajuato, Mexico, 26–29 June 2012; IEEE: Piscataway, NJ, USA, 2012; pp. 157–164. [Google Scholar]
- Realinho, V.; Romão, T.; Dias, A.E. An event-driven workflow framework to develop context-aware mobile applications. In Proceedings of the 11th International Conference on Mobile and Ubiquitous Multimedia—MUM ’12, Ulm, Germany, 4–6 December 2012; ACM: New York, NY, USA, 2012; pp. 1–10. [Google Scholar]
- Edgcomb, A.D.; Vahid, F. MNFL: The monitoring and notification flow language for assistive monitoring. In Proceedings of the 2nd ACM SIGHIT Symposium on International Health Informatics—IHI ’12, Miami, FL, USA, 28–23 January 2012; ACM: New York, NY, USA, 2012; pp. 191–200. [Google Scholar]
- Rodríguez, N.D.; Lilius, J.; Cuéllar, M.P.; Calvo-Flores, M.D. Extending semantic web tools for improving smart spaces interoperability and usability. In Proceedings of the Distributed Computing and Artificial Intelligence, Salamanca, Spain, 22–24 May 2013; Springer: Berlin/Heidelberg, Germany, 2013; pp. 45–52. [Google Scholar]
- Martín, D.; López-de-Ipiña, D.; Alzua-Sorzabal, A.; Lamsfus, C.L.; Torres-Manzanera, E. A methodology and a web platform for the collaborative development of context-aware systems. Sensors 2013, 13, 6032–6053. [Google Scholar] [CrossRef]
- Lee, J.; Garduno, L.; Walker, E.; Burleson, W. A Tangible Programming Tool for Creation of Context-Aware Applications. In Proceedings of the 2013 ACM International Joint Conference on Pervasive and Ubiquitous Computing, Zurich, Switzerland, 8–12 September 2013; ACM: New York, NY, USA, 2013; pp. 391–400. [Google Scholar]
- Nakamura, M.; Matsuo, S.; Matsumoto, S. Supporting end-user development of context-aware services in home network system. In Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing 2012; Springer: Berlin/Heidelberg, Germany, 2013; Volume 443, pp. 159–170. ISBN 9783642321719. [Google Scholar]
- Palviainen, M.; Kuusijärvi, J.; Ovaska, E. A semi-automatic end-user programming approach for smart space application development. Pervasive Mob. Comput. 2014, 12, 17–36. [Google Scholar] [CrossRef]
- Su, J.-M.; Huang, C.-F. An easy-to-use 3D visualization system for planning context-aware applications in smart buildings. Comput. Stand. Interfaces 2014, 36, 312–326. [Google Scholar] [CrossRef]
- Coutaz, J.; Demeure, A.; Caffiau, S.; Crowley, J.L.; Demeure, A.; Crowley, J.L. Early lessons from the development of SPOK, an end-user development environment for smart homes. In Proceedings of the 2014 ACM International Joint Conference on Pervasive and Ubiquitous Computing Adjunct Publication, Seattle, WA, USA, 13–17 September 2014; ACM: New York, NY, USA, 2014; pp. 895–902. [Google Scholar]
- Danado, J.; Paterno, F.; Paternò, F. Puzzle: A mobile application development environment using a jigsaw metaphor. J. Vis. Lang. Comput. 2014, 25, 297–315. [Google Scholar] [CrossRef]
- Mayer, S.; Tschofen, A.; Dey, A.K.; Mattern, F. User interfaces for smart things—A generative approach with semantic interaction descriptions. ACM Trans. Comput. Interact. 2014, 21, 1–25. [Google Scholar] [CrossRef]
- Martín, D.; Lamsfus, C.; Alzua-Sorzabal, A. A cloud-based platform to develop context-aware mobile applications by domain experts. Comput. Stand. Interfaces 2016, 44, 177–184. [Google Scholar] [CrossRef]
- Park, J.; Lee, K.H. Design patterns for context-aware services. Multimed. Tools Appl. 2015, 74, 2337–2358. [Google Scholar] [CrossRef]
- Vianello, A.; Florack, Y.; Bellucci, A.; Jacucci, G. T4Tags 2.0: A Tangible System for Supporting Users’ Needs in the Domestic Environment. In Proceedings of the TEI ’16: Tenth International Conference on Tangible, Embedded, and Embodied Interaction, Eindhoven, The Netherlands, 14–17 February 2016; ACM: New York, NY, USA, 2016; pp. 38–43. [Google Scholar]
- Hafidh, B.; Al Osman, H.; Dong, H.; Arteaga-Falconi, J.; El Saddik, A. SITE: The Simple Internet of Things Enabler For Smart Homes. IEEE Access 2017, 5, 2034–2049. [Google Scholar] [CrossRef]
- Metaxas, G.; Markopoulos, P. Natural contextual reasoning for end users. ACM Trans. Comput. Interact. 2017, 24, 1–36. [Google Scholar] [CrossRef]
- Corcella, L.; Manca, M.; Paternò, F. Personalizing a student home behaviour. In International Symposium on End User Development; Springer: Cham, Switzerland, 2017; pp. 18–33. [Google Scholar]
- Li, T.J.-J.; Li, Y.; Chen, F.; Myers, B.A. Programming IoT devices by demonstration using mobile apps. In International Symposium on End User Development; Springer: Cham, Switzerland, 2017; pp. 3–17. [Google Scholar]
- Noura, M.; Heil, S.; Gaedke, M. GrOWTH: Goal-oriented end user development for web of things devices. In Proceedings of the Web Engineering—ICWE 2018, Cáceres, Spain, 5–8 June 2018; Springer: Cham, Switzerland, 2018; Volume 10845, pp. 358–365. [Google Scholar]
- Fischer, M.H.; Campagna, G.; Choi, E.; Lam, M.S. Multi-Modal End-User Programming of Web-Based Virtual Assistant Skills. arXiv 2020, arXiv:2008.13510. [Google Scholar]
- Ponciano, T.; Tabosa, D.; Viana, W.; Duarte, P.; Carmo, R. A Generative Approach for Android Sensor-based Applications. In Proceedings of the Brazilian Symposium on Multimedia and the Web, São Luís, Brazil, 30 November–4 December 2020; ACM: New York, NY, USA, 2020; pp. 33–40. [Google Scholar]
- Wang, T.; Qian, X.; He, F.; Hu, X.; Huo, K.; Cao, Y.; Ramani, K. CAPturAR: An augmented reality tool for authoring human-involved context-aware applications. In Proceedings of the 33rd Annual ACM Symposium on User Interface Software and Technology—UIST 2020, Virtual Event, USA, 20–23 October 2020; ACM: New York, NY, USA, 2020; pp. 328–341. [Google Scholar]
- Realinho, V.; Dias, A.E.; Romão, T. Testing the usability of a platform for rapid development of mobile context-aware applications. In Proceedings of the Human-Computer Interaction—INTERACT 2011, Lisbon, Portugal, 5–9 September 2011; Springer: Berlin/Heidelberg, Germany, 2011; Volume 6948, pp. 521–536. [Google Scholar]
- Davidyuk, O.; Milara, I.S.; Gilman, E.; Riekki, J. An Overview of Interactive Application Composition Approaches. Open Comput. Sci. 2015, 5, 79–95. [Google Scholar] [CrossRef]
- Cuccurullo, S.; Francese, R.; Risi, M.; Tortora, G. A visual approach supporting the development of MicroApps on mobile phones. In Proceedings of the 17th International Conference on Distributed Multimedia Systems, DMS 2011, Florence, Italy, 18–20 August 2011; Knowledge Systems Institute: Skokie, IL, USA, 2011; pp. 171–176. [Google Scholar]
- Danado, J.; Paternò, F. Puzzle: A visual-based environment for end user development in touch-based mobile phones. In Proceedings of the Human-Centered Software Engineering, HCSE 2012, Toulouse, France, 29–31 October 2012; Springer: Berlin/Heidelberg, Germany, 2012; Volume 7623, pp. 199–216. [Google Scholar]
- Lee, J.; Burleson, W.; Walker, E.; Hekler, E.B.E.; Burleson, W.; Hekler, E.B.E.; Walker, E.; Hekler, E.B.E. Programming tool of context-aware applications for behavior change. In Proceedings of the 2014 ACM International Joint Conference on Pervasive and Ubiquitous Computing: Adjunct Publication, Seattle, WA, USA, 13–17 September 2014; ACM: New York, NY, USA, 2014; pp. 91–94. [Google Scholar]
- LabVIEW. Available online: https://www.ni.com/en-ca/shop/labview.html (accessed on 10 December 2021).
- Google Awareness API. Available online: https://developers.google.com/awareness (accessed on 10 December 2021).
- Häkkilä, J.; Korpipää, P.; Ronkainen, S.; Tuomela, U.; Hakkila, J.; Korpipaa, P.; Ronkainen, S.; Tuomela, U. Interaction and end-user programming with a context-aware mobile application. In Proceedings of the Human-Computer Interaction-INTERACT 2005, Rome, Italy, 12–16 September 2005; Springer: Berlin/Heidelberg, Germany, 2005; Volume 3585, pp. 927–937. [Google Scholar]
- Tetteroo, D.; Soute, I.; Markopoulos, P. Five key challenges in end-user development for tangible and embodied interaction. In Proceedings of the 15th ACM on International Conference on Multimodal Interaction—ICMI ’13, Sydney, Australia, 9–13 December 2013; ACM: New York, NY, USA, 2013; pp. 247–254. [Google Scholar]
- Realinho, V.; Romão, T.; Dias, A.E. A language for the end-user development of mobile context-aware applications. J. Wirel. Mob. Netw. Ubiquitous Comput. Dependable Appl. 2020, 11, 54–80. [Google Scholar] [CrossRef]
- Korpipää, P.; Häkkilä, J.; Kela, J.; Ronkainen, S.; Känsälä, I. Utilising context ontology in mobile device application personalisation. In Proceedings of the 3rd International Conference on Mobile and Ubiquitous Multimedia—MUM ’04, College Park, MD, USA, 27–29 October 2004; ACM: New York, NY, USA, 2004; pp. 133–140. [Google Scholar]
- Korpipää, P.; Malm, E.-J.J.E.E.-J.; Salminen, I.I.; Rantakokko, T.; Kyllönen, V.; Känsälä, I.I. Context management for end user development of context-aware applications. In Proceedings of the 6th International Conference on Mobile Data Management, MDM’05, Ayia Napa, Cyprus, 9–13 May 2015; ACM: New York, NY, USA, 2005; pp. 304–308. [Google Scholar]
- Francese, R.; Risi, M.; Tortora, G.; Tucci, M. Visual Mobile Computing for Mobile End-Users. IEEE Trans. Mob. Comput. 2016, 15, 1033–1046. [Google Scholar] [CrossRef]
- Leontyev, A.N. Activity and Consciousness; Progress Publishers: Moscow, Russia, 1977. [Google Scholar]
- Rissanen, M.J.; Fernando, O.N.N.; Pang, N.; Iroshan, H.; Foo, S. Ubiquitous Shortcuts: Mnemonics by Just Taking Photos. In Proceedings of the CHI’13 Extended Abstracts on Human Factors in Computing Systems, Paris, France, 27 April–2 May 2013; ACM: New York, NY, USA, 2013; pp. 1641–1646. [Google Scholar]
- Rissanen, M.J.; Vu, S.; Fernando, O.N.N.; Pang, N.; Foo, S. Subtle, Natural and Socially Acceptable Interaction Techniques for Ringterfaces—Finger-Ring Shaped User Interfaces. In Proceedings of the Distributed, Ambient, and Pervasive Interactions, DAPI 2013, Las Vegas, NV, USA, 21–26 July 2013; Springer: Berlin/Heidelberg, Germany, 2013; Volume 8028, pp. 52–61. [Google Scholar]
- Dey, A.K.; Sohn, T.; Streng, S.; Kodama, J. iCAP: Interactive Prototyping of Context-Aware Applications. In International Conference on Pervasive Computing, Dublin, Ireland, 7–10 May 2010; Fishkin, K.P., Schiele, B., Nixon, P., Quigley, A., Eds.; Springer: Berlin/Heidelberg, Germany, 2006; Volume 3968, pp. 254–271. [Google Scholar]
- Roy, P.; Abdulrazak, B.; Belala, Y. Quantifying Semantic Proximity between Contexts. In Proceedings of the Smart Homes and Health Telematics, ICOST 2014, Denver, CO, USA, 25–27 June 2014; Springer: Cham, Switzerland, 2014; pp. 165–174. [Google Scholar]
- Ponce, V.; Abdulrazak, B. Activity Model for Interactive Micro Context-Aware Well-Being Applications Based on ContextAA. In Proceedings of the Enhanced Quality of Life and Smart Living, ICOST 2017, Paris, France, 29–31 August 2017; Springer: Cham, Switzerland, 2017; pp. 99–111. [Google Scholar]
- Qasim, I.; Anwar, M.W.; Azam, F.; Tufail, H.; Butt, W.H.; Zafar, M.N. A model-driven mobile HMI framework (MMHF) for industrial control systems. IEEE Access 2020, 8, 10827–10846. [Google Scholar] [CrossRef]
- Normanyo, E.; Husinu, F.; Agyare, O.R. Developing a human machine interface (HMI) for industrial automated systems using siemens simatic WinCC flexible advanced software. J. Emerg. Trends Comput. Inf. Sci. 2014, 5, 134–144. [Google Scholar]
- Papcun, P.; Kajáti, E.; Koziorek, J. Human machine interface in concept of industry 4.0. In Proceedings of the 2018 World Symposium on Digital Intelligence for Systems and Machines (DISA), Košice, Slovakia, 23–25 August 2018; pp. 289–296. [Google Scholar]
- Longo, F.; Padovano, A.; Umbrello, S. Value-oriented and ethical technology engineering in industry 5.0: A human-centric perspective for the design of the factory of the future. Appl. Sci. 2020, 10, 4182. [Google Scholar] [CrossRef]
- Fogli, D.; Piccinno, A. End-user development in industry 4.0: Challenges and opportunities. In Proceedings of the International Symposium on End User Development, Hatfield, UK, 10–12 July 2019; pp. 230–233. [Google Scholar]
Programming Interaction Style/Metaphor | Description or Examples |
---|---|
Based on language | GUI for programming languages, scripts, extended annotation or parameterization, natural language processing |
Based on spreadsheet | Microsoft Excel, OpenOffice/LibreOffice Calc |
Programming by demonstration (or similar, e.g., by example, by teaching, by an animation, by a game) | The user “gives” or “shows” the system a reference of the desired behavior (e.g., a prototype, a set of actions). Examples: Stagecast creator, Toontalk |
Based on math/specification | GUI for formulas, formal methods, specification language |
Visual programming language | LabView, Web Mashups |
App Inventor (http://appinventor.mit.edu, accessed on 1 November 2021) | |
Scratch (https://scratch.mit.edu, accessed on 1 November 2021) | |
Modkit (http://www.modkit.com, accessed on 1 November 2021) | |
Rule-based | GUI for rules, e.g., IFTTT (https://ifttt.com, accessed on 1 November 2021) |
Combination of styles/metaphors | Forms/3 (Visual and Spreadsheet styles) |
NaturalMash (Visual and natural language processing styles) | |
Excel macros (Visual, Programming by example and script styles) | |
Web design tools such as Dreamweaver (Visual and HTML languages styles) | |
Node-RED (https://nodered.org, accessed on 1 November 2021) (Visual programming and GUI to add/edit source code) |
Step | Description/Progress | Challenges for Context-Aware Applications |
---|---|---|
Requirement elicitation | End-users are imprecise in what they want or what they need to do. Existing approaches consider:
| Providing an iterative development with a proper methodology to relate other development steps such as design and debug. |
Design/ creation | Visual design patterns such as What You See Is What You Get (WYSIWYG) for direct manipulation and immediate feedback. Techniques to complement design:
| Adapting from traditional software engineering, e.g., design patterns to visual design patterns. With the flooding of smart objects, a new challenge is manipulating the changing context for applications’ design/creation. |
Reuse/ collaboration | Facilitates problem-solving due to social creativity, but it is a critical part of quality because of error propagation. Support searching in repositories (e.g., by interest), assisting end-users in finding (deciding) appropriate reusable components. | Adapting for heterogeneous end-users with diverse backgrounds (e.g., domain experts, children). |
Verification and validation | Verification by immediate feedback (e.g., by visualization). UI is the current validation method, including visual/tangible hints such as colors, arrows, vibrations. E.g., What You See Is What You Test (WYSIWYT [14])—an approach for systematic testing in spreadsheets. Likewise, WYSIWYT/ML [15] introduces Machine Learning (ML) to predict and prioritize software parts to test, enhance measuring coverage, and facilitate monitoring changes. | Verifying/validating applications with appropriate inputs in pervasive computing where smart sensors/objects are diverse in values, format, e.g., the temperature in °C/F. |
Debugging |
Adaptations from traditional software engineering include insert prints (continuing executions) and assertions (halting executions when false), and trigger debugging options. Advanced techniques include
| Real-time debugging and debugging dynamic context, e.g., in multiple environments through a city. |
Adaptation | Existing approaches consider:
| Providing an appropriate integration and extension due to the diversity of resources in ubiquitous technologies. |
Deploy | Traditional tools consider fixed adaptation when deployed using parameterization and templates. They apply diverse interaction styles, e.g., (a) direct manipulation using preference forms, wizards, zoom level, color buttons, (b) language using macros, annotations, voice, scripting, natural language. | A challenge is introducing a context-aware adaptation, e.g., to adapt without user intervention. |
Consideration | Criteria for Inclusion | Phase |
---|---|---|
Year of publication | No regarded but restricted by the search keywords: “context-aware” + EUP, EUD, EUSE. The search results show research from 2001. | 1st, 2nd, 3rd |
Relationship with the Subject | The tool includes a visual/graphical interface for context-aware application development. The paper must consider a sensor/actuator context integration/simulation and an adaptation involving such context. | 1st |
Type of document | The research is published in proceedings or journal papers indexed on Scopus, IEEE, or ACM. | 1st |
Available and comprehensible | The paper presents arguments and details related to EUP, EUD, EUSE, and UI concepts with enough information to evaluate. | 2nd |
Research outcome | The paper describes a solution with the implementation of a tool for development. We discarded when a paper only refers to service integration, e.g., using IFTTT, Web mashups, or templates without describing the “programming” implementation. | 3rd |
Target end-user | For technical users (i.e., with some software knowledge) and non-technical users. We discarded when the target is exclusively for software experts. | 3rd |
Paper | Year | EUD Interaction | Metaphor * | |
---|---|---|---|---|
Non-Technical | Technical * | |||
AutoHAN [43] | 2001 | Advanced interaction | A 2D adjacency of cubes | |
iCAP [44] | 2003 | Demonstrate rules | Sketch rules | |
a CAPpella [41] | 2004 | Demonstrate actions | Stream of information | |
CAMP [45] | 2004 | Assembling pieces | Magnet poetry | |
Topiary [46] | 2004 | Demonstrate actions | Map, storyboarding scenarios | |
Context Studio [47] | 2006 | Selecting rules | Folder-file | |
VisualRDK [48] | 2007 | Assembling pieces | Visual blocks represent programming constructs | |
ActivityDesigner [49] | 2008 | Demonstrate rules | Storyboarding activities + autocomplete and selection | |
Situations API [50] | 2009 | API | API | |
Persona [51] | 2009 | Selecting rules | API | Document-centric/API |
iPlumber [52] | 2010 | Language | Rule language | |
Atomate [53] | 2010 | Selecting rules | Global address book | |
OPEN [54] | 2011 | Selecting rules | Language | App templates/Rule language |
MicroApps [55] | 2011 | Flow | Jigsaw (blocks + visual aids to represent types and connection compatibility) | |
Preuveneers et al. [56] | 2012 | Assembling pieces | Visual blocks representing sensors/actuators | |
IVO [57] | 2012 | Model-based | Workflow | |
MNFL [58] | 2012 | Flow | Blocks represent programming constructs and input/output, visual aids to represent types and connection compatibility | |
Rodríguez et al. [59] | 2013 | Assembling pieces | Nodes and arcs represent RDF graphs; blocks represent statements and operators | |
Context Cloud [60] | 2013 | Selecting rules | Widgets | |
GALLAG Strip [61] | 2013 | Demonstrate actions | Comic strip | |
SSB [62] | 2013 | Selecting rules | Widgets | |
S-API [63] | 2014 | Selecting rules | Flow | Icons representing commands/API/graph |
VS-CaSP [64] | 2014 | Selecting rules | 3D smart building | |
SPOK [65] | 2014 | Language | Smart keyboard | |
Puzzle [66] | 2014 | Flow | jigsaw + visual and tap aids to compose | |
Mayer et al. [67] | 2014 | Language | Sensing and actuation primitives | |
Martín et al. [68] | 2015 | Selecting rules | Widgets, map, WYSIWYG editor | |
Dobby [69] | 2015 | Assembling pieces | Programming by selection (selection of blocks) | |
T4Tags 2.0 [70] | 2016 | Advanced interaction | Tangible tokens attached to objects/appliances | |
SITE [71] | 2017 | Selecting rules | Language | Widgets/scripts |
CoRE [72] | 2017 | Language | Editor to edit logical expressions | |
TARE [73] | 2017 | Selecting rules | Widgets with colors for context categories | |
EPIDOSITE [74] | 2017 | Demonstrate actions | Widgets (smartphone UI) | |
GrOWTH [75] | 2018 | Specify goals | Natural language abstraction for Web-based app, voice, mobile app (widgets) | |
VASH [76] | 2020 | Demonstrate actions | Web browsing actions + voice commands + selection | |
EasyContext [77] | 2020 | Selecting rules | Language | Cards to represent contextual rules |
CAPturAR [78] | 2020 | Advanced interaction | Virtual object drawing, with a human avatar |
Paper | Tool Implementation | Design * | Context | Running * | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Approach | Expressiveness | PC | Mo | Ph | PC | Mo | Pl | Ph | ||
AutoHAN | Language | Ontology, linguistic terms | ✓ | ✓ | Appliances, virtual devices | ✓ | ✓ | |||
iCAP | Rule-based | IF-THEN | ✓ | activity, location, people, time | ✓ | |||||
a CAPpella | Machine Learning | Annotations | ✓ | Sensors (e.g., video), actuators (e.g., turn on/off a light) | ✓ | |||||
CAMP | Language | Vocabulary (a subset of natural language), reword dictionary | ✓ | Smart home (e.g., cameras, interactive displays) | ✓ | |||||
Topiary | Algorithms | Spatial relations (e.g., out, enters) and proximity (e.g., near) | ✓ | Location (i.e., people, places, things), temporal | ✓ | |||||
Context Studio | Rule-based | Ontology, IF-THEN | ✓ | Mobile (e.g., location), actions (e.g., call contact) | ✓ | |||||
VisualRDK | Language | Events; commands for context (e.g., set), for a process (e.g., wait) | ✓ | All, represented as an abstract component | ✓ | |||||
ActivityDesigner | Algorithms + Language | Activity model, activity query language, speech matching | ✓ | Activities, simulated context, sensors (e.g., location) | ✓ | ✓ | ✓ | |||
Situations API | Rule-based | References (input context), parameters, listeners | ✓ | Sensors, users | ✓ | |||||
Persona | FSM | Past preferences | ✓ | ✓ | Artifact, action, interaction modality, contextual | ✓ | ✓ | |||
iPlumber | Rule-based | Domain ontology (e.g., smart home) | ✓ | All, integrated with context wrappers | ✓ | |||||
Atomate | Rule-based + Language | Simplified natural grammar | ✓ | Personal information (e.g., people, places, events), time | ✓ | |||||
OPEN | Rule-based | Domain ontology, high-level ontology, application ontology | ✓ | All, integrated with context wrappers | ✓ | |||||
MicroApps | Language | Pre-conditions (trigger), implicit loops | ✓ | Sensors, Web services, mobile (native components) | ✓ | |||||
Preuveneers et al. | Rule-based | Ontology | ✓ | Smart home devices | ✓ | |||||
IVO | Rule-based + FSM | IF-THEN-ELSE, events, geographical, proximity | ✓ | Temporal, proximity, location | ✓ | |||||
MNFL | Language | Blocks for computing (e.g., opposite, combine math) | ✓ | Video/audio, motion sensors | ✓ | |||||
Rodríguez et al. | Rule-based | Ontology, IF-THEN, loops | ✓ | All, integrated with ontologies for smart spaces | ✓ | |||||
Context Cloud | Rule-based | IF-THEN | ✓ | All, integrated with providers | ✓ | |||||
GALLAG Strip | Rule-based | IF-THEN | ✓ | Smart home sensors | ✓ | |||||
SSB | Rule-based | Register/subscribe service rules | ✓ | Home appliances and sensors | ✓ | |||||
S-API | Rule-based + Language | Language type compatibility. Commands for functions, events | ✓ | ✓ | All, integrated with ontologies for cross-smart spaces | ✓ | ✓ | |||
VS-CaSP | Rule-based | IF-THEN | ✓ | Virtual and real sensors | ✓ | |||||
SPOK | Rule-based + Language | Pseudo-natural syntax, IF-THEN, WHILE, WHEN | ✓ | Smart home and Web services | ✓ | |||||
Puzzle | Language | Jigsaw language | ✓ | Sensors and Web services | ✓ | |||||
Mayer et al. | Language | Get/set value (sensor/actuator), stateless actuators (e.g., trigger) | Undefined | Smart things | Undefined | |||||
Martín et al. | Rule-based + Algorithms | IF-THEN, proximity, location algorithms | ✓ | All, integrated with providers | ✓ | |||||
Dobby | Rule-based + Language | Language for selection, IF-THEN | ✓ | *-as-a-service | ✓ | |||||
T4Tags 2.0 | Rule-based | WHEN(trigger-condition-action) | ✓ | ✓ | Sensor, temporal, service | ✓ | ✓ | |||
SITE | Rule-based + Language | Fuzzy rules, context-free grammar | ✓ | ✓ | Smart home | ✓ | ✓ | |||
CoRE | Rule-based + Language | Except, when, if-then, and based on natural language | ✓ | All, integrated by middleware | ✓ | |||||
TARE | Rule-based | IF-THEN, WHEN, AND, OR | ✓ | All, defined as category, subcategory, entity | ✓ | |||||
EPIDOSITE | Rule-based | Annotations | ✓ | IoT (Smart home) and IR, accessed by phone apps | ✓ | |||||
GrOWTH | AI planning | Ontology | ✓ | All, integrated by components of the architecture | ✓ | |||||
VASH | Language | Annotations | ✓ | Web elements, mouse, keyboard events | ✓ | |||||
EasyContext | Rule-based | IF-THEN based on a Backus-Naur form (BNF) grammar | ✓ | Based on Google Awareness API | ✓ | |||||
CAPturAR | Rule-based | IF-THEN, events | ✓ | Human actions, context attributes, events | ✓ | ✓ |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Ponce, V.; Abdulrazak, B. Context-Aware End-User Development Review. Appl. Sci. 2022, 12, 479. https://doi.org/10.3390/app12010479
Ponce V, Abdulrazak B. Context-Aware End-User Development Review. Applied Sciences. 2022; 12(1):479. https://doi.org/10.3390/app12010479
Chicago/Turabian StylePonce, Victor, and Bessam Abdulrazak. 2022. "Context-Aware End-User Development Review" Applied Sciences 12, no. 1: 479. https://doi.org/10.3390/app12010479
APA StylePonce, V., & Abdulrazak, B. (2022). Context-Aware End-User Development Review. Applied Sciences, 12(1), 479. https://doi.org/10.3390/app12010479