Software Architectures Supporting Human-Computer Interaction Analysis: A Literature Review
This paper presents a Literature Review on software architectures that support Human-Computer Interaction analysis processes. Despite of software architectures and Human-Computer interaction are not new research fields; there are not much scientific papers that cover the relation of both (at least in the Web of Science and Scopus databases used). The Literature Review presented covers the relationship between both fields, conducting the research using 3 questions proposed by the authors in order to discover the current state of art of this software architectures that supports HCI, to research about the different trends in the field of software engineering that help in the design, definition and exploitation of them and to find out if there is in the literature an application to the field of eLearning of these software complex systems that deal with HCI analysis. Regarding the results of the Literature Review, authors pre-sent a classification of the papers reviewed by 24 common features discovered, helping the readers and others researchers to know how these software architectures work with different kind of HCI analysis approaches, how are designed, what are the goals of applying this kind of system for the analysis, or what are the application contexts.
KeywordsHuman-computer interaction HCI Software architectures Analysis Literature review eLearning
The systems that retrieve and analyze information from the users’ interaction with software systems are currently a trend topic. Human-Computer Interaction is a research area in continuous development , and increasingly important in the current times regarding the arising of topics like Big Data, User Experience (UX), etc. and the strong scope that puts the Business world in the monetization of online systems through improving the HCI related areas and by the creation of a data-driven culture [2, 3] that enables decision-making processes were the users’ interaction is the key point and the users are the main actor .
Within the development of the HCI there are many areas involved where researchers could collaborate. Besides those mentioned previously (Big Data, UX, etc.) many authors have proposed complex software systems and software architectures that feature the work with data related to users’ interaction [5, 6, 7, 8]. The application of these works on complex systems and software architectures enables the current advances on different areas like, for example, measuring UX metrics , performing data analytics (distributing computation, creating complex data pipelines between different systems, etc.), enabling decision making supported by data visualizations and visual analytics [10, 11], Internet of Things (IoT) processes where users are involved directly , Learning and Learning Analytics [12, 13, 14, 15, 16, 17], sales revenue measuring across different platforms, data-driven marketing using several third-party applications , etc. Some of these solutions are intended to interconnect in a better way different existing services and systems in order to enable new ways of collaboration between platforms and software systems , empowering sets of applications with a common goal or developing smooth processes in work related with data.
The aim of this paper is to present a Literature Review (LR) on software architectures that support the Human-Computer Interaction (HCI) analysis, emphasizing on discovering how these software architectures work with different kind of HCI analysis approaches (devices and environments where the interaction analysis is performed, etc.), how are designed (using software engineering) and to find out if there is a niche in the reviewed literature related to the application of software architectures that support HCI analysis regarding to eLearning environments.
The following sections Theoretical Background, Literature Review and Conclusions present different relevant aspects about the fundamental theoretical background needed to understand the key points of the software architectures and Human-Computer Interaction fields used in this paper, present the literature review performed (methodology, results, etc.) and some conclusions about the knowledge retrieved from this LR.
2 Theoretical Background
The Software Architectures are not a new thing in Computer Sciences. From the 90’s the work and research about this topic has been a constant, due the need of adapting the concepts, design and foundations to the new challenges that appear continuously with the new trends in Computer Sciences, the new frameworks, the new needs, etc. But, even assuming that the concept is not new, what is a Software Architecture? How can be defined a Software Architecture?
Regarding the literature, there are many authors that have defined and worked about this concept, but can be remarked the definitions provided by Kruchten  and by Bass et al. : according to Kruchten, a Software Architecture is “[…] the set of significant decisions about the organization of a software system, the selection of the structural elements and their interfaces by which the system is composed, together with their behavior as specified in the collaborations among those elements, the composition of these structural and behavioral elements into progressively larger subsystems, and the architectural style that guides this organization -these elements and their interfaces, their collaborations, and their composition” . On the other hand, Bass et al. provide another simpler definition, where they compress the concept to: “The Software Architecture of a system is the set of structures needed to reason about the system, which comprise the software elements, relations among them, and properties of both” .
Usability is “the extent to which a product can be used by specified users to achieve specified goals with effectiveness, efficiency and satisfaction in a specified context of use” (ISO 9241–11). The concept is applied from the lowest level the visual layout -the information and controls displayed on a screen and the user immediate behavior- to the higher level that includes social and organizational contexts –people who uses the system, their beliefs and values, and the purpose and constraints of the design-.
Observation and Empirical Data where can be featured the main the methods to evaluate and observe the HCI, the laboratory experiments and field studies. The laboratory experiments are where users perform a task or interact under controlled conditions, and the field studies are those performed where users are use technology without controlled conditions (in the workplace, outside, in their homes, etc.) .
3 Literature Review
As previously presented, the aim of this Literature Review is to find out how software architectures support the HCI analysis processes, with special attention on the different approaches followed in HCI analysis, how are designed the software architectures and to discover if there is a relationship in the literature with the HCI analysis and eLearning fields (through the application of these software architectures). Following these goals, the LR was conducted by the following questions:
Question 1: What is the current state of the art of software architectures in the field of HCI analysis?
Question 2: Are there trends or mechanisms in software engineering that cover the field of software architectures supporting HCI analysis?
Question 3: Are there a specific trend in the software architectures designed to support HCI analysis related specifically to its application in eLearning?
The literature review presented in this paper is part of a wider literature review centered in the research areas of software architectures. For that reason, authors present in this paper a literature review only of scientific works indexed in the Web of Science and Scopus databases, ensuring that the papers, books and book chapters reviewed are relevant and represent high quality content.
In the Web of Science: TS = (“software architecture” AND (HCI OR “Human-Computer Interaction”) AND analy*)
In Scopus: TITLE-ABS-KEY (“software architecture” AND (HCI OR “Human-Computer Interaction”) AND analysis)
After the selection of the papers regarding their titles, abstracts or full text, 16 papers [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38] result to be the most relevant for the defined Literature Review purposes. These papers selected papers were published among 1998−2013 (https://goo.gl/Mq0nmd). As follows, the papers analyzed were categorized depending on what questions answer each one.
Q1: What is the current state of the art of software architectures in the field of HCI analysis?
Regarding this question, all the papers [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38] fulfilled a minimal answer, because each one of them provides its point of view of the current state of the art. For example, many of them provide application approaches, explaining the devices and physical contexts that could appear in the HCI analysis, among the different devices and contexts, appear in the review the personal computers, wearables, mobile/smartphones, servers, domotics or robots. On the other hand, there papers that focus its content to certain aspects related to software architectures and HCI analysis process. For example, there are some papers retrieved that feature the contents on the Software Engineering contents related to this kind of software (as explained in the following question), or in the HCI aspects.
Regarding the HCI aspects and the context application of the analysis, there is a broad range: there are papers that present contents on HCI analysis regarding astronauts training (Mackin et al. ), in humanoid robots that analyze HCI and react to users and environment (Kato et al. ; Fujita et al. ), in HCI analysis observing the body and physical reactions of users and not only analyzing the behavior in front the software (Sulzmann et al. ; Ardizzone et al. ), in HCI related to hardware (Mackin et al. ; Biel et al. ; Sulzmann et al. ; Doswell ; Kato et al. ; Fujita et al. ; Ardizzone et al. ) or software elements (Eelke and Jan ; Grill and Gruhn ; Folmer et al. ; Pinheiro et al. ; Bouchrika et al. ; Juárez-Ramírez et al. ; Ko et al. ; Doswell ; John and Bass ; Gundy, et al. ; and Bass and John ), etc. Also there is a trend among the results in software architectures that support HCI analysis to improve the usability of the software/hardware systems; some papers that cover directly this issue are: Eelke and Jan ; Biel et al. ; Juárez-Ramírez et al. ; or Bass and John .
In general the results retrieved provide good insights about the current state of the art in this topic, representing varied application context, approaches, methodologies, and well-balanced distribution of theoretical-practical contents.
Q2: Are there trends or mechanisms in software engineering that cover the field of software architectures supporting HCI analysis?
The papers that answer in any way this question were [24, 25, 26, 27, 28, 30, 32, 35]. The common issues that cover these papers more related to the software engineering are related to software patterns to model properly the behavior and functionality of the software components (Eelke and Jan ; Biel et al. ; Folmer et al. ; Pinheiro et al. ; Bouchrika et al. ; Juárez-Ramírez et al. ; Doswell ; and John and Bass ), the correct description of the software architecture system through using UML (Unified Modeling Language) or ADL (Architecture Description Language) [24, 25, 26, 27, 28, 30, 32, 35]. Also there are references to some trends in software engineering and related areas that can be relevant for the topic apart of those previously described, like the requirements engineering, or even in other papers not selected finally for the final Literature Review, topics like information fusion, visualization of HCI interaction, etc.
Singularly in those paper more focused on software engineering, there is a lack of description about how these components that collaborate to achieve the common goal of the software architecture communicate between them: there are only 3 papers that explain it (Mackin et al. ; Bouchrika et al. ; and Sulzmann et al. ). Also authors find lacks in descripting the technologies used in those papers that present practical test of the architectures, as well as a serious lack describing or using standards in the software architectures description or designing.
Q3: Are there a specific trend in the software architectures designed to support HCI analysis related specifically to its application in eLearning?
The unique paper resultant of the search performed in the Literature Review scope that answer this question (at least in a partial way) was the paper  written by Doswell. In this paper, Doswell present a software architecture that includes communication with wearable and mobile devices in order to measure the HCI regarding to eLearning processes and how it could be used in the future to find out engagement, etc. However, the paper do not deepen in features like standards (in any aspect) or in formal specifications. There is another paper , written by Kato et al., that points out implicitly a possible use of humanoid robots in physical learning processes, but only as an possibility of use, with no concretion.
Despite of that, authors consider that there are many key points, features and approaches presented in the papers that could serve to develop software architectures that help learning processes through the analysis of HCI in the context of students’ interaction with eLearning systems and contents.
3.3 Analysis and Discussion
- 1.Physical context /devices (included in the analysis)
- 2.Software Engineering specifications
Components’ communication: details on how the software architecture components communicate among them, etc. (strategies, format, standards).
Information collectors: details on how the system collects the information about HCI processes.
Architecture diagrams (ADL, UML, etc.)
Design details (patterns, use cases, etc.)
Technologies, languages: description about the software/hardware properties, the technologies, frameworks or languages used.
Standards: is the architecture presented based on standards?
- 3.Human-Computer Interaction specifications
Measurement process description
React to users’ interaction: is the HCI analysis intended to allow the software architecture reacts to the interaction?
Centered on usability: is the HCI analysis presented centered mainly on usability?
HCI – software elements: is the HCI analysis based on interaction with software elements?
HCI – hardware elements: is the HCI analysis based on interaction with hardware elements?
Laboratory experiments: is the HCI analysis performed in a laboratory experiment?
Field study: is the HCI analysis performed in a field study?
Standards: uses standards in the HCI analysis?
Purpose of analysis: the paper describes the learning purpose/goals/intentions of the HCI analysis?
Standards: are involved eLearning standards in HCI analysis or in the software architecture?
Potential users: it describes the potential users/beneficiaries of the HCI analysis related to eLearning?
Mobile learning: is the eLearning application of the HCI analysis related to mobile learning?
In the Table 1 can be observed how each of the items and categories described is included or not in the content: E (explicit) the item is mentioned or commented explicitly in the document, I (implicit) the item is implicit in the contents analyzed, U (unavailable) the item is not mentioned in any way.
Regarding the Table 1 and the results presented before, it is clear that the software architectures that support HCI analysis is not the most popular subject in the Web of Science and Scopus databases, i.e. the same search terms without “analysis” provides 38 results in the Web of Science instead of 8. Although could be possible that the term “analysis” restrict so much the search, and trying with other search terms related to the same topics could lead researchers to get better outcomes.
Despite of the number of papers that fit outstandingly the goal planned for this Literature Review, is clear that the software architectures can have a determinant role in HCI analysis processes, due their design can improve significantly the measurement, analysis and feedback of the interaction. Also is clear, that many approaches presented in the papers reviewed suffer a lack of rigor regarding standards, proper specifications of goals, designs and methodologies, as well as not much of them present real cases tested with real users in real contexts.
Regarding the results, also is significant that only one paper focuses its research on software architectures and HCI analysis on the application of these approaches to the eLearning field; authors agree on this kind of software systems can help to develop new complex systems that comprise several applications and systems (conforming true learning ecosystems) where different applications, systems, devices and methods benefit learners by working together in a proper way to help and improve the learning process.
Despite of these considerations, can be a real opportunity of improvement, authors believe that could exist a niche in publications regarding to software architectures, HCI processes analysis (and, of course, its application to eLearning processes); today, the research on software architectures, decentralized or complex systems and ecosystems represent the future in several fields, where there is a need of tools, systems and applications working together to achieve more complex goals than current ones.
According to the results retrieved from the search in the Web of Science and Scopus database, there are not a lot of content related to the subject of this paper, or at least, not categorized in the same way paper does. This could represent an opportunity in publishing in this research area.
Authors consider that could be a niche for publication is in the context of software architecture and HCI analysis and its application in eLearning contexts; only one paper deals with this issue of those retrieved. Despite this low number, has been observed that many of the software architectures and approaches reviewed have principles that could be applied to improve eLearning.
There are some trends in software engineering proper for this kind of software architectures, but they are not massively used in the papers reviewed. Authors remarked lacks on the papers about specific content on standards, communication protocols and strategies among software components, or in describing the specific technologies and technical details of those architectures presented that have been tested in real experiments. These considerations also could be applied to the HCI topics presented in the papers, authors find out that there is not enough content on how the experiments were conducted, what standards were followed, etc. and there are many issues and approaches that can be improved in further research.
Authors assume that in some cases the research that cover all of these areas are an unexplored territory, and there are some papers that begin to cover them, but there is an opportunity for further research that could lead to improve the future complex systems, ecosystems and sets of varied applications that work for common goals.
The author Juan Cruz-Benito would like to thanks the European Social Fund and the Consejería de Educación of the Junta de Castilla y León (Spain) for funding his predoctoral fellow contract.
- 2.Patil, D.J.: Data Jujitsu: The Art of Turning Data into Product. O’Reilly, Sebastopol (2014)Google Scholar
- 3.Patil, D.J., Mason, H.: Data Driven. Creating a Data Culture. O’Reilly, Sebastopol (2014)Google Scholar
- 5.Brown, J., Marshall, S.: Sharing human-computer interaction and software engineering design artifacts. In: Proceedings of 1998 Australasian Computer Human Interaction Conference 1998, pp. 53–60. IEEE (1998)Google Scholar
- 6.Shen, J., Pantic, M.: A software framework for multimodal humancomputer interaction systems. In: IEEE International Conference on Systems, Man and Cybernetics, 2009. SMC 2009 , pp. 2038–2045. IEEE (2009)Google Scholar
- 9.Albert, W., Tullis, T.: Measuring the User Experience: Collecting, Analyzing, and Presenting Usability Metrics. Newnes, Australia (2013)Google Scholar
- 12.Cruz-Benito, J., Maderuelo, C., García-Peñalvo, F.J., Therón, R., Pérez-Blanco, J.S., Zazo, H., Martín-Suárez, A.: Usalpharma: a software architecture to support learning in virtual worlds. IEEE Revista Iberoamericana de Tecnologias del Aprendizaje (2016, in press)Google Scholar
- 15.Gómez Aguila, D.A., García-Peñalvo, F.J., Therón, R.: Analítica visual en elearning. El Profesional de la Información 23, 233–242 (2014)Google Scholar
- 20.Kruchten, P.: The Rational Unified Process. Addison-Wesley, Boston (1998)Google Scholar
- 21.Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. Addison-Wesley Professional, Boston (2012)Google Scholar
- 22.Dix, A.: Human-computer interaction. In: Liu, L., Özsu, M.T. (eds.) Encyclopedia of Database Systems, pp. 1327–1331. Springer, Boston (2009)Google Scholar
- 23.Mackin, M.A., Gonia, P.T., Lombay-Gonzalez, J.A.: An information system prototype for analysis of astronaut/computer interaction during simulated EVA. In: Aerospace Conference, 2012 IEEE, pp. 1–8 (2012)Google Scholar
- 24.Eelke, F., Jan, B.: Experiences with software architecture analysis of usability. Int. J. Inf. Technol. Web Eng. (IJITWE) 3, 1–29 (2008)Google Scholar
- 28.Bouchrika, I., Ait-Oubelli, L., Rabir, A., Harrathi, N.: Mockup-based navigational diagram for the development of interactive web applications. In: Proceedings of the 2013 International Conference on Information Systems and Design of Communication, pp. 27–32. ACM, Lisboa, Portugal (2013)Google Scholar
- 30.Juárez-Ramírez, R., Gómez-Ruelas, M., A. Gutiérrez, A., Negrete, P.: Towards improving user interfaces: a proposal for integrating functionality and usability since early phases. In: 2011 International Conference on Uncertainty Reasoning and Knowledge Engineering (URKE), pp. 119–123 (2011)Google Scholar
- 31.Ko, A.J., Lee, M.J., Ferrari, V., Ip, S., Tran, C.: A case study of post-deployment user feedback triage. In: Proceedings of the 4th International Workshop on Cooperative and Human Aspects of Software Engineering, pp. 1–8. ACM, Waikiki, Honolulu, HI, USA (2011)Google Scholar
- 32.Doswell, J.T.: Context-aware mobile augmented reality architecture for lifelong learning. In: 2006 Sixth International Conference on Advanced Learning Technologies, pp. 372–374 (2006)Google Scholar
- 33.Kato, S., Ohshiro, S., Itoh, H., Kimura, K.: Development of a communication robot Ifbot. In: Proceedings of 2004 IEEE International Conference on Robotics and Automation, ICRA 2004, vol. 691, pp. 697–702 (2004)Google Scholar
- 34.Fujita, M., Kuroki, Y., Ishida, T., Doi, T.T.: Autonomous behavior control architecture of entertainment humanoid robot SDR-4X. In: Proceedings of 2003 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2003), vol. 961, pp. 960–967 (2003)Google Scholar
- 36.Ardizzone, E., Chella, A., Pirrone, R.: An architecture for automatic gesture analysis. In: Proceedings of the Working Conference on Advanced Visual Interfaces, pp. 205–210. ACM, Palermo, Italy (2000)Google Scholar