Improving End-User GUI Customization with Transclusion Lung-Chen Lee Christof Lutteroth Gerald Weber Department of Computer Science The University of Auckland 38 Princes Street, Auckland 1020, New Zealand Email: llee051@aucklanduni.ac.nz, lutteroth@cs.auckland.ac.nz, gerald@cs.auckland.ac.nz Abstract Usually the possibilities for end users to customize GUIs to their requirements are limited. We present a GUI specification and customization system, the Auckland Interface Model (AIM), that represents GUIs as documents that can be loaded, saved and changed by the end user during runtime. GUI layout and GUI content can be customized independently, and GUIs can be decomposed using transclusion. In this paper, we explain why transclusion is an impor- tant feature for GUI customization that does not only facilitate the maintenance of a GUI, but also supports its consistency and clarity. Transclusion makes it eas- ier to reuse GUI specifications, and support different customization scopes. AIM was implemented on sev- eral platforms and evaluated using the cognitive di- mensions framework. Keywords: Transclusion, GUI customization, end- user development. 1 INTRODUCTION Graphical user interfaces (GUIs) are the most com- mon type of user interface in modern software appli- cations. Developing a good GUI requires a significant amount of work because of usability considerations such as learnability and suitability for a particular task. It is usually hard to understand the exact re- quirements of users upfront. As a result, it benefits both developers and end-users if a GUI can be cus- tomized easily. Developers can use GUI customiza- tion as a rapid development tool, i.e. to react to user feedback quickly. End-users can use GUI customiza- tion to satisfy special requirements, such as simplified GUIs for novice users or larger widgets for users with visual impairments. However, most GUI applications offer only limited customization options. Making a GUI customizable usually involves significant extra work for the developers. In this paper we describe how GUI customization can be improved by supporting transclusion of GUI specification parts. We describe a document-oriented GUI customization system (Draheim et al. 2006), the Auckland Interface Model (AIM) (Lutteroth & We- ber 2008), which has been implemented on the Java, .NET, and Haiku platforms. Document orientation means that GUIs can be treated like documents, i.e. they can be modified, saved and loaded at runtime. Transclusion means that a document includes parts Copyright c 2010, Australian Computer Society, Inc. This paper appeared at the Thirty-Third Australasian Computer Science Conference (ACSC2010), Brisbane, Australia. Con- ferences in Research and Practice in Information Technology (CRPIT), Vol. 102, B. Mans and M. Reynolds, Ed. Reproduc- tion for academic, not-for profit purposes permitted provided this text is included. of another document by reference. In AIM, transclu- sion can be used to decompose GUI specifications, and to use and adapt specification parts in a different context. From a developer’s perspective, this facili- tates reuse and maintenance. From an end-user per- spective, this facilitates end-user development, consis- tency among GUIs, and scoping of application data. This paper begins with a discussion of the bene- fits and the current limitations of GUI customization. The following section introduces the concepts and ad- vantages of the document-orient approach as well as its implementation in the Auckland Interface Model, followed by a discussion of how document decomposi- tion with transclusion improves the maintenance and the clarity of GUIs. Finally, our approach is evaluated with the Cognitive Dimensions framework. 2 RELATED WORK 2.1 Findings on End-User Customization Different users may have different requirements for the user interface of an application. Although a GUI designer may capture the common requirements for most users, it may satisfy users’ individual needs much better by allowing the users to customize the application. A study by Findlater et al. (Findlater & McGrenere 2004) showed that the users were able to customize the user interface to increase the effi- ciency. The majority of users also preferred a per- sonalized interface. A later study (McGrenere et al. 2007) on user’s customization on a word processing software with two types of menu interfaces also shows the users do customize effectively when they are pro- vided with an easy to use customization mechanism. The users prefer the adaptable menu system which they can control over the system-controlled adaptive menu system. Page et al. (Page et al. 1996) presented a study on the how users customize a word processor. The study finds that 92% of the participants customize the soft- ware in some aspects. It indicates that users do cus- tomize software applications when they are presented with the options. The results show that the users tend to customize the application more if they use the soft- ware more. The work they surveyed suggested that the common obstacles to customizing software were the lack of time and the difficulty to customize the application. The study recommends a mindset of ex- pecting the users to customize the software. The cus- tomization should be made easy for them to use. The users should be able to switch between normal task and the customization activities with little disruption. In the discussion about the past, present and fu- ture of user interface software tools presented by My- ers et al. (Myers et al. 2000), it was suggested that a “gentle slope system” that the user only needs to learn incrementally would attract more users to overcome Proc. 33rd Australasian Computer Science Conference (ACSC 2010), Brisbane, Australia 163