Dynamic Graphical User Interface Generation for Web-Based Public Display Applications
Total Page:16
File Type:pdf, Size:1020Kb
Dynamic Graphical User Interface Generation for Web-based Public Display Applications Jorge C. S. Cardoso CITAR/School of Arts, Portuguese Catholic University, Rua Diogo Botelho, 1327, 4169-005 Porto, Portugal Keywords: Dynamic Graphical User Interface, Public Displays, Mobile Applications, Toolkits. Abstract: Public digital displays are moving towards open display networks, resulting in a shift in the focus from single-purpose public displays that are developed with a single task or application in mind, to general- purpose displays that can run several applications, developed by different vendors. In this new paradigm, it is important to facilitate the development of interactive public display applications and provide programmers with toolkits for incorporating interaction features. An important function of such toolkits is to support interaction with public displays through a users' smartphone, allowing users to discover and interact with the public display applications configured in a given display. This paper describes our approach to providing dynamically generated graphical user interfaces for public display applications that is part of the PuReWidgets toolkit. 1 INTRODUCTION display context. In recent years, smartphones have gained enormous traction and are expected to Interactive public display systems have gained continue to grow in usage during the next few years considerable attention form the research community (Finance, 2012), making them also a privileged in the last years due to their increasing ubiquity. In choice for interacting with public displays. It is particular, research has started to focus on pervasive current practice for many web applications to open display networks (Davies et al., 2012) as a simultaneously offer desktop and mobile versions of means to attain the full potential of the vast number their applications. This approach will certainly be of digital public displays that exist today. In an open used also for some of the public display applications network, display owners can easily interconnect of the future, which will want to deliver a their displays and take advantage of various kinds of customised interaction experience to their users. existing content, including interactive applications. However, public display systems can also provide Application developers can create applications and generic mobile applications that help users discover, distribute them globally, to be used in any display. explore, and control the public display (José et al., Users can not only watch the content played on the 2013). display, but also appropriate it in various ways such In order to attract a large number of developers, as interacting with it, expressing their preferences, incorporating high-level interaction features into submitting and downloading content from the applications should be an easy task. These high-level display. features should work seamlessly with a number of In order for applications to work across a variety heterogeneous interaction mechanisms, including of different public display systems, developers need smartphones with rich user interfaces. Following this to rely on protocols, standards, and interaction line, we have built a toolkit – PuReWidgets – for abstractions so that they do not have to deal with the web-based interactive public display applications specificities of each display technology, in particular that allows developers to incorporate, in their interaction mechanisms and modalities that may be applications, high-level interaction controls that very diverse. Short Message Service (SMS), respond transparently to various interaction Bluetooth, email, touch, Quick Response codes (QR mechanisms such as SMS, email, QR code, and codes), mobile devices, are a small set of interaction touch. Additionally, our toolkit is able to generate mechanisms that have been used in the public dynamic user interfaces for mobile devices that C. S. Cardoso J.. 5 Dynamic Graphical User Interface Generation for Web-based Public Display Applications. DOI: 10.5220/0004707500050013 In Proceedings of the 4th International Conference on Pervasive and Embedded Computing and Communication Systems (PECCS-2014), pages 5-13 ISBN: 978-989-758-000-0 Copyright c 2014 SCITEPRESS (Science and Technology Publications, Lda.) PECCS2014-InternationalConferenceonPervasiveandEmbeddedComputingandCommunicationSystems allow users to discover and interact with the 2.2 Abstract UI Description applications running in a specific place, and their interaction features. A different approach for showing the user interface In this paper, we focus on the dynamic in the controller device is to have a service interface generation of graphical user interfaces. We describe description that can be read by a controller to our approach; present its architecture and dynamically generate a suitable user interface programming model; and present a preliminary (graphical, speech, gesture, command line, etc.). For evaluation of the resulting system that consisted in a example, (Roman, Beck, & Gefflaut, 2000) real-world deployment of a public display running developed a device independent, XML-based, various applications built with the toolkit. language for representation of services and the respective dynamic interface generation for mobile devices. The service description language allows the 2 RELATED WORK definition of a list of methods with parameters, which can be invoked by the client. The service Automatically generating a user interface is a description also includes a description of GUI common approach in ubiquitous computing elements that should be used in the user interface to environments and smart spaces where there are represent the parameters and actions that trigger the services associated with places, which can be invocation of methods. Clients obtain the service accessed through many different devices. In this description and employ an eXtensible Stylesheet approach, the application logic and user interface are Language (XSL) transformation particular to the usually distributed: the user interface runs in a device to generate the HTML user interface, which controller device that connects remotely to the is then presented in a native browser. application logic through some kind of remote In XWeb (Olsen et al., 2000), a service exposes method invocation mechanism. Service developers its data through a Data URL that can be manipulated focus on the implementation of the internal logic and by clients but, in order to provide a user interface, on what functions the service should provide to the services also specify a View URL that points to an outside world. These functions represent the XView. The XView specifies the interaction that can programmatic interface that the service exposes to be accomplished with the data, defining the possible other system components. data types and transformations from internal There are several ways to make the user interface representations to user-friendly representations appear in the controller device and allow a user to called interactors (numbers, dates, times, control the service. We describe some alternatives in enumerations, text, links, groups, and lists). An the following subsections. XWeb client uses the XView to generate a user interface appropriate to the interaction modality of 2.1 Downloadable UI Code the device. Because XViews are independent of any concrete interaction modality, devices are able to One approach for creating the user interface is to generate user interfaces for graphical and speech- have the controller download the User Interface (UI) based interaction. code from the service itself and then execute it Another system that resorts to dynamic user locally. This is the approach followed by the Jini interface generation is the Personal Universal Service UI (Venners, 2005), which is based on Jini’s Controller (PUC) (Nichols et al., 2002). PUC uses a service architecture. In Jini, services announce peer-to-peer communication architecture between themselves by registering in a lookup service client devices and services, and a service available in the network. This registration involves specification language, based on XML, which placing a service proxy object for the service in the models data (state variables) and actions lookup service. This service proxy is a runnable Java (commands). A service is modelled as a group tree object that clients use to interact with the service. of elements (variables and commands); this structure Clients use the lookup service to find a service of allows service developers to group similar elements interest and download the associated service proxy. together providing cues for the interface generators. To invoke a function on the service, clients call a The specification language also allows the definition local method on the proxy. The proxy object takes of dependencies between elements. The graphical care of communicating over the network to the user interface generator uses the combination of the corresponding service, using whatever protocol the group tree and dependencies to organise the service developer chose. interface components into logical groupings. 6 DynamicGraphicalUserInterfaceGenerationforWeb-basedPublicDisplayApplications 2.3 Hybrid Approaches the user interface of the application. Instead, our toolkit continually gathers information about which There are also hybrid solutions for generating the widgets the application has created in order to be user interface: custom-designed user interfaces can able to replicate