|
ABSTRACT
The popular view of software engineering focuses on managing teams of people to produce large systems. This paper addresses a different angle of software engineering, that of development for re-use and portability. We consider how an essential part of most software products - the user interface - can be successfully engineered so that it can be portable across multiple platforms and on multiple devices. Our research has identified the structure of the problem domain, and we have filled in some of the answers. We investigate promising solutions from the model-driven frameworks of the 1990s, to modern XML-based specification notations (Views, XUL, XIML, XAML), multi-platform toolkits (Qt and Gtk), and our new work, Mirrors which pioneers reflective libraries. The methodology on which Views and Mirrors is based enables existing GUI libraries to be transported to new operating systems. The paper also identifies cross-cutting challenges related to education, standardization and the impact of mobile and tangible devices on the future design of UIs. This paper seeks to position user interface construction as an important challenge in software engineering, worthy of ongoing research.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
Bernstein Niel M, Using the Gtk toolkit with Mono, O'Reilly ONDotNet, online article 2004/08/9/ August 2004.
|
 |
3
|
|
| |
4
|
Bishop Judith and Basil Worrall, Towards platform interoperability: retargeting a GUI library on.NET, Proc. 3rd Conf.NET Technologies, 23--33, Plzen, Czech, May 2005
|
| |
5
|
Boehm B W, Software Engineering, IEEE Trans Computers, (12) 1226--1241, 1976
|
| |
6
|
|
| |
7
|
|
 |
8
|
Martin C. Carlisle , Patrick Maes, RAPID: a free, portable GUI design tool, Proceedings of the 1998 annual ACM SIGAda international conference on Ada, p.158-164, November 08-12, 1998, Washington, D.C., United States
|
| |
9
|
|
| |
10
|
|
| |
11
|
da Silva Paulo Pinheiro. User interface declarative models and development environments: a survey, Proc. DSV-IS2000, LNCS 1946, 207--226, Springer-Verlag 2000.
|
 |
12
|
|
 |
13
|
Jacob Eisenstein , Jean Vanderdonckt , Angel Puerta, Applying model-based techniques to the development of UIs for mobile computers, Proceedings of the 6th international conference on Intelligent user interfaces, p.69-76, January 14-17, 2001, Santa Fe, New Mexico, United States
[doi> 10.1145/359784.360122]
|
| |
14
|
|
 |
15
|
Scott R. Klemmer , Jack Li , James Lin , James A. Landay, Papier-Mache: toolkit support for tangible input, Proceedings of the SIGCHI conference on Human factors in computing systems, p.399-406, April 24-29, 2004, Vienna, Austria
[doi> 10.1145/985692.985743]
|
| |
16
|
Lee Wei-Meng, Writing cross-platform mobile applications using Crossfire, O'Reilly ONDotNet, online article 2004/07/12, 2004
|
| |
17
|
|
| |
18
|
|
| |
19
|
|
| |
20
|
Mason Jonathan, Views 2: Reflections on Views, MSc Thesis, University of Victoria, Canada, 2005
|
| |
21
|
|
| |
22
|
Pfaff GE, User interface management systems: proceedings of the Seeheim Workshop, Springer Verlag 1985
|
 |
23
|
|
| |
24
|
|
| |
25
|
SWEBOK Guide to the software engineering body of knowledge, IEEE Computer Society, www.swebok.org, 2004
|
INDEX TERMS
Primary Classification:
D.
Software
D.2
SOFTWARE ENGINEERING
Additional Classification:
D.
Software
D.2
SOFTWARE ENGINEERING
D.2.13
Reusable Software
Subjects:
Reusable libraries
D.2.6
Programming Environments
Subjects:
Integrated environments;
Graphical environments
D.2.7
Distribution, Maintenance, and Enhancement
Subjects:
Portability
General Terms:
Design,
Human Factors,
Languages,
Performance,
Reliability,
Standardization
Keywords:
.NET,
GUI library reuse,
XAML,
XUL,
graphical user interfaces,
mirrors,
mobile devices,
platform independence,
portability,
reflection,
tangible user interfaces,
views
|