User interface modeling: Difference between revisions

Content deleted Content added
No edit summary
m clean up, typo(s) fixed: ’s → 's
 
(32 intermediate revisions by 25 users not shown)
Line 1:
'''User Interfaceinterface Modelingmodeling''' is a development technique used by computer application programmers. Today's Useruser Interfacesinterfaces (UIs) are complex software components, which play an essential role in the usability of an application. The developmentofdevelopment of UIs requires therefore, not only guidelines and best practice reports, but also a development process including the elaboration of visual models and a standardized notation for this visualization.
 
The term '''Useruser Interfaceinterface Modeling'modeling'' is mostly used in an [[information technology]] context. A [[user interface]] [[model (abstract)|model]] is a representation of how the end user(s) interact with a computer program or another device and also how the system responds. The modeling task is then to show all the "''directly experienced'' aspects of a thing or device" [Trætteberg2002].
 
Modeling user interfaces is a well-established discipline in its own right. For example, modeling techniques can describe interaction objects, tasks, and lower-level dialogs in user interfaces. Using models as part of user interface development can help capture user requirements, avoid premature commitment to specific layouts and widgets, and make the relationships between an interface’sinterface's different parts and their roles explicit. [SilvaPaton2003].
 
== Languages ==
 
===MARIA===
 
[[MARIA XML]] (Model-based lAnguage foR Interactive Applications) is a universal, declarative, multiple abstraction level, XML-based user interface markup language for modelling interactive applications in ubiquitous environments.
 
===UML===
Some aspects of user interface modeling can be realized using [[Unified Modeling Language|UML]]. However, the language is not mainly intended for this kind of modeling, which may render the models somewhat synthetic.
Line 16 ⟶ 21:
lack ability for modeling applications, the University of Manchester started the research project UMLi in 1998.
UMLi aims to address this problem of designing and implementing user interfaces using a combination of [[Unified Modeling Language|UML]] and MB-UIDE.
 
===UsiXML===
 
[[UsiXML]] (USer Interface eXtensible Markup Language) is an XML-based specification language for user interface design.
It supports the description of UI for multiple contexts of use such as Character User Interfaces (CUIs), Graphical
User Interfaces (GUIs), Auditory User Interfaces, and [[Multimodal interaction|Multimodal]] User Interfaces.
 
===DiaMODL===
Line 21 ⟶ 32:
 
===Himalia===
Himalia combines the Hypermedia Models with the control/composite paradigm. It is a full user interface language, it may be used for specifingspecifying but also for running it, because of this the designer tool can categorized as a guilder.[http://www.himalia.net]
 
== Model types ==
The different aspects of a user interface requires different model types. Some of the models that may be considered for UI-modeling are:
* [[Domain model]], including data model (defines the objects that a user can view, access and manipulate through the user interface)
<ul>
* <li>[[DomainNavigation model]], includingdefines data model (defineshow the objects that a user can view, accesscould andbe manipulatenavigated through the user interface)</li>
<li>* [[NavigationTask model]],. defines how(describes the objectstasks thatan aend user viewperforms couldand bedictates navigatedwhat throughinteraction thecapabilities usermust interfacebe designed)
* <li>[[User modeling|User model]] (represents the different characteristics of end users and the roles they are playing within the organization)</li>
</li>
* <li>[[Platform model]] (used to model the physical devices that are intended to host the application and how they interact with each other)</li>
<li>[[Task model]]. (describes the tasks an end user performs and dictates what interaction capabilities must be designed)</li>
* <li>[[Dialogue model]] (how users can interact with the objects presentation (as push buttons, commands, etc.), with interaction media (as voice input, touch screen, etc.) and the reactions that the user interface communicates via these objects)
<li>[[User model]] (represents the different characteristics of end users and the roles they are playing within the organization)</li>
* <li>[[Presentation model]] (application appearance, representation of the visual, haptic and auditory elements that the user interface offers to its users)</li>
<li>[[Platform model]] (used to model the physical devices that are intended to host the application and how they interact with each other)</li>
* <li>[[Application model]] (commands and data the application provides)</li>
<li>[[Dialogue model]] (how users can interact with the objects presentation (as push buttons, commands, etc), with interaction media (as voice input, touch screen, etc) and
the reactions that the user interface communicates via these objects)</li>
<li>[[Presentation model]] (application appearance, representation of the visual, haptic and auditory elements that the user interface offers to its users)</li>
<li>[[Application model]] (commands and data the application provides)</li>
</ul>
<p>
UML can be used for several of the models mentioned above with varying degree of success, but it lacks support for user modeling, platform modeling and presentation model.
</p>
 
== Approaches ==
There existsexist several approaches to modeling a user interface.
 
===Usage-Centeredcentered design===
{{main|usageUsage-centered design}}
In usage-centered design, the modeling task is to show how the actual presentation of a planned system and how the user interaction is supposed to happen. This is probably the most praised approach, and it has been used successfully on a variety of small and large-scale projects. Its strengths are in complex problems.
 
== Alternative approaches to model-based UIs ==
The known issues of model-based approaches include information restatement and lack of mechanisms to effectively to solve cross-cutting concerns [Cerny2013]. Model-based solutions can work well on their own, but integration with alternative approaches brings complexity in development and maintenance efforts.
 
===Code-inspection based===
These approaches are based on existing general purpose language (GPL) code bases [Cerny2012]. They inspect the code through meta-programming and assemble a structural model that is transformed to the UI. This approach addresses information restatement. These approaches does not fit to adaptive and context-aware UIs.
 
===Generative programming===
These approaches connect ___domain methods with GPL [Generative programming]. Cross-cutting concerns are addressed at compile-time, which does not directly accommodate future adaptive UIs needing runtime information.
===Aspect-based UIs===
Aspect-based solution suggested by [Cerny2013][Cerny2013a][AspectFaces] integrates advantages of code-inspection based and generative programming approaches. It inspects existing code and applies aspect oriented methods to address cross-cutting concerns. It works at runtime, reduces information restatement and at the same time separates UI concerns which allows to reuse each independent of others. In the study at [Cerny2013] authors reduce UI code by 32% through aspect-based UI approach applied to a production system. Main advantages are templating for adjusting the presentation, separate definitions of concerns and mostly generic transformation rules applicable across various data.
 
===Content models===
Models of this kind showsshow the contents of a user interface and its different components. Aesthetics and behavior details are not included in this kind of modelsmodel as it is ina form of usage-centered design modelsmodel.
 
== See also ==
* [[Cognitive ergonomics]]
 
== References ==
* [Paternò 2005] &ndash; [http://giove.isti.cnr.it/attachments/publications/2005-A0-27.pdf F Paternò, Model-based tools for pervasive usability, Interacting with Computers 17 (3), 291-315]
<table border=0 cellspacing=7 cellpadding=0>
* [Trætteberg2002] <td&ndash; valign=top>[http://www.idi.ntnu.no/~hal/research/thesis H. Trætteberg, Model-based User Interface Design, Doctoral thesis, Norwegian University of Science and Technology, 2002]</td>
<tr>
* [SilvaPaton2003] <td&ndash; valign=top>P. Pinheiro da Silva, N. W. Paton, User Interface Modeling in UMLi, Stanford University / University of Manchester, 2003</td>
<td valign=top>[Trætteberg2002]</td>
* [Markopoulos1997] <td&ndash; valign=top>P. Markopoulos, A compositional model for the formal specification of user interface software, Doctoral thesis, Queen Mary and Westfield College University of London, 1997</td>
<td valign=top>[http://www.idi.ntnu.no/~hal/research/thesis H. Trætteberg, Model-based User Interface Design, Doctoral thesis, Norwegian University of Science and Technology, 2002]</td>
* [Trevisan2003] <td&ndash; valign=top>D. Trevisan, J. Vanderdonck, B. Macq, Model-Based Approach and Augmented Reality Systems, Université catholique de Louvain, 1348 Louvain-la-Neuve, Belgium, 2003</td>
</tr>
* [wwwUMLi] <td&ndash; valign=top>[http://trust.utep.edu/umli The Unified Modeling Language for Interactive Applications]</td>
<tr>
* [Cerny2013] &ndash; Černý, T. - Čemus, K. - Donahoo, M.J. - Song, M.J.: [http://www.sigapp.org/acr/Issues/V13.4/ACR-13-4-2013.pdf Aspect-driven, Data-reflective and Context-aware User Interfaces Design (page 53). In: ACM SIGAPP Applied Computing Review [online], 2013, vol. 13, no. 4, p.&nbsp;53-65, {{ISSN|1559-6915}}.
<td valign=top>[SilvaPaton2003]</td>
* [Cerny2013a] &ndash; Černý, T. - Donahoo, M.J. - Song, E.: [http://dl.acm.org/citation.cfm?id=2513278 Towards Effective Adaptive User Interfaces Design], Proceedings of the 2013 Research in Applied Computation Symposium (RACS 2013), Montreal: ACM, 2013, {{ISBN|978-1-4503-2348-2}}.
<td valign=top>P. Pinheiro da Silva, N. W. Paton, User Interface Modeling in UMLi, Stanford University / University of Manchester, 2003</td>
* [AspectFaces] &ndash; {{cite web | url=http://www.aspectfaces.com/overview | title=AspectFaces | archive-url=https://web.archive.org/web/20190202175033/http://www.aspectfaces.com/overview | archive-date=2 Feb 2019 | publisher=Coding Crayons s.r.o. | url-status=usurped}}
</tr>
* [Cerny2012] &ndash; T. Cerny and E. Song. [https://scholar.google.com/scholar?cluster=12280381045153079495&hl=en Model-driven Rich Form Generation]. Information: An International Interdisciplinary Journal, 15(7, SI):2695–2714, JUL 2012.
<tr>
* [Generative programming] &ndash; Krzysztof Czarnecki and Ulrich W. Eisenecker. 2000. [https://www.amazon.com/Generative-Programming-Methods-Tools-Applications/dp/0201309777 Generative Programming: Methods, Tools, and Applications]. ACM Press/Addison-Wesley Publ. Co., New York, NY, USA.
<td valign=top>[Markopoulos1997]</td>
<td valign=top>P. Markopoulos, A compositional model for the formal specification of user interface software, Doctoral thesis, Queen Mary and Westfield College University of London, 1997</td>
</tr>
<tr>
<td valign=top>[Trevisan2003]</td>
<td valign=top>D. Trevisan, J. Vanderdonck, B. Macq, Model-Based Approach and Augmented Reality Systems, Université catholique de Louvain, 1348 Louvain-la-Neuve, Belgium, 2003</td>
</tr>
<tr>
<td valign=top>[wwwUMLi]</td>
<td valign=top>[http://trust.utep.edu/umli The Unified Modeling Language for Interactive Applications]</td>
</tr>
</table>
 
[[Category:User interface markup languages]]
[[Category:Graphical user interfaceinterfaces]]