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