Surfnet logo

Inexpensive Full-coverage Displays for the Office and Home

This is an ongoing project.

For more information please see the ASPECTA Website

Full Coverage Displays (FCDs) are designed to cover the entire interior surface of a room with display pixels. This increased display real-estate offers great potential, not only because it allows for additional large wall-sized displays and offers potential for immersive Virtual Reality (VR) systems, but also because it gives application developers an opportunity to make connections between the physical and virtual objects within a room. Currently existing FCD set-ups often require the use of projection systems which are unaffordable to most. Even with the required financial backing they have the added drawback that developing applications which make use of the added screen real-estate can be very difficult. This is especially due to the fact that application developers have to apply all required graphical transformations themselves. The aim of this special project is to create hardware which is more affordable than what is currently available on the market, and to develop an API which allows application developers to build their own software without the need to concern themselves with the graphical transformations which are involved at the projector’s side.

Ultralux which which inspired the projection strategy used by ASPECTA

ASPECTA Software

APIs

The ASPECTA Toolkit uses a client-server architecture. The server is responsible for managing a hierarchy which stores the structure of the GUI which is being displayed on the walls. The highest level of the hierarchy is the collection of surfaces that are being displayed in the room. Each surface can contain any number of windows and cursors and each window can contain any number of elements. Elements are visible objects including circles, lines, polygons, images and text.

The client would be any user program which is developed to make use of the API and may be written in any language or run on any platform. For Python programs a library has been created which provides all the available API calls and sends them over the network, however in other languages the basic JSON structures which are sent over the network can be made and sent directly.

When creating this API we wanted to ensure that it allowed developers to create software for the walls without an understanding of the background transformations that were being applied. We also wanted the API to be as easy as possible to use, both for people who were already familiar with graphical APIs and for those who weren’t.

As well as the regular API we have also provided a REST API for web-based systems which need to make use of sperical projection.

Configuration Program

A configuration program has been created which allows users to configure the walls using a graphical user interface without directly making the API calls that would be required.  They are able to use a cursor (which allows easy adjustment of its x and y axes to aid controllability over a currently warped space) to select the four corners of each surface they want to use. After they have done so the projector will connect these corners as they would be connected if there were no transformations. On the walls the distortion caused by the projection method would make these connecting lines appear to be curved, and the user would adjust waypoints on these lines to make them appear straight on the wall. All room layouts can be saved and used again in the future so that users don’t have to configure a new layout upon each launch.

Evaluation

A user evaluation is currently in progress to test the usability of the API. Each participant has been given the task of setting up the room and developing a simple note posting and dragging application. They have been provided with a template which provides a client side GUI and all the code necessary to capture mouse movements and click events while dragging notes around the walls, but have been expected to implement all the necessary API calls that need to be sent to the server. Both the configuration and software development were followed by their own short interview which gathered information about their experiences with the toolkit.

The results of this evaluation are being written up for submission to ITS 2015.

Impact

Sydney Pratte and Frank Maurer from the University of Calgary have used the ASPECTA toolkit in a project which they are currently writing up for the ITS 2015 conference. This project combines ASPECTA with the Society of Devices (SoD) Toolkit to create a system which tracks people in a room using Microsoft Kinects and projects information in the environment using the REST API of the ASEPCTA Toolkit based on the user’s current location and actions.

Cody Ede from the University of Saskatchewan is currently beginning to use the ASPECTA toolkit for his research which will explore how Fitts’ Law applies to an immersive environment which contains many of the usual distractions which you would expect in a standard room environment. (such as bookshelves)

Pufferfish Displays are also looking to make use of the ASPECTA API as experts in the field of spherical projection. An upcoming meeting is scheduled to present the current version of our project.

An example of what the final hardware may look like when combined into a single unit