We have started building our own DynamicLand- / FolkComputer-inspired communal computer -- where the physical space around us gains new interactive abilities to help us think, create, and play together. A "Room OS" to start with, and eventually, a "Tangible OS" which you can take anywhere[^1].
[^1]: Also see Ubiquitous computing,
This first stage experiments with some infrastructure technologies and ideas.
Our main goal is to progressively hook together a queryable, shared world-model, a camera, a projector, and small programs to achieve a projector-camera system[^2].
[^2]: For a review and further discussion, see eg UbiBeam: Exploring the Interaction Space for Home Deployed Projector-Camera Systems
Our choices for this iteration:
System architecture: small, independent, and loosely-coupled peers communating via a shared workspace; following ideas from P2P architectures and Microkernels
Programming paradigm: inspired by Production Rules, Blackboard Systems, Tuple Spaces, and Reactive programming
Modelling the interactive space: via O'Doyle Rules
Communication technology: Websockets, with p2p semantics
Host language(s): Clojure
This is the first brick in the wall. It is not yet a house. It is not even a room. But it is a lot of fun.
Copyright © 2024 Barbican Inference
This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which is available at http://www.eclipse.org/legal/epl-2.0.
This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability set forth in the Eclipse Public License, v. 2.0 are satisfied: GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version, with the GNU Classpath Exception which is available at https://www.gnu.org/software/classpath/license.html.