ReticularSpaces

In general, most contemporary computing (hardware, operating systems, and applications) lack support for multitasking, mobility and collaboration across multiple devices. ReticularSpaces was designed as a multi-device smartspace technology for collocated collaboration.

It consists of a runtime infrastructure for ad-hoc discovery and integration of collocated devices, and a novel user interface technology for interacting with touch-enabled interactive displays ranging from small personal digital assistants (PDAs) to very large wall-based and tabletop displays.

ReticularSpaces [1, 2is a new and integrated smartspace technology which is based on the principles of activity-based computing  as the overall design approach [3]. ReticularSpaces supports:

  1. A unified interaction paradigm for handling activities, applications, resources, documents, and services across a distributed displays environment.
  2. A peer-to-peer and event-based architecture to manage the complex flow of distributed activities and documents between users, displays and devices.
  3. Support for mobile and nomadic users moving in and out of the smart space environment.
  4. Support for communication, collaboration and awareness among local and remote users.

The infrastructure of ReticularSpaces is a peer-to-peer architecture where each device can store activity information in a local activity manager. In order to share local activity information, ReticularSpaces allow displays to mount activity managers as they are discovered. Hence, if a user with a laptop enters a smart space, all devices will discover the activity manager of each other. The user can then, for example, go to the public display and mount his own activity manager, thereby getting access to activities and data on his own laptop. When leaving the smart space again, the user’s activity manager is automatically un-mounted.

RectUI – an activity-based UI for smartspaces

Designed to unify the user experience in a smart spaces, ReticularSpaces provides the ReticUI user interface consisting of two views; the Activity View (Figure 1) and the Action View (Figure 2). Both views are zoomable and panable, and are thus designed to be used on any display size, even very large wall-based displays. Contextual pie menus are used consistently to allow for users to access them across a large wall-based display. The displays do not, however, support rotation, and when used on a tabletop display, the user should be situated in ‘front of’ the table.

Figure 1 – The Activity View shows a list of activity managers available, a list of users in this smart space room, and the set of activities that are relevant in this context. Each activity (the while box) can be expanded to show its list of actions and participants. Workflow relationships between activities are shown as lines with a text label.

The activity view is the default view that is shown on a dis- play. This view initially shows a list of people and activity manager in the same location as the display; the default activity manager is always the local one.

Figure 2 – The Action View is displayed when a user resumes an action. This view shows the action’s operations and the resource each operation links to, such as a text document or a web page. The action view can show various overview panels as shown at the bottom of the view. From left to right these are overviews of: all actions in the overall activity; operations in this action; available resources; and the participants. On the right side the collaboration windows are shown, including (from the top); the action log and the remote video feeds. Users can switch between the two views by suspending and resuming an action. All user interaction works by multi-touch gestures and pie menus.

When a user clicks an action icon, ReticUI shows the action view (Figure 2). The primary purpose of this view is to show the action’s operations and the resources they link to. Since work is done at the level of operations, the action view is where the user is working with the resources in the action. Resources can be text documents, images, files, or web pages.

On the right-hand side of the action view are two collaboration panels: the action log showing both a history of events happened in this action and text entries from users; and the video window showing video feeds from participants currently having this action resumed – in this case two other users also participate. This video link is context-aware and is only established if the users are not collocated.

ReticularSpaces Infrastructure

The software architecture of the ReticularSpaces system is illustrated in Figure 3. The system consists of two main components; the ReticUI user interface component and an underlying infrastructure consisting of a set of ActivityManagers. In addition to these two components, the infrastructure is able to connect to external services, like location tracking systems, RFID readers, and other domain-specific services.

Figure 3 – The software architecture of ReticularSpaces consisting of the ReticUI UI component (shown in Figure 1 & 2) and the ActivityManager infrastructure. The ReticUI connects to a local or remote ActivityManager, and ActivityManagers can connect to each other in a distributed peer-to-peer fashion. ActivityManagers and other application-specific services are discovered on the network using mDNS/Bonjour service discovery.

References

[1] [pdf] [doi] J. E. Bardram, S. Gueddana, S. Houben, and S. Nielsen, “ReticularSpaces: activity-based computing support for physically distributed and collaborative smart spaces,” in Proceedings of the 2012 ACM annual conference on Human Factors in Computing Systems, New York, NY, USA, 2012, p. 2845–2854.
[Bibtex]
@inproceedings{chi2012-bardram,
author = {Bardram, Jakob E and Gueddana, Sofiane and Houben, Steven and Nielsen, Sren},
title = {ReticularSpaces: activity-based computing support for physically distributed and collaborative smart spaces},
booktitle = {Proceedings of the 2012 ACM annual conference on Human Factors in Computing Systems},
series = {CHI '12},
year = {2012},
isbn = {978-1-4503-1015-4},
location = {Austin, Texas, USA},
pages = {2845--2854},
numpages = {10},
url = {http://doi.acm.org/10.1145/2207676.2208689},
doi = {10.1145/2207676.2208689},
acmid = {2208689},
publisher = {ACM},
address = {New York, NY, USA},
keywords = {collaboration, distributed user interfaces, multiple display environments, nomadic computing, smart spaces},
tag={abc,conference},
pdf={p2845-bardram.pdf},
}
[2] [pdf] [doi] J. E. Bardram, S. Houben, S. Nielsen, and S. Gueddana, “The design and architecture of reticularspaces: an activity-based computing framework for distributed and collaborative smartspaces,” in Proceedings of the 4th ACM Symposium on Engineering Interactive Computing Systems (EICS), New York, NY, USA, 2012, p. 269–274.
[Bibtex]
@inproceedings{bardram-2012,
author = {Bardram, Jakob E. and Houben, Steven and Nielsen, Sren and Gueddana, Sofiane},
title = {The design and architecture of reticularspaces: an activity-based computing framework for distributed and collaborative smartspaces},
booktitle = {Proceedings of the 4th ACM Symposium on Engineering Interactive Computing Systems (EICS)},
series = {EICS '12},
year = {2012},
isbn = {978-1-4503-1168-7},
location = {Copenhagen, Denmark},
pages = {269--274},
numpages = {6},
url = {http://doi.acm.org/10.1145/2305484.2305529},
doi = {10.1145/2305484.2305529},
acmid = {2305529},
publisher = {ACM},
address = {New York, NY, USA},
keywords = {activity-based computing, distributed user interfaces, multiple display environments, smart spaces},
tag={conference,abc},
}
[3] [pdf] [doi] J. E. Bardram, “Activity-based computing for medical work in hospitals,” ACM Transactions on Computer-Human Interaction, vol. 16, iss. 2, p. 1–36, 2009.
[Bibtex]
@article{tochi2009:bardram,
Address = {New York, NY, USA},
Author = {Bardram, Jakob E.},
Date-Added = {2009-06-12 00:41:31 +0200},
Date-Modified = {2009-06-12 00:42:04 +0200},
Doi = {10.1145/1534903.1534907},
Issn = {1073-0516},
Journal = {ACM Transactions on Computer-Human Interaction},
Number = {2},
Pages = {1--36},
Publisher = {ACM},
Tag = {abc,journal,phc},
Title = {Activity-based computing for medical work in hospitals},
Url = {http://doi.acm.org/10.1145/1534903.1534907},
Volume = {16},
Year = {2009},
Bdsk-Url-1 = {http://doi.acm.org/10.1145/1534903.1534907}}