<!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>Preserving Designer Input on Concrete User Interfaces Using Constraints While Maintaining Adaptive Behavior</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Pierre A. Akiki</string-name>
          <email>pierre.akiki@open.ac.uk</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Arosha K. Bandara</string-name>
          <email>a.k.bandara@open.ac.uk</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Yijun Yu</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Computing Department, The Open University Walton Hall</institution>
          ,
          <addr-line>Milton Keynes</addr-line>
          ,
          <country country="UK">United Kingdom</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>User interface (UI) adaptation is applied when a single UI design might not be adequate for maintaining usability in multiple contexts-of-use that can vary according to the user, platform, and environment. Fully-automated UI generation techniques have been criticized for not matching the ingenuity of human designers and manual UI adaptation has also been criticized for being time consuming especially when it is necessary to adapt the UI for a large number of contexts. This paper presents a work-in-progress approach that uses constraints for preserving designer input on concrete user interfaces upon applying adaptive behavior. The constraints can be assigned by the UI designer using our integrated development environment Cedar Studio.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>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>
        INTRODUCTION
User interface (UI) adaptation is applied when a single UI
design might not be adequate for maintaining usability in
multiple contexts-of-use that can vary according to the user,
platform, and environment. UI adaptation is either labeled
as adaptable meaning that manual adaptation is required or
adaptive indicating that an automatic adaptation is done. By
observing the literature we can see that there are a variety
of UI adaptation techniques that adopt manual adaptation
(adaptable UI) such as “two interface design” [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] and
“crowdsourced adaptation” [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] or automated adaptation
(adaptive UI) such as “Supple” [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], and “Personal
Universal Controller” [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
      </p>
      <p>
        Some researchers have criticized fully-mechanized UI
construction in favor of applying the intelligence of human
designers for achieving higher usability [
        <xref ref-type="bibr" rid="ref22">21</xref>
        ]. Adaptive UI
behavior is also regarded by some as being unpredictable
and possibly disorienting for users [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Other researchers
promote the use of adaptive behavior [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. The automation
provided by adaptive behavior provides advantages in terms
of saving development time thereby reducing the cost of
adapting user interfaces to multiple contexts-of-use.
The importance of obtaining a predictable outcome is
emphasized due to its impact on the success of UI
development techniques [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. Some fully-automated
approaches only allow designer input on a high level of
abstraction thereby decreasing the control and predictability
of the outcome. Other approaches support lower level input
such as control over the concrete widgets, nevertheless
upon applying adaptive behavior the input made by the
human designer will be overridden.
      </p>
      <p>
        In this paper, we present a work-in-progress technique that
allows designers to assign UI constraints that are preserved
after applying automated adaptive behavior. The constraints
embody the characteristics of the UI that require human
ingenuity and are not met by fully-automated techniques.
The model-driven approach to user interface development
has been promoted by many research works such as the
well-established CAMELEON reference framework [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
CAMELEON represents user interfaces on multiple levels
of abstraction: (1) Task Models can be represented as
ConcurTaskTrees [
        <xref ref-type="bibr" rid="ref21">20</xref>
        ] and Domain Models as UML class
diagrams, (2) Abstract User Interface (AUI), represents the
UI independent of any modality (e.g., graphical, voice,
etc.), (3) Concrete User Interface (CUI), represents the UI
as concrete widgets (e.g., buttons, labels, etc.), and (4)
Final User Interface (FUI), is the running UI rendered in a
presentation technology. The model-driven approach to UI
development can serve as a basis for devising adaptive UIs
due to the possibility of applying different types of
adaptations on the various levels of abstraction [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Out of
the levels of abstraction presented by CAMELEON, the
CUI will be given particular attention in this paper since it
embodies the designer’s ingenuity. Designer input on the
CUI is particularly promoted by indicating that it would be
better if the designer can manipulate a concrete object
rather than its abstraction [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. By following such
recommendations, we can say that the designer should be
allowed to create a CUI rather than completely generating it
from an abstract model. Yet even though some approaches
might offer designers with the ability to create CUIs, upon
applying the adaptive UI behavior the designer’s choices
are bound to change according to the adaptive UI behavior
particular to a given context-of-use. Nevertheless, in certain
cases designers would like to keep some UI characteristics
intact. We think this could be achieved by providing
nontechnical UI designers with a simple technique for assigning
constraints on the CUI. These constraints could be taken into
consideration and preserved at a later stage when the UI is
being automatically adapted to a particular context-of-use.
The steps illustrated in Figure 1 show where our proposed
technique fits in the process of developing adaptive
modeldriven UIs. We can see that the constraints are added by the
designer in Step 2 after adjusting the CUI design. Later, in
Step 4 when the adaptation engine applies the adaptive
behavior it preserves the designer’s constraints.
      </p>
      <p>The remainder of this paper is structured as follows. The
next section briefly describes the related work. Then, an
example is given to highlight the importance of preserving
designer input on the CUI. Later, our approach to applying
CUI constraints is described. Finally, the conclusions and
future work are given.</p>
      <p>
        RELATED WORK
By observing the literature we can categorize UI adaptation
approaches under the following categories:
 Adaptable UIs allow interested stakeholders to manually
adapt the desired characteristics
 Adaptive UIs automatically react to a change in the
context-of-use by changing one or more of their
characteristics using a predefined set of adaptation rules
 Truly Adaptive UIs can automatically react to a change in
the context-of-use but are also capable of reacting to
contexts-of-use that were previously unknown
Adaptable UIs fully support manual designer input, which
provides an advantage in terms of applying the knowledge
of a human designer but has a downside in terms of high
development time. Both Adaptive and Truly Adaptive UIs
provide a higher level of automation through the ability of
adapting the UI using generic rules but even though the
rules are meant to produce an optimal UI based on the
context-of-use, in some cases the input of the human
designer can be essential (e.g. widget size, position, etc.).
Raneburger et. al. presented an approach to automated
generation of WIMP style UIs. They attempt to enhance the
quality of the generated UIs by using a graphical tree editor
to add hints to the transformations (e.g., the alignment of a
widget) [
        <xref ref-type="bibr" rid="ref23">22</xref>
        ]. One problem is that UI designers might only
work on the CUI level and the specification of the model
transformations would be left to the developers. Also, the
authors state that a graphical “what you see is what you get”
(WYSIWYG) editor similar to the one presented by the
Gummy [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] system would improve on their approach.
Supple is primarily capable of automatically generating UIs
that are adapted to each user’s motor abilities by treating UI
generation as an optimization problem [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Yet, although
the authors mention that Supple is not intended to replace
human designers, the system only relies on a high level
model to generate its final UI thereby preventing designer
input from being made on the CUI level.
      </p>
      <p>
        DynaMo-AID [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] is presented as part of the Dygimes UI
creation framework. It incorporates a design process for the
development of context-aware UIs that are adaptable at
runtime. Like Supple this system focuses on a high level UI
representation (task models), which is used for automatic
generation of the CUI.
      </p>
      <p>
        MASP [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] provides designers with a graphical design tool
to support the creation of layout models, which are later
interpreted at runtime for supporting adaptive UI behavior.
Although the tool supports designer input, no mechanism is
offered for maintaining this input after the adaptive
behavior is applied.
      </p>
      <p>
        Smart templates are proposed for improving automatic
generation of ubiquitous remote control UIs on mobile
devices [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. Although these templates improve the ability
of preserving designer input, specifying the various
template variations could be time consuming and would be
classified under adaptable rather than adaptive behavior.
AN EXAMPLE OF USER INTERFACE CONSTRAINTS
We developed a mechanism called Role-Based User
Interface Simplification (RBUIS) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] for simplifying UIs by
minimizing their feature-set and optimizing their layout
based on the context-of-use (user, platform, environment).
We define a minimal feature-set as the set with the least
features required by a user to perform a job. An optimal
layout is the one that maximizes satisfaction of the
constraints imposed by a set of aspects such as computer
skills, culture, etc. An optimal layout is obtained by adapting
the properties of concrete widgets (e.g., type, grouping,
size, location, etc.). In RBUIS, the feature-set is minimized
by applying roles to task models and the layout is optimized
by executing adaptive behavior workflows on the CUI. The
workflows can embody visual and code-based constructs.
RBUIS is based on the CEDAR architecture [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] and uses
interpreted runtime models for the adaptation. Nevertheless,
the designer can still create an initial fully-featured CUI.
The feasibility of adapting a least constrained UI design
was shown in a previous research [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. RBUIS follows a
similar approach by adapting an initial UI that is without
constraints in terms of the feature-set and least constrained
in terms of the layout (e.g., least constrained screen size).
Adaptive UI behavior such as removing and adding widgets
could leave gaps and deformations in the layout, which are
not esthetically desirable and could increase the navigation
time according to Fitts’s Law. A mechanism is needed for
maintaining plasticity, denoting the UI’s ability to adapt to
the context-of-use while preserving its usability [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. Hence,
we can consider layouting as one example of UI constraints
that could be influenced by choices made by a human
designer rather than merely automated choices. The
example illustrated in Figure 3 is that of a sales invoice UI,
usually common in enterprise applications such as
enterprise resource planning systems. Let us consider that
we would like to apply RBUIS to this UI in order to
minimize its feature-set for a role that does not require all
the initial features. The examples shown in Figure 4 and
Figure 5 are two possible layouting alternatives that could
be produced after eliminating the undesirable features from
the UI. The differences between the two versions are the
layouting choices related to group boxes “a” and “b” on one
hand, and data grid “c” and text box “d”. In Version 1, shown
in Figure 4, the width of group box “b” is increased in order
to prevent scrolling but this is at the expense of the width of
group box “a”, whereas in Version 2 shown in Figure 5 the
opposite is done. Also, in Version 1 the width of text box
“d” is increased at the expense of the height of data grid “c”
whereas in Version 2 an opposite choice is made. In both
cases there are no absolute right and wrong choices. Such
choices depend on what the human designer thinks is more
appropriate. Is giving more room for data entry in the fields
of group box “a” and the text box in group box “d” more
important than showing additional items on the screen in
the radio button groups of group box “b” and data grid “c”?
When an algorithm makes the choice between Versions 1
and 2 without providing any rationale, critics are going to
deem adaptive UIs as being unpredictable. Empowering
human designers could strike a balance between automation
and human intelligence to increase adaptive UI predictability.
CONCRETE USER INTERFACE CONSTRAINTS
In many cases UIs are designed by non-technical designers.
Also, in another work we have highlighted the possibility of
engaging end-users in the UI adaptation process [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
Therefore, we think that the constraints we are proposing
should be kept simple in order to be implementable by the
non-technical stakeholders. We devised a basic
metamodel, illustrated in Figure 2, to reflect such constraints.
Since each CUIElement has Properties, Constraints can be
attached to these properties in order to reflect designer
related choices regarding their values. A Constraint simply
has a comparison operator (e.g., “&gt;”, “&lt;”, “=”, etc.) and a
value for comparison. In order to have a practical approach
that promotes easier constraint assignment, a constraint’s
value should not necessarily be exact. It can be absolute or
relative, quantitative or qualitative. For example, a constraint
on the width of a widget could be “&gt; 100” or it could be “=
Large”. It is possible to define ranges for such values or
leave the decision to the adaptation engine to be made
according to a given context and UI. Let us consider group
boxes “a” and “b” presented in both Figure 4 and Figure 5.
If the designer specified that the width of group box “a”
should be “Medium” whereas that of group box “b” should
be “Large” then the version in Figure 4 would be chosen
and vice-versa. The same could work for data grid “c” and
text box “d”. The designer also has the ability to allocate
each Constraint to a Priority Class in order to indicate
which constraint would get eliminated in case a conflict
occurs between two or more constraints. If conflicts still
exist even with the priority classes, the system will then
have to eliminate one at random. A Constraint can be one
of two types: Strict or Lenient. For example, a lenient
equality constraint indicates that the original value can be
changed to close values whereas if it were strict it would
mean that the value should be exactly the same but it can
still be dropped in case of a conflict. The coming section
explains how we distinguish explicit and implicit constraints
and our proposition for applying them in practice.
APPLYING CONCRETE UI CONSTRAINTS
Cedar Studio is our integrated development environment
(IDE) for supporting the development of adaptive UIs based
on a model-driven approach [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. We consider that designer
constraints can be explicitly or implicitly specified. Explicit
constraints are specified by the designer on the CUI
properties whereas implicit constraints can be deduced from
the design made on the canvas itself such as widget
ordering and positioning relative to other widgets.
Explicit Constraints
We extended the CUI designer of Cedar Studio to support
the addition of explicit designer constraints. Let us
considers a basic example that requires such constraints and
propose a technique for applying it in practice. Consider
that the “Phone Numbers” grid (Figure 6 – a) should be
eliminated for a given context-of-use. The layouting engine
will be faced with two choices, either filling the space by
increasing the width of the “Note” (Figure 6 – b) or by
increasing the height of the “Picture” (Figure 6 – c). If the
designer adds a constraint as shown in Figure 6 – d to
indicate that the “Note” should have a “Large” width, the
system should be able to incorporate this choice in a
constraint problem that can be passed to a constraint solver.
      </p>
      <p>Listing 1. Constraint Problem Written in Python on Z3Py
1. #variables to hold the final calculated width of the widgets
2. noteWidth, pictureHeight = Reals('noteWidth pictureHeight')
3. #initial width of the note and picture widgets
4. initialNoteWidth,initialPictureHeight = Reals('initialNoteWidth
initialPictureHeight')
5. initialNoteWidth = 250; initialPictureHeight = 200
6. #the height and width of the canvas holding the widgets
7. canvasWidth, canvasHeight = Reals('canvasWidth</p>
      <p>
        canvasHeight')
8. canvasWidth = 300; canvasHeight = 200
9. solve (
#the two possibilities
(noteWidth == canvasWidth and pictureHeight ==
initialPictureHeight) or
(noteWidth == initialNoteWidth and pictureHeight ==
canvasHeight),
#constraint based on the designer's input
noteWidth == max(canvasWidth, initialNoteWidth))
The problem shown in Listing 1 is expressed in Python and
is relevant to the example demonstrated in Figure 6. It
defines two variables “noteWidth” and “pictureHeight” to
hold the calculated values of the widget properties. It takes
as input the initial property values (“initialNoteWidth” and
“initialPictureHeight”) and the height and width of the
canvas (“canvasHeight” and “canvasWidth”) that are the
possible values that these properties can take. The two
possibilities at hand are either resizing the width of the
“Note” widget to fit the canvas width and keeping the
height of the “Picture” widget intact or vice-versa. Since the
designer specified a constraint stating that the “Note” width
should be “Large”, the problem was supplied with a
constraint “noteWidth == max (canvasWidth, initialNoteWidth)”
in order to choose the largest possible value. Running the
problem on the Z3Py [
        <xref ref-type="bibr" rid="ref25">24</xref>
        ] constraint solver yields the
following result: “[noteWidth = 300, pictureWidth = 200]”.
The yielded values could be applied to the relevant CUI
element properties to obtain an adapted user interface that
preserves designer input.
Implicit Constraints
An implicit layouting constraint that we worked on as part
of the layouting algorithm supporting RBUIS is related to
the relative widget positioning and ordering specified by the
designer. Upon eliminating parts of the UI in Figure 7 – a to
minimize its feature-set for a particular context-of-use as
shown in Figure 7 – b, this algorithm would be responsible
for refitting the UI by removing the gaps. The example in
Figure 7 – c shows how the widgets are pushed upwards
beneath the closest widget. Deducing implicit constraints
from the design made on the canvas saves the designer the
effort of adding these constraints separately.
      </p>
      <p>Algorithm 1. UI Refitting Written in C# (Excerpt)
while (ctrsAbove.Count() == 0 &amp;&amp; reverseLineCounter &gt;= 0)
{
The part of our algorithm that pushes the widgets upwards
is shown in Algorithm 1. We implemented the implicit
constraints as a layouting algorithm due to its simplicity in
comparison to having to generate a constraint problem such
as the one shown in Listing 1. For example, the
implementation excerpt shown in Algorithm 1 splits the
CUI controls into ordered lines and moves each widget
beneath the one above it from one of the previous lines.
Expressing this algorithm as a separate constraint problem
for different contexts would have been more difficult than
writing one generic solution.</p>
      <p>CONCLUSIONS AND FUTURE WORK
This paper presented a work-in-progress technique that
allows designers to supply CUI constraints that would be
maintained after applying automated adaptations. We
categorized these constraints as explicit and implicit.
Explicit constraints are specified by the designer on the
CUI properties whereas implicit constraints can be deduced
from the design made on the canvas such as widget
ordering and positioning. Both types of constraints can be
specified using our IDE Cedar Studio. We proposed the
generation of constraint problems that could be solved by
constraint solvers to satisfy explicit constraints. On the
other hand we implemented implicit constraints relevant to
widget positioning and ordering as a layouting algorithm.
More work is still required to make the proposed technique
applicable in practice. A primary point would be devising
an algorithm that would convert explicit designer constraints
into a constraints problem such as the one shown in Listing
1. This algorithm should then be utilized by the adaptation
engine in combination with the algorithm for refitting the
UI based on implicit constraints in order to maintain the
designer’s input upon adapting the user interface. When this
part is accomplished, then we can comprehensively test
both explicit and implicit constraints in a real-life scenario
by measuring the extent to which the usability is preserved
and the efficiency of the technique.</p>
      <p>
        Our solution is intended for allowing designers to add any
type of constraints that can be applied on the properties of
the concrete UI widgets. The incorporation of this solution
in a generic IDE like Cedar Studio allows extensions to be
made in the future. One possible extension would be
supplying UI designers with the ability to automatically
check the initial design (implicit constraints) based on
general ergonomic rules [
        <xref ref-type="bibr" rid="ref24">23</xref>
        ] or to add these rules as
explicit constraints. Another possibility is to use such
ergonomic rules for prioritizing constraints in order to allow
the system to make an informed decision when it faces two
conflicting constraints that were assigned the same priority
by the human designer.
      </p>
      <p>ACKNOWLEDGMENT
This work is partially funded by ERC Advanced Grant
291652.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Akiki</surname>
            ,
            <given-names>P.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bandara</surname>
            ,
            <given-names>A.K.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          <article-title>Using Interpreted Runtime Models for Devising Adaptive User Interfaces of Enterprise Applications</article-title>
          .
          <source>Proceedings of the 14th International Conference on Enterprise Information Systems</source>
          , SciTePress (
          <year>2012</year>
          ),
          <fpage>72</fpage>
          -
          <lpage>77</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Akiki</surname>
            ,
            <given-names>P.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bandara</surname>
            ,
            <given-names>A.K.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          <article-title>RBUIS: Simplifying Enterprise Application User Interfaces through Engineering Role-Based Adaptive Behavior</article-title>
          .
          <source>Proceedings of the fifth ACM SIGCHI Symposium on Engineering Interactive Computing Systems</source>
          , ACM (
          <year>2013</year>
          ), Forthcoming.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Akiki</surname>
            ,
            <given-names>P.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bandara</surname>
            ,
            <given-names>A.K.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          <article-title>Crowdsourcing User Interface Adaptations for Minimizing the Bloat in Enterprise Applications</article-title>
          .
          <source>Proceedings of the fifth ACM SIGCHI Symposium on Engineering Interactive Computing Systems</source>
          , ACM (
          <year>2013</year>
          ), Forthcoming.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Akiki</surname>
            ,
            <given-names>P.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bandara</surname>
            ,
            <given-names>A.K.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          <string-name>
            <surname>Cedar Studio</surname>
          </string-name>
          :
          <article-title>An IDE Supporting Adaptive Model-Driven User Interfaces for Enterprise Applications</article-title>
          .
          <source>Proceedings of the fifth ACM SIGCHI Symposium on Engineering Interactive Computing Systems</source>
          , ACM (
          <year>2013</year>
          ), Forthcoming.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Benyon</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <article-title>Adaptive systems: A solution to usability problems. User Modeling and User-</article-title>
          <source>Adapted Interaction 3</source>
          , 1 Springer (
          <year>1993</year>
          ),
          <fpage>65</fpage>
          -
          <lpage>87</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Calvary</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Coutaz</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thevenin</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Limbourg</surname>
            ,
            <given-names>Q.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bouillon</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Vanderdonckt</surname>
            ,
            <given-names>J. A Unifying</given-names>
          </string-name>
          <string-name>
            <surname>Reference</surname>
          </string-name>
          <article-title>Framework for Multi-Target User Interfaces</article-title>
          .
          <source>Interacting with Computers 15 Elsevier</source>
          (
          <year>2003</year>
          )
          <fpage>289</fpage>
          -
          <lpage>308</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Clerckx</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Luyten</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Coninx</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          <article-title>DynaMo-AID: a Design Process and a Runtime Architecture for Dynamic Model-Based User Interface Development</article-title>
          .
          <source>Proceedings of the 2004 International Conference on Engineering Human Computer Interaction and Interactive Systems</source>
          , Springer-Verlag (
          <year>2004</year>
          ),
          <fpage>11</fpage>
          -
          <lpage>13</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Coutaz</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <article-title>User Interface Plasticity: Model Driven Engineering to the Limit! Proceedings of the 2nd ACM SIGCHI Symposium on Engineering Interactive Computing Systems</article-title>
          , ACM (
          <year>2010</year>
          ),
          <fpage>1</fpage>
          -
          <lpage>8</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Demeure</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Meskens</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Luyten</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Coninx</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          <article-title>Design by Example of Graphical User Interfaces adapting to available screen size</article-title>
          . In V.
          <string-name>
            <surname>Lopez-Jaquero</surname>
            ,
            <given-names>J.P.</given-names>
          </string-name>
          <string-name>
            <surname>Molina</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Montero</surname>
          </string-name>
          and J. Vanderdonckt, eds.,
          <article-title>Computer-Aided Design of User Interfaces VI</article-title>
          .
          <source>SpringerVerlag</source>
          (
          <year>2009</year>
          ),
          <fpage>277</fpage>
          -
          <lpage>282</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Feuerstack</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Blumendorf</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schwartze</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Albayrak</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <article-title>Model-based Layout Generation</article-title>
          .
          <source>Proceedings of the Working Conference on Advanced Visual Interfaces</source>
          ,
          <source>ACM</source>
          (
          <year>2008</year>
          ),
          <fpage>217</fpage>
          -
          <lpage>224</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Findlater</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          and
          <string-name>
            <surname>McGrenere</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <article-title>A Comparison of Static, Adaptive, and Adaptable Menus</article-title>
          .
          <source>Proceedings of the SIGCHI Conference on Human Factors in Computing Systems</source>
          , ACM (
          <year>2004</year>
          ),
          <fpage>89</fpage>
          -
          <lpage>96</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Florins</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Vanderdonckt</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <article-title>Graceful Degradation of User Interfaces as a Design Method for Multiplatform Systems</article-title>
          .
          <source>Proceedings of the 9th International Conference on Intelligent User Interfaces</source>
          ,
          <source>ACM</source>
          (
          <year>2004</year>
          ),
          <fpage>140</fpage>
          -
          <lpage>147</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Gajos</surname>
            ,
            <given-names>K.Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weld</surname>
            ,
            <given-names>D.S.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Wobbrock</surname>
            ,
            <given-names>J.O.</given-names>
          </string-name>
          <string-name>
            <surname>Automatically</surname>
          </string-name>
          <article-title>Generating Personalized User Interfaces with Supple</article-title>
          .
          <source>Artificial Intelligence</source>
          <volume>174</volume>
          ,
          <fpage>12</fpage>
          -13
          <string-name>
            <surname>Elsevier</surname>
          </string-name>
          (
          <year>2010</year>
          ),
          <fpage>910</fpage>
          -
          <lpage>950</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>McGrenere</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Baecker</surname>
            ,
            <given-names>R.M.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Booth</surname>
            ,
            <given-names>K.S.</given-names>
          </string-name>
          <article-title>An Evaluation of a Multiple Interface Design Solution for Bloated Software</article-title>
          .
          <source>Proceedings of the SIGCHI Conference on Human Factors in Computing Systems</source>
          , ACM (
          <year>2002</year>
          ),
          <fpage>164</fpage>
          -
          <lpage>170</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Meskens</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vermeulen</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Luyten</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Coninx</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          <article-title>Gummy for Multi-Platform User Interface Designs: Shape me, Multiply me, Fix me</article-title>
          ,
          <article-title>Use me</article-title>
          .
          <source>Proceedings of the Working Conference on Advanced Visual Interfaces</source>
          ,
          <source>ACM</source>
          (
          <year>2008</year>
          ),
          <fpage>233</fpage>
          -
          <lpage>240</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Myers</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hudson</surname>
            ,
            <given-names>S.E.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Pausch</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Past</surname>
          </string-name>
          , Present, and
          <article-title>Future of User Interface Software Tools</article-title>
          .
          <source>ACM Transactions on Computer-Human Interaction 7</source>
          ,
          <string-name>
            <surname>1</surname>
            <given-names>ACM</given-names>
          </string-name>
          (
          <year>2000</year>
          ),
          <fpage>3</fpage>
          -
          <lpage>28</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Nebeling</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Norrie</surname>
          </string-name>
          , M.C.
          <article-title>Tools and Architectural Support for Crowdsourced Adaptation of Web Interfaces</article-title>
          .
          <source>Proceedings of the 11th International Conference on Web Engineering</source>
          , Springer-Verlag (
          <year>2011</year>
          ),
          <fpage>243</fpage>
          -
          <lpage>257</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Nichols</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Myers</surname>
            ,
            <given-names>B.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Higgins</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , et al.
          <article-title>Generating Remote Control Interfaces for Complex Appliances</article-title>
          .
          <source>Proceedings of the 15th annual ACM Symposium on User Interface Software and Technology</source>
          , ACM (
          <year>2002</year>
          ),
          <fpage>161</fpage>
          -
          <lpage>170</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Nichols</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Myers</surname>
            ,
            <given-names>B.A.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Litwack</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          <article-title>Improving Automatic Interface Generation with Smart Templates</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          <source>Proceedings of the 9th International Conference on Intelligent User Interfaces</source>
          ,
          <source>ACM</source>
          (
          <year>2004</year>
          ),
          <fpage>286</fpage>
          -
          <lpage>288</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          20.
          <string-name>
            <surname>Paternò</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mancini</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Meniconi</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <article-title>ConcurTaskTrees: A Diagrammatic Notation for Specifying Task Models</article-title>
          .
          <source>Proceedings of the IFIP TC13 Interantional Conference on Human-Computer Interaction</source>
          , Chapman &amp; Hall,
          <string-name>
            <surname>Ltd.</surname>
          </string-name>
          (
          <year>1997</year>
          ),
          <fpage>362</fpage>
          -
          <lpage>369</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          21.
          <string-name>
            <surname>Pleuss</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Botterweck</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Dhungana</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <article-title>Integrating Automated Product Derivation and Individual User Interface Design</article-title>
          .
          <source>Proceedings of the Fourth International Workshop on Variability Modelling of Software-Intensive Systems, Universitat Duisburg-Essen</source>
          (
          <year>2010</year>
          ),
          <fpage>69</fpage>
          -
          <lpage>76</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          22.
          <string-name>
            <surname>Raneburger</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Popp</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Vanderdonckt</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <article-title>An Automated Layout Approach for Model-Driven WIMPUI Generation</article-title>
          .
          <source>Proceedings of the 4th ACM SIGCHI Symposium on Engineering Interactive Computing Systems</source>
          , ACM (
          <year>2012</year>
          ),
          <fpage>91</fpage>
          -
          <lpage>100</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          23.
          <string-name>
            <surname>Vanderdonckt</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Bodart</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <article-title>The “Corpus Ergonomicus”: A Comprehensive and Unique Source for Human-Machine Interface</article-title>
          .
          <source>Proceedings of the 1st International Conference on Applied Ergonomics</source>
          , USA Publishing (
          <year>1996</year>
          ),
          <fpage>162</fpage>
          -
          <lpage>169</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          24.
          <string-name>
            <surname>Microsoft</surname>
          </string-name>
          <article-title>Z3Py</article-title>
          . http://rise4fun.com/z3py.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>