=Paper=
{{Paper
|id=Vol-490/paper-3
|storemode=property
|title=Use of Abstraction during User Interface Development
|pdfUrl=https://ceur-ws.org/Vol-490/paper_03.pdf
|volume=Vol-490
|dblpUrl=https://dblp.org/rec/conf/iused/Hvannberg09
}}
==Use of Abstraction during User Interface Development==
Use of Abstraction during User Interface Development
A Position paper
Ebba Þóra Hvannberg
University of Iceland
Hjardarhaga 2-6, 107 Reykjavik, Iceland
+354 525 4702
ebba@hi.is
ABSTRACT communication between the software developers and usability
This paper postulates a thesis claiming that abstraction is an specialists must be tackled [1]. We can all agree that
essential part of communication during user interface communication is important, but how, what and why? Engineers
development, that models are a way of expressing those have long communicated by means of mathematics, structural
abstractions and that user interface developers and software (architectures) and behavioural models (electrical engineers).
engineers need the same language for communication. Motivated They communicate about materials, structures of buildings, input
by described myths and desired model characteristics stated in the and output of processes or systems. Computer scientists on the
literature, several counterarguments and arguments are given to other hand express things with logic or computer programs.
the thesis, backed up with results from empirical research studies. Because it seems so easy to change programs or write new ones,
The paper concludes with a plan of action to bring the thesis unlike concrete materials such as metal or cement, programmers
forward. think that modeling is not necessary, and in the race for fast
products to market, they skip the preparation and planning and
Categories and Subject Descriptors dive right into the implementation [2].
H5.2 [User Interfaces]: models Because of inherent complexity of software, or maintenance,
computer scientists tend to abstract from details for easier
General Terms comprehension during development. Much of the effort of
Human Factors research in software engineering has been on how to communicate
and articulate this abstraction. Early, this abstraction appeared as
functions, with input and output as descriptions of change of
Keywords states of the machine, then as user defined data structures. This
Models, Abstraction, Development was followed by entity-relationship models which had a strong
influence on data modelling. Finally, since few decades,
1. INTRODUCTION abstraction has been dominant in object-orientation, where
During software development, good communication within a abstraction occurs in forms of inheritance and encapsulation.
development team and between a team and the stakeholders is Reuse was the anticipated return on investment of abstraction,
essential. Many development lifecycle models have been initially with the concept of classes but when that did not meet
suggested, and since participatory design, most if not all lifecycle expectations, recent developments have centered more on
models have emphasized inclusion of users. Recent agile models components and services as a form of abstraction.
include two characteristics which involve users; writing some There have been different suggestions of specializing descriptions
kind of user stories and letting the buyer of the product decide of user interfaces from descriptions of software in general, such as
upon the next features in the product. Agile methods also stress patterns for user interfaces, frameworks and classes to user
that communication within teams are important, but they do interface programming [3]. Instead of specialization from general
discourage heavy documentation, processes or tools usage. software models, others have designed models for user interfaces
Communication within a team is sometimes between different independent of software development, such as cognitive models
roles. The gap between software engineering and user interface [4] . With the advent of the web as a platform, specific languages
development has been addressed to an extent in the literature and have been developed and engineering tools developed such as
the conclusion is that whatever method is used the difficulties in Web-ML and OO-H [5]. There have thus been countless
attempts to devise specific models for user interaction, and while
they are useful as such they will probably not be widely used by
Permission to make digital or hard copies of all or part of this work for software developers, or in an interdisciplinary team of software
personal or classroom use is granted without fee provided that copies are developers and user interface designers [1]. Those models which
not made or distributed for profit or commercial advantage and that
are based on software engineering models such as UML-Web
copies bear this notice and the full citation on the first page. To copy
otherwise, or republish, to post on servers or to redistribute to lists,
based Engineering (UWE) are perhaps more likely to be used in
requires prior specific permission and/or a fee. such teams [6].
Conference’04, Month 1–2, 2004, City, State, Country.
Copyright 2004 ACM 1-58113-000-0/00/0004…$5.00.
From time to time, or should I say continuously, the research 3.2 Models are difficult to create and few
community has been trying to discover why developers refrain
from using models as abstractions of software, be it informal or know how to make them
formal. As in the case of formal methods, scientists have tried to Not many modeling languages have been created exclusively for
elicit myths and refute them [7]. Sometimes these myths have user interface design or for that matter software development. The
been denied with facts, sometimes with general arguments. Myths predominant one for software development is UML and it is quite
are drawn from speculations, here say or common knowledge in large containing a number of different model types. The types of
the area. While it is useful to gather such tacit knowledge present problems architects describe are scattered information among
it explicitly, we need to conduct more empirical research different model views, incompleteness of models, disproportion,
investigating usage of models. A few such studies and my own i.e. more details in some parts than others and inconsistencies
results have motivated several statements of arguments for user between teams. Furthermore, architects claim that models are
interface modeling. The next section states a thesis, followed by sometimes used informally and there are a lack of modeling
counter arguments and arguments for that thesis. The paper conventions [11]. A study on the use of UML demonstrated that
concludes with a plan of actions. those with more UML experience used it more extensively than
those with less experience, suggesting that analysts need time to
learn how to use the UML language well [12].
2. THE THESIS
While I agree that modeling can be an intricate activity, I don’t
I postulate that a good way to communicate user interface designs, think it is the models themselves that are difficult to create, but it
and hence results of usability evaluations, is through abstractions. is the activity of abstraction which is hard. Successful user
I postulate that models as a form of abstraction are the best way to interface designers will always need to learn how to abstract.
discuss and argue about a user interface development. The models Some will learn it through modeling; others will learn it implicitly
are created during the requirements, design activities, used to as they gain experience. With models they are forced to do it but
assist during evaluation, used to express, understand and even they can avoid it they don’t use models, with unpredictable
predict results of an evaluation, and used to redesign a user results.
interface to fix a usability problem uncovered during evaluation.
Finally, I claim that for the task we need software development 3.3 Creating models are costly and not worth
models in order to bridge the gap between user interface and
software designers.
the effort
Creating models, especially if supporting tools are unavailable,
can be a difficult and time consuming effort. Not only are models
3. COUNTER ARGUMENT difficult to create but also evolve ensuring that the models are
Probably, not everyone agrees with the stated position. In the synchronized with the implementation. A survey says that 52.5
following, let us examine some of the counter arguments, some of percent of practitioners finish modeling when the model is
which are motivated by the characteristics of good models, i.e. complete, 33.8 percent of practitioners say that a model is done
abstraction, understandability, accuracy, predictability and when it has passed a review or an inspection, and 32.8 percent of
inexpensiveness [2], others which are motivated by myths stated practitioners say that the deadline is the stopping criterion.
in the literature [1, 7]. Whereas the completeness of a model is more often a stopping
criterion in larger projects, a deadline is more often a halting
3.1 Working software over comprehensive criterion for smaller projects [11]. These numbers tell us that
documentation models are created in different ways, and in the cases where the
One of the principles of agile development is working software models are not complete, developers do not take full advantage of
over comprehensive documentation. Daily face to face meetings the benefits of models, namely model driven development where
and frequent changing of roles or activities is meant to make up code is automatically generated from models [2].
for lack of documentation. Knowledge is tacit and not explicit [8]. A study we conducted recently showed that over 30% of the
Modelling is a process which aids in describing and abstraction defects could be blamed on faulty dialogue or navigational design,
what is to be built. In support of this counterargument Ambler [9] yet only a few of those defects were fixed [13]. Why? We
refers to Constantine [10] who says that it is a misconception that speculate that the reason may be that it was estimated too difficult
agilists do not model. The truth is, Ambler states, that they do to fix the usability problems because the solutions required a
model, but that they discourage extensive modelling up-front but revised user interface architecture and hence were too costly or
encourage active modelling along the way. Ambler supports this even too difficult to make.
by referring to agile methods’ literature, but also acknowledges Our conclusion, from our own and other research studies, is that it
that the models are sometimes rather informal. is very costly not to create models, and that unless models are
Further, some of the misunderstanding of models is that their complete, their full benefits are not reaped.
impact is to be mainly achieved through the end product. Instead,
modelling is a dynamic activity and much is gained by the
interaction which the modelling activity facilitates
3.4 Models are limited to describing those 4. ARGUMENT
characteristics of user interfaces which do not In this section we restate our claims and support them.
concern presentation
Models, especially very abstract ones, do not capture experience 4.1 Abstraction is key to communication
very well. To understand emotional experience, we need a With abstraction we are able to discuss main interactions and
detailed contextual implementation. principles in the software without burying it in too many details.
Abstraction makes it easier to plan, verify and design. Abstraction
A survey among 171 analysts showed that of seven different types
allows us to present different views of the user interaction.
of UML diagrams and narratives, class diagrams were used most
frequently, with 73% of the analysts saying that they were used in 4.2 Models are a good way to communicate
at least two-thirds of their projects. Use case diagrams were
second, use case narratives fourth (44%), but statechart diagrams during user interface development
came sixth, with less than 30% of the analysts saying that Sketches, scenarios or storyboards are all different types of
statecharts are used in at least 2/3 of the projects. On the other models, since they describe the real end product but leave out
hand when analysts were asked to mark those diagrams which some of its details. Diaper states that “HCI is an engineering
were never used, class diagrams ranked the lowest with only 3% discipline and therefore must model the real world that is assumed
to 25% for collaboration diagrams, ranked the highest [11]. to exist, notwithstanding how poor and partial might be our
models of it.“ [14]. Diaper emphasises the importance of task
In this same survey, respondents were asked for the usefulness of models since they describe a series of events or activities in time.
the different diagrams. Interestingly, whereas statechart diagrams He doesn‘t exclude other models but says that they play a lesser
were used much less frequently than class diagrams, they ranked role. Seffah and Metzker acknowledge that task models are widely
second in usefulness after class diagrams. used in the user interface community but warn that they may
If we were to ask user interface developers, I speculate that class describe functionality more than usability, thus not fulfilling the
diagrams are only useful for conceptual modelling, but activity objectives of the user interface developer.
diagrams and then state charts diagrams would be ranked higher One of the desirable characteristics of models is that they should
in terms of providing new information not found in use case be predictive. Prediction does not only include foreseeing the
narratives. behaviour of the user and the system through simulation, but also
Conceptual modelling is still very useful in user interface design. modelling of the development activity itself and not just the
Our study showed that around 23% of defects uncovered could be artefacts. With increased emphasis on approaches for the whole
attributed to wrong conceptual models [13]. As we see in UML lifecycle, including maintenance, we need to include models for
there are a number of different types of diagrams and this is what evaluations of user interfaces. Modelling evaluation results should
we should aim for in user interface modelling, but we need to link help us predict whether a defect is likely to be fixed, whether an
the different models together such as the presentation models to evaluator is likely to uncover defects, whether components are
the structural and behavioural models, or else the developers will likely to be faulty etc.
complain that there is a disconnect between the models.
4.3 Software development models can serve
3.5 Users do not understand models user interaction design and other components’
In a user-centered development, it is imperative to involve users at
all stages of development. It is also critical to include a multi-
designs
disciplinary group of experts. Therefore, the communication In communication between people a disagreement is often due to
language needs to be familiar to all. Undeniably, artifacts such as misunderstanding. We say that people don’t speak the same
low-fidelity prototypes, story boards, scenarios and use case language. To close the gap between software engineers and user
narratives are very accessible to users, and countless research interaction designers they need to speak the same language.
papers have claimed the usefulness of informal models of user Different dialects can be permissible but not different languages.
interaction design such as scenarios and prototypes.
The results of a study on how UML is used, partly refutes this 5. CONCLUSION
counterclaim. While the study’ results reveal that stakeholders are Current research gives evidence that user interface designers need
most likely to use use case narratives and use case diagrams, better help in their work. The number of defects found and the
clients are involved in developing, reviewing and approving other increasing criticality of user interfaces demands that we continue
components more than expected. All of the clients interviewed in searching for better ways to communicate and apply abstractions
the study welcomed the use of UML and some even showed in interaction designs.
insight into its usage [12]. As expected, client involvement is
highest with use case narratives, 76%, and lowest for statechart The counter arguments stated in this position paper are however
diagrams. real threats to this believe. I think these threats can be lessened
What is worrying is that models which are not useful with clients with the following plan of action:
may be useful for programmers, thus creating a gap between the
two groups. 1. Develop a domain specific modelling language for user
interface design which can be used by an
interdisciplinary team of user interface designers and
software developers.
2. Offer tutorials and develop body of knowledge for user 8. Pikkarainen, M., et al., The impact of agile practices on
interface modelling as an abstraction and communication in software development. Empirical
communication activity. Software Engineering, 2008. 13(3): p. 303-337.
9. Ambler, S., Tailoring Usability into Agile Software
6. REFERENCES Development Projects, in Maturing Usability, quality in
1. Seffah, A. and E. Metzker, The obstacles and myths of Software, Interaction and Value, Effie Lai-Chong Law,
usability and software engineering. Commun. ACM, Ebba Thora Hvannberg, and G. Cockton, Editors. 2008,
2004. 47(12): p. 71-76. Springer-verlag London. p. 75-95.
2. Selic, B., The pragmatics of model-driven development. 10. Constantine, L. Process Agility and Software Usability:
Software, IEEE, 2003. 20(5): p. 19-25. Toward Lightweight Usage-
3. Myers, B.A. and M.B. Rosson, Survey on user interface Centered Design. Accessed on April 25, 2006. 2001
programming, in Proceedings of the SIGCHI [cited 2009; Available from:
conference on Human factors in computing systems. www.foruse.com/articles/agiledesign.pdf
1992, ACM: Monterey, California, United States. 11. Lange, C.F.J., M.R.V. Chaudron, and J. Muskens, In
4. de Haan, G., G.C. van der Veer, and J.C. van Vliet, practice: UML software architecture and design
Formal modelling techniques in human-computer description, in Software, IEEE. 2006. p. 40-46.
interaction. Acta Psychologica, 1991. 78(1-3): p. 27-67. 12. Dobing, B. and J. Parsons, How UML is used. Commun.
5. Abrahão, S., et al. A Model-Driven Measurement ACM, 2006. 49(5): p. 109-113.
Procedure for Sizing Web Applications: Design, 13. Law, E.L.-C., et al., Impacts of Classification of
Automation and Validation in MoDELS 2007: Springer- Usability Problems (CUP) on System Redesign in
Verlag Usability and User-Centered Design in Software
6. Koch, N. and A. Kraus. The expressive power of UML- Development: Case Studies and Real Life Applications,
based engineering. . in Second International Workshop Ann Blandford, et al., Editors. 2010, in review, IGI
on Web Oriented Software Techonlogy (CYTED). 2002. 14. Diaper, D., The discipline of HCI. Interacting with
7. Bowen, J.P. and M.G. Hinchey, Seven more myths of Computers, 1989. 1(1): p. 3-5.
formal methods. Software, IEEE, 1995. 12(4): p. 34-41.