in|situ| Lab - Log In

Hydrascope - From web applications to hyper-applications

Master-level internship at in|situ|

Advisor: Michel Beaudouin-Lafon

Presentation slides


The goal of the internship is to create a toolkit to program hyper-applications for wall-size displays. Hyper-applications combine one or more existing web applications so that they work in a coordinated way on a large wall display.


InSitu has a large wall display called WILD, made of 32 (8x4) 30-inch screens, run by a 16-computer cluster. Developing applications from scratch for this wall is complex and time-consuming, so we are experimenting with simpler ways to reuse existing applications.

In this internship, we want to explore how to reuse existing web applications, such as Google Maps, Google docs, TripAdvisor, etc. We want to run multiple copies of one or more web apps on the different screens, and coordinate their display through a back-end, using, for example browser extensions and a node.js server. We call the resulting app a hyper-application.

For example, a search web application would show several pages of results on the left and would automatically display the pages corresponding to the first results on the rest of the wall display.

A proof-of-concept, called Hydrascope, was developed last year. We now want to design a robust version, with a toolkit that developers can use to easily turn web applications into hyper-applications.

If time permits, we are also interested in running such applications in a multi-room environment to support remote collaboration. (By the end of the internship, InSitu will have access to another large wall display in the building next door).

The internship involves:

  • familiarizing yourself with the WILD environment;
  • understanding the work we did on Hydrascope;
  • propose a set of abstractions and concepts for developers to create hyper-applications;
  • implement a toolkit embodying these concepts;
  • test your design with real users and iterate.

The internship can be 4 to 6 months long and hopefully will result in a paper submitted to a conference such as ACM CHI.

Required skills

  • Basic background in Human-Computer Interaction.
  • Programming skills in web applications (mostly Javascript, but also HTML and CSS).
  • A knowledge of node.js is appreciated.
  • A knowledge of Objective-C and programming on MacOS/iOS is a plus.