Usability implications in software architecture: The case study of a mobile app. (24th August 2020) - Capilla, Rafael; Kazman, Rick; Romera, Carlos; Carrillo, Carlos
Abstract: Usability is a highly desired but often ignored software quality. Effective user interfaces tend to increase learnability, effectiveness and user satisfaction. But usability is often neglected in the early stages of software development and is thus frequently not address in a system's architectural design. Furthermore, because usability is often neglected or deferred, it is difficult to estimate the effort specifically spent on adding or improving usability mechanisms in the software architecture and in code. In this work, we present a case study where we analyze the impact of introducing a variety of usability mechanisms to a mobile application and we report on the architectural changes that must be made in the software architecture to accommodate them. We also report on the additional code required to implement these usability mechanisms and we investigate the users' satisfaction of combining and using several usability mechanisms in a mobile application. Finally, we evaluated user responses—both positive and negatives—to these usability mechanisms via a questionnaire involving 25 users from different roles and different organizations and including contextual interviews to analyze the qualitative responses of the subjects. Our results show that apart from the relatively modest modeling and coding effort, the combination of several usability mechanisms seems beneficial for users of mobile systems and increases the satisfaction during the interaction with the system.