28 May 2011
This post is part of a series describing the August 23, 1966 project.
The software core of the August 23, 1966 project is a Java software system named “Twoverse,” a parallel universe that exists only in the digital realm.
The Twoverse architecture can be split into three levels - server, client and input. This diagram (full size) includes some unimplemented elements, such as input from a sound sensor.
The broad concept of Twoverse includes mechanics and partial system specifications for a massively multiplayer online game. The scope was minimized due to time constraints and to better fit the gallery installation. However, even with a smaller scope, a complete vertical slice of the entire system was implemented and used. Downsized from a universe of many types of objects, the system currently supports a universe made of stars with a few properties, and constellations that connect them with meta-objects known as links. Extensibility was considered from the beginning of development, so adding new objects will require a minimal amount of work.
The system relies on a central server to provide the following:
Using the XML-RPC API, many types of clients are possible. This includes graphical, text-based, mobile, e-mail, etc. The clients implemented for the gallery installation are graphical clients written using the Processing development environment and include the following features:
The graphical client uses the XML-RPC API as defined by the server, and updates its local cache of the universe via the server’s XML feed.
A screenshot of the star chart in a web browser during the time the gallery was open:
The client and server for Twoverse share many common functions, and were designed to inherit from the same code hierarchy. They both stem from a Twoverse Java library, which includes many utility classes, shared functionality and the server executable. The Twoverse library provides these features and many others:
Additional documentation is available as Javadoc comments with the source code.
A screenshot of the multi-touch Client with a group of stars displayed at the default zoom level. The lines connecting the stars are constellations drawn by a user.
A screenshot of the multi-touch Client viewing the details of a single star.
A screenshot of the multi-touch Client zoomed in for a closer look at a cluster of stars.
Continue to the next section, details of the multi-touch table.