This is the top level page for the wiki of the Ubiquitous Application Design Community Group.
People are looking to use applications and services on a ubiquitous range of devices. For developers, this raises the challenge of tailoring the user experience according to the device and context in which it is used. Application development teams involve a wide range of roles and skills: business requirements, information systems, usability and accessibility, graphical design and brand management, as well as the expertise required for specific target platforms. This Community Group seeks to bring together developers and researchers to explore and promote techniques for context aware design that separates out different aspects of design to speed development and reduce costs. We will do this through gathering and discussing techniques, together with developing open source demonstrators. Where appropriate we may work on specifications with a view to future standardization, e.g. in a W3C Working Group.
If you are interested and have some time available to help us explore this mission, please join the Ubiquitous Application Design Community Group and get involved!
Business Case for Context Aware Applications
Recent studies have shown that many well known websites are difficult to use on smart phones, although they work fine on desktop browsers. This problem is going to get worse with the increasing popularity of a widening variety of devices including desktop, mobile, tablets, connected TVs and double density displays. Further challenges will emerge with multi-screen applications in the living room or in the office.
Some companies address this by developing native applications for each platform, but this entails mastering different programming languages and SDKs, as well as the constraints imposed by native app stores. End-users also need to be told to install native apps. By contrast W3C's Open Web Platform enables developers to use HTML and associated technologies to reach out to many different kinds of devices, reducing costs and time to market. End users can be offered the choice of running them direct from websites, or locally installing apps on their devices. The same Web address can be used from different devices, making it easier for users to find and manage the collections of apps they are interested in.
Context aware applications are designed to provide the best possible user experience for the context in which they are used. On a smart phone, the UI controls need to be easy to operate with finger gestures, and apps focus on the specific tasks that a mobile user is likely to want to do. On a desktop, the larger displays allow for a richer experience, and the opportunities for additional marketing opportunities. Multi-screen applications can facilitate social interaction, e.g. where people rate services, chat together, or explore background information that complements the shared experience on connected TVs. Location awareness allows apps to show services based upon their proximity to the end user. Adaptation can take many factors into account, e.g. the goals of the user, the time of day, previous patterns of behaviour, environmental factors like ambient light and noise, whether you are using an application in a public or private setting, and so forth.
Conceptual Framework for UI Design
The Cameleon Reference Framework provides one approach to separating out different levels of user interface design concerns for context aware applications.
Relationship to Responsive Design
Responsive Design is commonly used to refer to techniques that Web developers can exploit to adapt their applications to the characteristics of different devices.
- Server-side adaptation uses information provided in HTTP requests to identify the class of a client device and adapt the content and styling to match. Server-side adaptation of content can help to avoid wasteful downloads that waste network bandwidth and drain mobile device batteries.
- Client-side adaptation take a variety of forms
- CSS Media queries can be used to adjust the styling to match the device's characteristics, e.g. display size and resolution
- Script based adaptation where a script queries the device's characteristics and adapts the content and style to match
- Responsive images where the browser/web run-time selects which version of an image resource to load for a given IMG element as appropriate to the device's characteristics
Further background can be found in this presentation on responsive design (pdf).
Relationship to other activities
This is just some of the activities impinging on the above mission:
- The HTML Working Group which develops the mark up standards for the HTML document format which is widely used for Web applications.
- The CSS Working Group which develops standards for styling Web applications
- The Responsive Images Community Group which has the goal of designing a markup-based means of delivering alternate image sources based on device capabilities, to prevent wasted bandwidth and optimize display for both screen and print.
- The Model-Based User Interfaces Working Group which is developing standards aimed at interoperable exchange of user interface design for high level models covering interaction tasks, and abstract user interfaces.
- The Serenoa project on multi-dimensional context aware adaptation of service front-ends. See the Serenoa White Paper.
- IndieUI Working Group -- device independent UI events and user context