Towards a catalog of usability smells

This paper presents a catalog of smells in the context of interactive applications. These so-called usability smells are indicators of poor design on an application's user interface, with the potential to hinder not only its usability but also its maintenance and evolution. To eliminate such usability smells we discuss a set of program/usability refactorings. In order to validate the presented usability smells catalog, and the associated refactorings, we present a preliminary empirical study with software developers in the context of a real open source hospital management application. Moreover, a tool that computes graphical user interface behavior models, giving the applications' source code, is used to automatically detect usability smells at the model level.

[1]  Pavel Berkhin,et al.  A Survey on PageRank Computing , 2005, Internet Math..

[2]  Hugo Ribeiro,et al.  Towards a Catalog of Spreadsheet Smells , 2012, ICCSA.

[3]  João Saraiva,et al.  A generic library for GUI reasoning and testing , 2009, SAC '09.

[4]  Arie van Deursen,et al.  Detecting and visualizing inter-worksheet smells in spreadsheets , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[5]  Mauro Pezzè,et al.  Automated GUI refactoring and test script repair , 2011, ETSE '11.

[6]  Leonard J. Bass,et al.  Usability-supporting architectural patterns , 2004, Proceedings. 26th International Conference on Software Engineering.

[7]  M. Fowler Improving the Design of Existing Code , 2000 .

[8]  João Saraiva,et al.  The GUISurfer tool: towards a language independent approach to reverse engineering GUI code , 2010, EICS '10.

[9]  Adam Tacy,et al.  GWT in Action , 2007 .

[10]  Fernando Kamei,et al.  What programmers say about refactoring tools?: an empirical investigation of stack overflow , 2013, WRT '13.

[11]  W. Buxton Human-Computer Interaction , 1988, Springer Berlin Heidelberg.

[12]  P. Klint,et al.  Efficient annotated terms , 2000 .

[13]  Daan Leijen,et al.  wxHaskell: a portable and concise GUI library for haskell , 2004, Haskell '04.

[14]  Mauricio A. Saca Refactoring improving the design of existing code , 2017, 2017 IEEE 37th Central America and Panama Convention (CONCAPAN XXXVII).

[15]  Woei-Kae Chen,et al.  Bad Smells and Refactoring Methods for GUI Test Scripts , 2012, 2012 13th ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing.

[16]  Jácome Cunha,et al.  Smelling Faults in Spreadsheets , 2014, 2014 IEEE International Conference on Software Maintenance and Evolution.

[17]  Antonella De Angeli,et al.  Quantification of interface visual complexity , 2014, AVI.

[18]  Silva,et al.  Models for the reverse engineering of Java/Swing applications , 2006 .

[19]  Miryung Kim,et al.  An Empirical Study of RefactoringChallenges and Benefits at Microsoft , 2014, IEEE Transactions on Software Engineering.

[20]  Arie van Deursen,et al.  Detecting and refactoring code smells in spreadsheet formulas , 2013, Empirical Software Engineering.

[21]  Gregory D. Abowd,et al.  Human-Computer Interaction (3rd Edition) , 2003 .

[22]  Jean Vanderdonckt,et al.  Towards an evaluation of graphical user interfaces aesthetics based on metrics , 2014, 2014 IEEE Eighth International Conference on Research Challenges in Information Science (RCIS).

[23]  João Saraiva,et al.  Combining Formal Methods and Functional Strategies Regarding the Reverse Engineering of Interactive Applications , 2006, DSV-IS.