(Phys.org) -- Google this week announced it is opening code for building interactive experiences in physical spaces. The Monday posting on its open-source blog site, which carries news about its open source projects, announced the release of Interactive Spaces. As such, Google has a special invitation for developers: Make a room come alive, using this framework for creating interactive spaces. The release is described as a new API and runtime that allows developers to build interactive applications for physical spaces.
Also, openFrameworks is supported. The latter is an open source C++ toolkit for creative coding. The openFrameworks community uses the toolkit as general-purpose glue, as they phrase it, with code written to be massively cross compatible, wrapping together numerous libraries such as OpenGL, GLEW, GLUT, libtess2 and cairo for graphics; rtAudio, PortAudio or FMOD and Kiss FFT for audio input, output and analysis; FreeType for fonts; and Quicktime and videoInput for video playback.
As for Interactive Spaces, the way it works can be boiled down to concepts such as producers and consumers. The floor is a consumer of events that connects to cameras in the ceiling, which are producers of events. Any number of producers and consumers can be connected to each other, making it possible to create quite complex behavior in the physical space, according to Googles notes.
Scenarios for the intelligent rooms can be adapted with a few lines of code or original, detailed interfaces written from the ground up. Keith Hughes, who is with Googles Experience Engineering Team, comments on what developers can expect with Interactive Spaces as a collection of libraries for implementing the activities to run in their interactive space.
Implementing an activity can require anything from a few lines in a simple configuration file to you creating the proper interfaces entirely from scratch. The former gets you off the ground very quickly, but limits what your activity can do, while the latter allows you the most power at the cost of more complexity, he said.
As the framework notes suggest, design possibilities are many and applications can range from creative designers putting together novel interactive installations, to the creation of live gaming environments, to educational events where interactions support a targeted learning experience.
Google offers a sample scenario, asking us to imagine walking into a room where the room recognizes where we are and can respond based on our position in the space. Cameras in the ceiling do blob tracking, says Google, and those blobs are people walking on the floor. The floor responds to the blobs by having colored circles appear underneath the feet of someone standing on the floor and then having the circles follow that person around.
Blob-tracking fits in the realm of computer vision work, where visual modules are aimed at detecting points or regions in the image that differ in properties such as brightness or color compared to the surrounding.
Google, in discussing further plans for Intreractive Spaces, intends to add support for the Processing language, also open source, providing an environment for creating images, animations, and interactions. As such, Processing has become a familiar programming tool for those who generate art and graphical presentations.
Interactive Spaces is licensed under the Apache license 2.0 and the source code for the project is available from Google Code.
Explore further: Enhancing efficiency of multi-core processors
More information: Google's blog