Keywords

1 Introduction

Distributed Interaction refers to the interaction process in which the user/s use/s dynamically separated input/output devices (e.g. a document viewer [5, 6], a snake-like game [5], exploring a distributed map [2, 6] or video streaming applications [2, 5, 6]). With the emergence of the Internet of Things, there is the prospect of a future in which devices can always be connected. Developing applications for these scenarios is challenging because there is not enough knowledge and even less consensus on how to distribute interaction.

In these scenarios, Santosa [4] identified specialization as the main characteristic to improve multi-device interaction and the coordination of devices. Hamilton et al. [2] found that little attention has been paid to interactions which enable the chaining of device functionality, and cross-device experience was found to be painfully absent in today’s technologies. Yang presented Panelrama [6], a web-based framework for the construction of applications using distributed user interfaces. It allows users to interact with a single application from multiple devices that dynamically change user interface allocation to best-fit devices. Jokela [3] found that users want to use their devices to seamlessly work with each other, but in practice they continuously encountered problems in multi-device use. Schreiner presented Connichiwa [5], a framework for the development of cross-device web applications focused on the integration of existent devices, independent from the network infrastructure, and offering versatility over application scenarios and API usability. Chi et al. presented Weave [1], a framework for developers to create cross-device wearable interaction by scripting.

Most of the developments are ad-hoc solutions based on particular case studies and/or developers’ intuition. They do not fully take into account the whole interactive system: users, devices and tasks. There is a lack of consensus about how to distribute interaction according to the capabilities of the interactive system and their relation to the main goal of every interactive system: task accomplishment. However, following the ongoing trends such as responsive web design, why not enable applications to seamlessly adapt interaction to take advantage of available devices at any moment? This work provides the foundations for a new approach aimed at dealing with the design and development of Responsive Cross-Device Applications (RCDA) in current cross-device applications. The idea applies responsive Web applications to distributing user interactions over the new cross-device ecosystem.

The paper is structured as follows. First, the two pillars of RCDA are presented. Then the foundations of our proposal are described: user and device characterization, adaptation responsibility, runtime adaptations and user patterns. Finally, the conclusions and future work are presented.

2 Responsive Cross-Device Applications

The new approach of RCDA has two pillars: Responsive Web applications, and Cross-Device applications. The following paragraphs explain these two foundational ideas. Nowadays, and even more in the future, it seems to be clear that applications must support a user’s tasks over multiple devices. This tendency is somewhat similar to the Web and how Web application development and use evolved to be what they are now: Responsive Web applications. They adapt to some characteristics of devices such as size, screen resolution, orientation or input modalities. But today’s environments are far more complicated. In a similar way, the coordination of tasks in cross-device applications is complex [1]. Current approaches do not allow for simultaneous use of devices or cross-device interaction. Suitable applications are needed to deal with the wide range of existent cross-device scenarios [5].

However, responsive design in cross-device applications should also consider the fact that applications distribute functionality among different devices. Therefore, new features regarding such a distribution should be applied in the design. Thus, following the aforementioned two pillars, we propose a new approach for the design of cross-device applications: Responsive Cross-Device Applications (RCDA). RCDA adapts the interaction according to the ecosystem, which is composed of devices, users and tasks. The main goal of RCDA is to support users’ tasks in cross-device environments, adapting interaction to facilitate user task completion.

From the analysis of previous works we set the foundations for the design and development of RCDA. The foundations are the following:

  1. 1.

    User and device characterization.

  2. 2.

    Adaptation responsibility.

  3. 3.

    Runtime adaptations.

  4. 4.

    User patterns.

These foundations are described in the following sections.

2.1 Users and Devices Characterization

User and device characterization has to take into account not only properties such as size and display resolution, but also the interactive capabilities of users and devices, the allocation of specific roles to each device and/or actor, the coordination of devices for simultaneous use and what the device is best suited for. In previous approaches, the description and categorization of interactive capabilities has been limited to physical properties such as size and display resolution. Only a few works [6] have used other device capabilities. But these descriptions are limited to specific parts of the user interface and some characteristics of a device’s capabilities. In our approach the description of the interactive system is based on the interactive capabilities of the actors involved in the interaction process: users and devices. Therefore, in RCDA the actors have to be described according to their input and output interactive capabilities. These capabilities are mapped to support task completion on the interactive system. This mapping takes into account the description of the current task in terms of interactive capabilities. As a result, the interaction adapts to the task performed by the interactive system and the interactive capabilities of users and devices. The process of mapping interaction capabilities to tasks is still an open topic. But previous approaches can be used, such as defining roles [4] or defining fitness values [6], among others.

2.2 Adaptations Responsibility

The adaptation of user interaction is the responsibility of the system. It is the applications and not the users that have to adapt and move interaction across multiple devices to help users to fulfil their tasks. They are in charge of mapping the interactive capabilities of both users and devices. And, under specific circumstances, users will be able to decide from among multiple interaction paths. Depending on how users are able to decide from among multiple interaction paths, we have set three schemas:

  1. 1.

    Fixed. Users do not decide how the interaction is distributed.

  2. 2.

    Restricted. Users will be able to decide how the interaction is distributed in a limited way. They do not have full control over how to distribute interaction.

  3. 3.

    Free. Users are fully capable of distributing interaction over the interactive system.

Each one of these schemas has its strengths and weaknesses. While the first schema (fixed) is the most restrictive, not allowing users to decide how interaction is distributed, it is also the most simple from the point of view of the users. They only have to use the system. They are not aware of when, why and how adaptations are made. On the other hand, the free schema is the most complicated for users. They have to decide when and how the distribution has to be made. Therefore, it is important to support the schema that best fits the interactive system requirements.

2.3 Runtime Adaptations

RCDA has to dynamically categorize devices and users to change interaction to best-fit users’ tasks completion. It is not enough to describe an application’s scenario statically. Multi-device scenarios tend to change their configuration, adding or removing devices/users and consequently changing interaction capabilities. RCDA has to be aware of these circumstances. Therefore, they have to be up to date with the interactive input and output capabilities of the actors involved, adapting interaction in runtime. Therefore, RCDA has to support flexible mapping between these capabilities and the task the user/s is/are performing.

2.4 User Patterns

RCDA has to identify and support users’ patterns for task execution in cross-device scenarios. Depending on how the task is transferred between devices, the information moves between them or their physical or logical arrangement in patterns that are classified as serial or parallel. In the serial or sequential pattern the task is transferred from one device to another [3, 4]. One specialization of this pattern is the producer-consumer pattern, in which the content is produced on one device for it then to be moved to, and used by, another device [4]. In the parallel pattern many devices are coordinated for simultaneous use [4]. In the performer-informer pattern, one device has the resources to support the creation of content on other device [4]. In the performer-informer-helper pattern users use support devices (helpers) to perform traversal tasks [4]. In the controller-viewer/analyzer pattern users wish to combine device functionalities to perform different aspects of a single primary task [4]. Users also perform resource lending (borrowing resources from other devices), related parallel use (all devices are involved in a single task) and unrelated parallel use (devices are involved in different tasks) [3]. Devices can also be physically organized by mapping their physical position within the environment, following the spatial mapping pattern [2]. But there may be no spatial mapping when organizing devices [2]. The devices = windows pattern is used when devices are used as windows in the WIMP paradigm [2]. In the device = role pattern each devices is mapped with a single role for the current task [2]. In the device = storage pattern each device shows, for example, a specific document for the task [2].

3 Conclusions and Future Work

In this paper we have introduced the foundations of a new approach to handling the distribution of interactions in cross-device applications, and we have called it Responsive Cross-Device Applications (RCDA). The main characteristics of this approach are: it goes beyond screen size to design adaptations; applications are in charge of adapting interaction in cross-device environments, not users; and it makes this happen dynamically. Also, depending on how the task is transferred between devices, how the information moves between them or their physical or logical arrangement, the patterns presented have to be taken into account for the development of RCDA. As future work, and due to the complexity of RCDA, we will continue with the development of tools for the description and simulation of such complex scenarios.