Warning:
This wiki has been archived and is now read-only.

Serenoa White Paper

From Ubiquitous Application Design Community Group
Jump to: navigation, search

The aim of this white paper is to provide a high-level description of ongoing work in Serenoa project and to present the results we expect to achieve by the end of the project in September 2013. The target audience for this paper is anyone who may be interested in context-aware applications. Although it is intended to attract the target beneficiaries of this project, as the next section describes, it is also meant to provide a description of the project for a broader audience. Note that although this paper does not describe the technical details in-depth, further information can be found in the public deliverables on the project website.

We will next describe profiles and background for some potential readers and beneficiaries of this document.

Jo, the developer of final applications

Jo is a developer who has been assigned the task of choosing a software platform to create adaptive applications. He works in an SME (small-to-medium size enterprise) which has been working on desktop applications for many years. Their customers are increasingly demanding ubiquitous access to remote information services. They are used to the heterogeneity of desktop technologies (e.g., the different web browsers and operating systems). However, after studying different surveys, they have realized that for the company to address the diversity of desktop, TV and mobile operating systems and versions, plus the requirements of the ubiquitous user, it will be necessary to make use of assistive development tools. They are looking for tools which enable the creation of user interfaces for multiple target platforms, accessing a common application back-end, together with support for user preferences. They would also like to address customer requests for multiple modes of interaction, e.g., visual, aural and tactile user interfaces.

Antonia, the developer of adaptation technologies

Antonia is a developer who is in charge of developing adaptation support for ubiquitous applications. The user interface should be able to react to changes in the context of use (e.g. change in the user's position, different lighting conditions, etc.). Antonia wants a general solution for adaptation that permits different situations for different devices, and cleanly separates adaptation from application modules. She has problems in integrating information used for adaptation, because it comes from multiple sources and is not available for all devices. She wants to overcome this limitation, as she thinks it would be useful to exploit information coming from different devices to provide a more precise representation of the context. In addition, she is worried that current development tools force the developer to scatter the adaptation logic across different modules. This complicates maintenance, especially as the application complexity increases.

Ann, the contributor to Serenoa’s framework

Ann works in a telecommunications operator providing TV services. Her company wants to expand their business by providing services already available via TV to other platforms (smartphones, tablets, PCs, etc.). She needs a new software framework able to support the adaptation of these particular services to the new target platforms as their existing software does not scale to all of them.

Martina and Michael, the end-users

Martina lives in the UK and likes surfing the web. She is not interested in technology, but she uses the web daily and believes that she should be able to use either her home computer or her smartphone to shop online. She expects a consistent cross-platform User Experience, with a user interface that adapts to her context of use. Her favourite web site is a French online shop. She expects to connect easily to this web site (and others) from whichever device she uses, to browse in English and to be able to adjust her user preferences.

Michael works for a multinational merchant web site as a manager. He uses his company’s enterprise system to access business oriented features to monitor current activity on this web site. He spends most of his day in the office, but also expects to be able to connect to the system when he travels or visits partners. Michael is also colour-blind, which is not a serious problem, but which sometimes prevents him from seeing adequately the dashboard indicators he uses in his daily tasks. He thinks that it would be nice to have a system able to adjust to his disability.

Bart and Françoise, the researchers

Bart is a post-doctoral researcher in a Research Institute in Brussels. He is a member of three European projects that involves the application of context-aware adaptation. As such, he investigates techniques and criteria that permit to evaluate the benefits of adaptive systems, he tries to define models that formalize context-aware adaptation processes, and he is especially interested in exploring different architectural approaches for implementing context-aware adaptation.

Françoise is a PhD candidate at the same University. Her research project consists in investigating methodologies that support the specification, design and development of context-aware adaptive systems for the e-learning domain. She is mainly interested in the development of authoring environments for designing UIs for different platforms, but she would like to identify the context information and adaptation techniques suitable for adapting UIs for e-learning systems.

Manuel, the CIO

Manuel is in charge of the technology and business strategy of an Internet services company. Currently, he is evaluating possibilities for integrating new tools and methodologies in the development of application user interfaces. He has detected the growing cost and development time for targeting multiple front-ends. Moreover, he would like to enable end-users to set their preferences for the user interface, something that isn't addressed with the existing development process.

Description of the problem

Even though software development environments, standards and engineering methodologies have significantly evolved and matured over the last decade, designing and implementing context-aware application user interfaces is still complex, and therefore expensive.

Businesses are seeing increasing diversity in the kinds of devices being used (i.e. workstations, desktops, laptops, smart phones, tablets, embedded devices, etc.), but this is putting up the cost of developing and maintaining user interface designs. Aligning business and Information Technology (IT) is a constant challenge, not only because of the constantly evolving standards and underlying technologies, but also because of the accelerating pace at which functional requirements change throughout the lifetime of applications. Business applications need to adjust rapidly to fulfil changing requirements, and this trend is accelerating as users require more and more mobility.

Second, implementing Human-Computer Interaction (HCI) systems requires anticipating for a great deal of user-driven interaction combinations that are not always easy to anticipate. Adding context management to the HCI domain increases complexity further because it requires taking into account multimodality (i.e. keyboard & mouse, touch screens, voice, gesture, etc.), geographical location, social context, accessibility and user preferences.

Finally, the underlying technologies involved in the development of user interfaces are multiple and keep changing and emerging at a rapid pace. Development therefore often requires technical experts, who are hard to find and retain. As a matter of fact, most of the effort in a traditional project is spent on infrastructure and technical tasks, and not on business issues. This often contributes to frustration of business stakeholders and end-users. There is also a steep learning curve for each new platform that has to be mastered: Android with Java, iOS with ObjectiveC, Windows with C#, Linux with C/C++, the Web with HTML and JavaScript, and so forth. Translating user interface designs into each of these platforms is time-consuming and expensive.

About model-based design

A variety of approaches have evolved in response to the above challenges. These include the Eclipse Integrated Development Environment, the Java 2 Platform Enterprise Edition (J2EE), W3C's HTML5, JavaScript libraries (e.g. jQuery), and OMG's Model-Driven Architecture (MDA). These have been supported by work on software development methodologies, such as Model-Driven Engineering (MDE) or Agile project methodologies, such as Scrum or xP, or with UI design approaches such as User-Centred Design (UCD). When it comes to designing user interfaces, Model-Based approaches bring many benefits by filling the gaps where traditional approaches are inadequate for agile development, and struggle to cope with the reality that requirements aren't fully understood at the outset of a project, but rather emerge as designs are tried out and found to be wanting.

Model based user interface design is about separating out design concerns at different levels of abstraction using both declarative and procedural knowledge. The declarative part is expressed as task models, abstract user interface (AUI) models and concrete user interface (CUI) models, whilst the procedural part is expressed with rule languages for adaptation at both design-time and run-time.

Other Model-Based approach benefits include simplification through automation and code generation, a clean separation of concerns, e.g., IT and business issues, and the fact that the model becomes a common language for all project stakeholders and helps IT align with business. People vary in how they approach the challenges of user interface design. We won't realize the true potential of Model-Based user interface design if we only support a top-down methodology. A significant number of people find it easier to start at the concrete level and refine the abstract level as they go. Subsequent revisions to the abstract level should be possible without throwing away the design work done at the concrete level. However, traditional Model-based design also suffers from a lack of attention to adaptation to the context of use, and this is exacerbated by a lack of standards for expressing adaptation rules.

Serenoa-Architecture.png

Serenoa’s proposed architecture for supporting user interface adaptation is depicted in the above figure. Additional details are given in the following sections.

Firstly, at design-time, Authoring tools are used to support the design of model-based user interfaces. The authoring tools support Serenoa’s abstract user interface description language, as well as the Serenoa language for expressing adaptation rules (see ‘Languages’). For those developers who find it easier to start the definition of the interface at the concrete level and then refine the abstract level as they go, there is a design-time adaptation engine which makes it possible to work at both levels.

Secondly, the Theoretical framework consists of reference models and an ontology. These reference models are aimed at guiding developers and designers during the complete software life-cycle, listing alternative possibilities for implementing context-aware adaptation, and permitting the analysis and comparison of adaptive and adaptable applications. The ontology, based on the reference models, is intended to gather all the knowledge involved in advanced adaptation logic for user interfaces. It is used to inform developers as well as to support adaptation processes in the run-time.

Finally, the run-time phase will transform the description and associated rules of user interfaces into a final user interface implementation. The adaptation engine determines the optimal adaptation for the current context of use, based upon the context models and adaptation rules. To achieve this goal, the context manager provides information related to all the possible contextual dimensions (i.e. the user preferences, the environment, social relationships, etc.) The run-time engine generates the final interactive application according to the context. Currently, this module is composed of a set of sub-modules which cover several modalities (i.e. mobile web applications, vocal interfaces, avatar- based interaction or desktop business applications). In fact, Applications prototypes showing the functionality of these sub-modules and the whole Serenoa framework are under development, see later section for more details.

Added Value and Impact

Added value

In a general way, the Serenoa project may contribute to the following aspects:

  • Faster time-to-market: given the support provided by the Serenoa technologies (i.e. authoring tools, adaptation languages and models) the implementation of adaptive and adaptable applications will be easier and more efficient.
  • Reduction of development effort: instead of spending a lot of resources looking for knowledge about context-aware adaptation, stakeholders can rely in a centralized information source and a dedicated development platform, provided respectively by the theoretical framework, and by the technological framework (i.e. tools, languages, etc.).
  • Promote re-use: by means of standards and a consistent terminology, the applications can be implemented in a more flexible manner, i.e. with the integration of components and with the extension and updates of existing applications.
  • Efficient solutions: Serenoa is filling a gap in context-aware adaptation systems by allowing non-expert developers to develop efficient solutions. This is achieved, in particular, by adopting a model-based approach.
  • Increased agility: because context is often dynamic by nature, adaptation needs to be tuned little by little (and sometimes continuously), based on the feedback provided by the different stakeholders, starting with the end-user. Therefore, the capability for systems to change its behaviour rapidly and to take into account new adaptation rules, thus fitting new contexts, is essential. Serenoa's adaptation engine adds substantial agility to the development process of context-aware systems, which can provide great benefits.
  • Joining efforts: By analyzing the technological landscape and the current status of the market, Serenoa identifies actual users' needs and orient its efforts in order to progress simultaneously in both scientific and industrial domains. Besides this, Serenoa tries to establish a formal link between the research community and the industry (for instance by means of standardization and dissemination actions).

Impact

As a part of the individual exploitation strategies the consortium members demonstrate the Serenoa ‘Applications prototypes’ and Development Tools to product groups, customers and partners. This aims at encouraging these industrial stakeholders for an adoption of the Serenoa technologies to enhance their existing products or to create new ones.

From the point of view of the academic community, several branches of knowledge are involved with research of context-aware adaptation. As the closest related ones, we can highlight: Human-Computer Interaction, Software Engineering and Architecture, Distributed Systems and Ubiquitous Computing. In the context of Serenoa project, the scientific field may benefit from: concrete requirements for designing and implementing adaptive systems, authoring tools and languages that support the creation of adaptive applications, theoretical frameworks that provide a catalogue of information to support the research in the field, evaluation criteria and possible architectural approaches.

Furthermore, releasing some Serenoa components as open source facilitates the adoption of the results by other members of the community, even any other projects, communities, organizations or anyone interested in this focused area. This issue implies that any of them could take the results and evolve them into something more complete, allowing to increase the impact of the project outside the community of the project. Specifically, Serenoa is expected to produce three types of results: theoretical frameworks, languages, and application prototypes.

  • Theoretical frameworks: the reference models (CARF and CADS) will be made available for the public by means of written documents (as deliverables and scientific papers). They will also include a detailed description about their methodology, creation, and application available online by means of a web page. The Ontology will be developed based on this theoretical framework.
  • Languages: the XML schemas describing the languages developed in Serenoa will be made public by putting them available on the project web site. In addition, such results will be submitted to W3C for standardization. The W3C working group on Model-Based User Interfaces (MBUI) has started its work and various Serenoa partners are involved in this group.
  • Applications prototypes: the applications, which will illustrate the Serenoa framework, lay on various software modules: context manager, adaptation engine, runtime engine and the rest of components. In general, the software prototypes will be made publicly available. We envision various policies for making them public: open source, public executable code, videos, etc. The way how they will be made public depends on the organization that is developing them and the type of prototype.

In order to accomplish these results and to arouse interest in the scientific and industrial community, an action planning has been envisaged. Firstly, on August-September 2012, the final version of the Serenoa's architecture will be delivered and the second release of the modules will be available for the evaluation. From then to the end of the project (September 2013) the development efforts will be mainly focused on the final release of the Serenoa's components and tools, the exploitation of them in the Serenoa use cases and the final evaluation.