=Paper=
{{Paper
|id=Vol-445/paper-11
|storemode=property
|title=Web User Interface Generation for Multiple Platforms
|pdfUrl=https://ceur-ws.org/Vol-445/02icwe2008ws-iwwost11-martinez-ruiz.pdf
|volume=Vol-445
|dblpUrl=https://dblp.org/rec/conf/icwe/Martinez-RuizVA08
}}
==Web User Interface Generation for Multiple Platforms==
ICWE 2008 Workshops, 7th Int. Workshop on Web-Oriented Software Technologies – IWWOST 2008
Web User Interface Generation for Multiple Platforms
Francisco J. Martínez-Ruiz1, Jean Vanderdonckt1, Jaime Muñoz Arteaga2
1
Université catholique de Louvain, Louvain School of Management
Place des Doyens, 1 – B-1348 Louvain-la-Neuve, Belgium
2
Universidad Autónoma de Aguascalientes, Centro de Ciencias Básicas.
Av. Universidad 940, CP. 20100, Aguascalientes, Mexico
martinez@isys.ucl.ac.be, jean.vanderdonckt@uclouvain.be, jmunozar@correo.uaa.mx
Abstract (SPA) [17]. In this kind of web applications, the behavior
and content of a single web page is changed though dy-
In order to produce Web User Interfaces tailored for namic modifications of the Document Object Model
multiple platforms. This paper introduces an algorithm for (DOM) that represents the web page. That is, SPAs need
semi-automated generation of user interface containers to deal with container structures which are dynamically
based on a task model. User interface containers are first transiting from visible/focused to invisible/unfocused
derived from the configuration of a task model and then status. For instance, there are many item-grouping librar-
refined according to parameters characterizing user and ies in the GUI world (e.g. Java layout managers). These
computing platform. In this way, it is possible to render libraries follow a general schema that we depicted in
container structures for user interfaces in a specific lan- fig. 1: First, we have a frontier-component that serves as
guage and platform. a foundation canvas for the application. Second, an unde-
fined number of containment elements following an initial
1. Introduction order of presentation. They are ordered but they can be
presented to the user in a rotation of states from visi-
The design of User Interfaces involves a process of ble/available to invisible/non available.
gathering tasks (i.e. they are used as building blocks in
order to describe the goal pursuit by the software applica-
tion). Task hierarchies are abstract representations. There-
fore, they are translated into more physical structures. The
arrangement of these structures is not a trivial process in
most of the cases. Applications are distributed over a cer-
tain number of containment structures due to temporal,
spatial and cognitive load limitations. Instead of reducing Figure 1. An example of the layers.
these constraints to mere boundaries is possible to extract
relevant information that could guide our designing proc- The rest of this paper is organized as follows: Section 2
ess. For instance, if the container generation is aware of discuss the state of the art in the creation of containers.
platform requirements in early stages of development, Section 3 introduces some theory in Task models and
then it could prevent the rupture of related task groups (or model driven engineering domains. Then Section 4 covers
the gathering or unrelated ones). In this paper we tackle the description of our method. And finally section 5 pre-
these problems taking into account the semantic informa- sents conclusions and future work.
tion coming from a neutral description of the UI, applying
a set of rules based on heuristic knowledge of the relation- 2. State of the art
ship between operators and the introduction of a metric for
weighting abstract containment structures. The difficulties that arise when you design containers
The design of a UI in the Web domain implies the divi- include: First, how to solve the problem of distribution the
sion of the application into Web pages. Each one covers UI over the available physical space since the size of the
some tasks of the application. However, the page meta- view is finite and as a consequence (in the non trivial UIs)
phor is moving to the Single Page Application approach we have to divide the UI in multiple views, this issue is
63
ICWE 2008 Workshops, 7th Int. Workshop on Web-Oriented Software Technologies – IWWOST 2008
treated in [1, 4, 8]. Also this perspective tries to solve the 3. Model Driven Engineering Approach
container problem in terms of available space (i.e., geo-
metrical constraints [15, 21] or more general restric- Our methodology is supported by a Model driven engi-
tions [12]); the nature of the problem is NP-complex [8]. neering approach (http://www.omg.org/). We are going to
Second, how to determinate the acceptable frontier points present its core elements: the CAMELEON frame-
that should be respected to create a coherent hierarchy of work [22], UsiXML [20] and the CTT task model [13].
views. This process requires more knowledge (over the
simple layout structure that is treated as proposed in [9, 3.1 CAMELEON Framework
10, 14] but with limitations in the recovery of information
over the physical restrictions) to avoid grouping unrelated The design of UIs using a model based approach that
elements or breaking groups. The place to get this infor- includes features as Multi-level abstraction and Modality
mation in the following papers is a meta-description of the independence [16] requires the use of a framework to deal
UI that is built in terms of a set of tasks: a task model. In with the complexity of the process. We are using the
[3, 5, 13, 20] is created a hierarchy of widgets to define in CAMELEON framework [22]. This framework divides
a device independent way the UI and use a bottom-up the development process in four successive levels of ab-
algorithm that is based in the condition of “splittable” or straction: Task and concepts (T&D), Abstract User Inter-
not of the nodes (The nodes of the tree can be labeled as face (AUI), Concrete User Interface (CUI) and Final User
splittable or un-splittable) and from there looking for the Interface (FUI). The UI is represented in the User Inter-
highest ancestor of the node and the resultant sub tree is face Description Language, UsiXML (UsiXML which
marked as a page. Nevertheless, the process does not in- stands for User Interface eXtensible Markup Language).
clude temporal information from the task model and the This language provides the representation of the UI in the
division point is defined in a fixed way. In [18] the idea of four levels of the framework, in a design independent way
using the task model is explored but in this case the tem- and over multiple contexts e.g., Character, vocal and
poral operators are key elements to provide information of Graphical User Interfaces among others.
how divide and create the containers. The task model is
traversed in a Breadth-first search and through a set or 3.2 CTT-based task models
principles proposes the way of reducing the UI from the
less constrained platform to display it in devices with The Concur Task Tree model (CTT) is a well known
fewer capabilities in a process called “graceful degrada- technique in Computer-Human Interaction to model an
tion”. In order to create the containers in [19] again the application in an independent platform way. The task
starting point is the task model and the relationship be- model of UsiXML is implemented through CTTs. The
tween tasks is extracted from the information enclosed in objective of this model is to explain the work that the user
the domain model besides the identification of tasks re- pursuits as a hierarchy of tasks where each task is decom-
lated to fulfill user goal and supplementary tasks. In [13] posed until arriving to basic tasks. The description below
temporal operators are used to propose a presentation is very brief and a more detail description could be found
where tasks that should be enabled at the same time are in [13]. The sibling tasks (denoted as T) are related to
grouped in two sets: first and body. Here, the relevance of each other through the following binary and unary opera-
the so called first action is over-valuated while in the pro- tors: Concurrent Operators: These operators imply that T1
posed algorithm the weighting metrics are based on more and T2 are performed in any order, in a concurrent order:
parameters (specifically, task types and operators besides |=|, ||| and |[]|. Sequential operators: [>, |>, >> and []>>
the inclusion of the knowledge of the allowed deepness of these operators imply a strict sequence in the order of exe-
hierarchies in a specific technology). The last container cution of the tasks. Selection operator: [] exclusive choice
generation method is part of [20] which does not worry between T1 and T2. The unary operators include: The
for space constraint because is oriented to discover and Optional operator [T] that implies the dispensable nature
use the relationship between tasks and subtasks to create of some tasks. The Iterative operator T* that gives the
device-independent UIs. Also, there is work developed in model the faculty of describing cycles.
this area focusing the problem as an optimization task [2,
6, 7] in our proposal we are using some heuristics based in 4. Method outline
the notion of strong repercussion of the temporal operators
that are used, this is also present in [13, 20]. This paper The following section describes the proposed method
proposes as solution in the next section: a model-based to generate Web UI containers. Before going any further,
approach in order to create a feasible mapping between we have to introduce some concepts: A level is a set of
the finite layers and the task decomposition [13, 18, 19]. tasks recovered by an exploration of all nodes adjacent to
the current task node in a breadth-first search. The root by
64
ICWE 2008 Workshops, 7th Int. Workshop on Web-Oriented Software Technologies – IWWOST 2008
definition is the first level. Also we have to define the After that the procedure is repeated. The anchor node is
concept of layer which is a set conformed by each con- relocated and the climbing restarts until it reaches the root
tainment element that belongs to the same parent container node. The final product is a sub-tree called from now on:
e.g. in the right side of Fig. 1 are shown a UI with four virtual container (VC). A formal description of the algo-
layers. rithm is presented in Fig. 5.
In order to clarify the explanation a case study is pre- The definition of layers is done in terms of heuristic
sented (see Fig. 2). A sub-tree will be updated after each notions. Most of platforms do not impose a fixed nor static
step of the method. number of layers then we have to define an approximated
value. For instance, in Fig. 4 the possible number of layers
of four devices is presented as a guide to the designer.
Next we present the result for the case of three layers in
Fig. 6 (in this case the procedure delivers four containers).
Figure 2. Task Tree Model of Bookmark manager.
4.1 Recovery of sub trees
The first step is the identification of levels (see Fig. 3). Figure 4. Features of four platforms.
The case study includes eight levels (according to the
given definition). Then sub-trees are created using as pa-
rameter the number of layers acceptable in the target plat-
form. The procedure is as follows. The algorithm starts
a bottom-up climbing of the tree searching the parent node
at the nth layer. The starting point, called anchor node (see
Fig. 3a) is the deepest and the most left positioned leaf
node (in order to respect any possible sequence operator).
Figure 5. Algorithm for generating Virtual
Containers.
4.2 The generation of the internal structure
The second step is the evaluation of the internal structure of each
container. This in turn provides us with the required information
to generate the hierarchy of inner containers. This process is
based on the generation of abstract containers [20] and we have
to remember that the root task since is an inner node is marked
as container not as a work to do (for instance, get or retrieve
a value). Now in order to reduce the complexity of the process
we are going to mark each level as a set of inner nodes if any
sibling is a branch parent (e.g. Fig. 7, sections 7a and 7b are
inner nodes), otherwise they are marked as leaves (see Fig. 7c).
Then (1) is applied to each set of nodes (for instance Figs. 7a
Figure 3. Levels and first anchor of task tree (a). to 7c).
65
ICWE 2008 Workshops, 7th Int. Workshop on Web-Oriented Software Technologies – IWWOST 2008
process of propagation of the control widgets e.g. the
“close task” that is member of the first container (Fig. 6a).
Figure 8. Example of application of G(n).
Figure 6. Virtual Containers generated.
Figure 9: The process of generating containers.
Figure 7. A simplified version of a VC (Fig. 6d).
Let I and L denote the sets of inner and leafs nodes, re-
spectively. Let op denote the operator set formed by {C, F,
and S} Where C is the set of all concurrent operators. F is
the Selection operator and S is the set of sequential opera-
tors. Let T denote the analyzed task set. Finally, let n de-
note the amount of generated containers.
⎧B(n) ∪0 ← T ∈ I ∧ op∈C
⎪ 0 ← T ∈ L ∧ op∈C
⎪
⎪ n ← T ∈ I ∧ op∈ F
G(n) = ⎨ (1)
1 ← T ∈ L ∧ op∈ F
⎪
⎪ n ← T ∈ I ∧ op∈ S
⎪
⎩ 0 ← T ∈ L ∧ op∈ S
Without the presence of any restriction the number of Figure 10. A configuration with 6 container
configurations to generate is equivalent to the problem of units (C1).
location of elements in a set of boxes (see Bell numbers This task should be available in all the UI then it should
algorithm). For instance, the hypothetical VC from Fig. 8a be propagated. The process is straightforward: the task is
with three concurrent tasks (A, B and C) has six possible integrated to each children container (see Fig. 10a). It is
containment configurations according to (1). This process important to remember that inner nodes as ChangeBMDe-
is presented as a formal algorithm in Fig. 9. tails in Fig. 10b are removed but her name should be
Now consider the VC (Fig. 6d) of the case study and in propagated in their children containers (e.g, container 10c
this situation is possible to deliver three configurations could be named ChangeBMDetails.showBMParameters in
(see Figs. 10, 11 and 12). Another point of interest is the order to preserve information of the task hierarchy).
66
ICWE 2008 Workshops, 7th Int. Workshop on Web-Oriented Software Technologies – IWWOST 2008
4.3 Choosing the configuration
After the generation of the container structures comes
a weighting process, based on the values of table 1. Once
again the process involves exploiting semantic informa-
tion (now from task types and operators).
Fig. 13. Cost of each container in updateBM VC.
Now, we have to present to the designer the most suit-
able configuration and for that we are going to use a clas-
sic metric, the weighted average. Then, the configurations
Figure 11. A configuration with 4 containers (C2). with lower cost are presented to the user. The weights are
related with the number of layers that previously we have
defined as constraint of the VC containers. Finally, ac-
cording to the result of table 2 we should suggest our
user/designer the configuration C2 (Fig. 11). The process
of transformation from task model to AUI is out of the
scope of this paper since it is discussed in [3, 20].
4.4 Navigational tasks
The method at this point could deliver three AUIs con-
nected with navigation elements. For instance, the way of
connected the UIs could be seen more clearly in the prob-
lem of the fragmentation of the sub tree depicted in Fig.
6e, there the task Update is a sub task of an upper tree
besides it is the root node of other container. Then, the
approach taken to resolve this situation is the introduction
in the upper container of a navigation component pointing
Figure 12. A configuration with 5 containers (C3). to the lower one. A fundamental consideration is the fact
that the proposed method (for the moment) is not looking
Then we count all the exposed items of the container optimization. Instead of that it wants to provide the de-
(leaf task and operators) using a breadth-first walk while signer with plausible scenarios.
the inner containers would be seen as black boxes and
dismissed in order to apply (2). 5. Conclusion and future work
value = ∑ tasks × w + ∑ operators × w (2) In this paper we have presented an alternative method
for the semi-automatic generation of the hierarchy of con-
It is worth noting that weight values are based on heu-
tainers that compose a UI. This method is based on the
ristics notions of the importance and complexity of the
recovery of semantic information extracted from the tree
task types and operators and it is a pending task an evalua-
structure and the operator types. The data is extracted
tion of current values (as well as the layer weights). Now,
from the topology of the tree and the operators interacting
it is presented in Fig. 13 the three configurations (Figs. 10,
with the tasks. The result is a feasible UI well balanced
11 and 12) as simplified weight trees. Nodes are labeled
over the layers also flexible enough to allow the developer
with their weight and the external value indicates the con-
select alternative configurations.
tainer label (Note: Fig. 13a show the weighting process).
67
ICWE 2008 Workshops, 7th Int. Workshop on Web-Oriented Software Technologies – IWWOST 2008
Table 1. Weight of task tree elements. [6] Fogarty, J. and Hudchildren, S.E. GADGET: A Toolkit for
Optimization-based Approaches to Interface and Display
Weight Items to process Generation. In Proc. of UIST’03, ACM Press (2003).
[7] Gajos, K. and Weld, D.S. SUPPLE: Automatically Gener-
Task Operator ating User Interfaces. In Proc. of IUI’2004, ACM Press
Type Type (2004), 93-100.
[8] Lim, A. and Zhang, X. The Container Loading Problem. In
8 - Concurrent Proc. of SAC’05, ACM Press (2005).
[9] Lok, S. and Feiner, S.K. The AIL Automated Interface
4 Interactive Choice Layout System. In Proc. of IUI’02, pp. 202-203.
2 Application Sequence [10] Lok, S., Feiner, S., and Ngai, G. Automated User Interface
Generation: Evaluation of Visual Balance for Automated
Layout. In Proc. of IUI’04, pp. 101-108.
Table 2. Weighted average of the containers. [11] Mori, G., Paternò, F., and Santoro, C. Design and Devel-
opment of Multi-device User Interfaces through Multiple
Layers Weight Calculated cost per level Logical Descriptions. IEEE Trans. Software Eng. 30, 8
C1 (2004), pp. 507-520.
C2 C3
[12] Nichols, J., Myers, B.A., Higgins, M., Hughes, J., Harris,
1 3 8 16 0 T.K., Rosenfeld, R., and Pignol, M. Generating Remote
Control Interfaces for Complex Appliances. In Proc. of
2 1 8 54 16 UIST’02, ACM Press (2002).
[13] Paternò, F., Model-Based Design and Evaluation of Inter-
3 2 54 0 54 active Applications. Springer-Verlag, London, 1999.
[14] Ponnekanti, S., Lee, B., Fox, A., Hanrahan, P., and Wino-
Weighted average 23.33 17 20.66
grad, T. ICrafter: A Service Framework for Ubiquitous
Computing Environments. In Proc. of Ubicomp’ 2001,
This method could help in fast prototyping as well as in Springer-Verlag (2001) pp. 56-75.
exploration of news containment dispositions. Addition- [15] Sears, A. AIDE: A Step Toward Metric-based Interface
ally, this method is platform independent since we only Development Tools. In Proc. of UIST’95, pp. 101-110.
deal with an abstract definition of the UI. Finally, we are [16] Vanderdonckt, J. A MDA-Compliant Environment for De-
going to explore the integration of the algorithm into an veloping User Interfaces of Information Systems. In Proc.
editor tool in order to make extensive tests. of CAiSE'05, Springer-Verlag, (2005), pp. 16-31.
[17] Mahemoff, M., Ajax Design Patterns. O'Reilly & Associ-
Acknowledgements: This work was supported by Alβan, ates, Inc., USA, 2006.
the European Union Program (www.programalban.org) [18] Florins, M., Simarro, F. M., Vanderdonckt, J., and Mi-
of High Level Scholarships for Latin America, under ref- chotte, B. 2006. Splitting rules for graceful degradation of
erence E06D101371MX and by the SIMILAR network of user interfaces. In Proc. of the Working Conference on Ad-
vanced Visual interfaces. AVI '06. ACM Press, New York.
excellence, the European research taskforce creating hu-
[19] C. Pribeanu, J. Vanderdonckt, Exploring Design Heuristics
man-machine interfaces SIMILAR to human-human com- for User Interface Derivation from Task and Domain Mod-
munication under reference FP6-IST1-2003-507609 els, Chapter 9, in Proceedings of 4th Int. Conf. on Com-
(www.similar.cc). puter-Aided Design of User Interfaces CADUI'2002,
Kluwe Academics Pub., Dordrecht, 2002.
References [20] Limbourg, Q., Vanderdonckt, J., Michotte, B., Bouillon, L.,
[1] Badros, G.J. Borning, A., and Stuckey, P.J. The Cassowary and Lopez, V. UsiXML: a Language Supporting Multi-Path
Linear Arithmetic Constraint Solving Algorithm, ACM Development of User Interfaces, Proc. of 9th IFIP Working
Trans. on CHI 8, 4 (2001) pp. 267-306. Conf. on Engineering for Human-Computer Interaction
[2] Borning, A. and Duisberg, R. Constraint-based Tools for jointly with 11th Int. Workshop on Design, Specification,
Building User Interfaces. ACM Transactions on Graphics and Verification of Interact.Sys. EHCI-DSVIS’2004 (Ham-
5, 4 (1986) 345-374. burg, July 11-13, 2004). LNCS, Vol. 3425, Springer, 2005.
[3] Bouillon, L. and Vanderdonckt, J. Retargeting Web Pages [21] Bodart, F., Hennebert, A., Leheureux, J., and Vander-
to other Computing Platforms with VAQUITA. In Proc. of donckt, J. 1994. Towards a dynamic strategy for computer-
WCRE’2002, IEEE Computer Society Press, Los Alamitos aided visual placement. In Proceedings of the Workshop on
(2002), pp. 339-348. Advanced Visual interfaces (Bari, Italy, June 01 - 04,
[4] Chen, Y., Xie, X., Ma, W.-Y., and Zhang, H.-J. Adapting 1994). M. F. Costabile, T. Catarci, S. Levialdi, and G. San-
Web Pages for Small-Screen Devices. IEEE Internet Com- tucci, Eds. AVI '94. ACM Press, New York, NY, 78-87.
puting 9, 1 (2005), 50-56. [22] G. Calvary, J. Coutaz, D. Thevenin, Q. Limbourg, L.
[5] Chu, H., Childreng, H., Wong, C., Kurakake, S., and Bouillon, and J. Vanderdonckt, A Unifying Reference
Katagiri, M. Roam, a Seamless Application Framework. Framework for Multi-Target User Interfaces, Interacting
Journal of System and Software 69, 3 (2004), 209-226. with comp., Vol. 15, No. 3, June 2003, pp. 289-308.
68