Introduction:
As it happens, the computer system behind the Golem is based on the GNU/Linux operating system, the perl computer language, the apache webserver, and commodity machines, which are the basis of the world-sweeping open source movement. This choice of technologies is based on cost performance, ease of use in a creative context, and the degree to which they enable the efforts of one or a few people to be magnified many times. It seems fitting that the technical foundation of the Digital Golem is in itself a Golem on its own ? for it is the concentrated product of thousands of people working in close textual collaboration from many nations and cultures.
Click here to have an Overview of the Golem project System Architecture (.pdf - Acrobat Reader) |
To read PDF documents you need Adobe Acrobat Reader
System Overview:
The Digital Golem artwork has two major parts: a web application hosted on the global internet which will handle chat and email, and a group of interactive, interpretive clients accessible only by visitors to the exhibition space.
The internet-hosted server has the following tasks:
- manage chat discussions
- run a web-based tool to navigate chat discussions
- respond to requests from exhibition client software (see Responsibilities to Clients, below)
- manage incoming email, maintaining a database of participants and their phone models
- extract and store images from mail attachments
- send images to other participants
Other possible additions include:
- manage a mailing list
- build a collage of incoming email/video
- interact with Internet Relay Chat (IRC) chat rooms
- include some kind of automatic translation based on freely available services like Babelfish
The general architecture of the chat application has not been completely defined at this moment. It will either use apache/mod_perl or a perl-based server using for example the Perl Object Environment (POE) framework. Perl is used because the developer has much experience with it, and because it is very easy to hack. Also, it is called the only postmodern computer language for a reason; writing Perl is a uniquely creative mode of speech. It is also called the duct tape of the Internet for a reason too: it just works.
Presentation and navigation software has not yet been decided, although it will leverage linux and is leaning toward a combination of an OpenGL/X-Windows based presentation and lower resolution text terminals. One requirement is the ability to handle different languages. We have considered a low-resolution ANSI telnet terminal for each paving stone (projector) of Tsunawatari, and this is still possible especially if costs are a problem (i.e. several obsolete machines could be used). However this part also may be high resolution so that we can display photographic icons with participant's speech when available. Depending on the exhibition space it may also be cost-effective / interesting from a creative aspect to use a miniature linux box, wireless LAN, and attached projector to create an easily reconfigurable solution to visualizing a portion of the chat stream. In this sense we have been considering experimenting with different topologies for the display network in Tsunawatari.
Responsibilities to Client terminals:
- Tell Golem's forehead (Son Front) the most popular words used by speakers if he asks.
- Send Tetra (Tetragramaton, the Golem's Semantic Organ and the user's box-like navigational space) presentation displays based on navigation requests by its driver.
- Send portions of the raw stream to display clients which make up segments of the Tsunawatari walking display.
- When the Golem decides to send email or photos to people's phones, it should not crash them by overflowing their memory. (see Snapshot Gates, below)
Technical requirements:
Base System:
- Online Site Server
- linux hosted or colocated server at hosting company
- 512MB-1GB memory recommended
- large disk space (100GB) recommended to handle incoming megapixel camera images and movie clips from phones
- high quality is available without much investment
- Subsystems:
- POP / SMTP mail servers mainly to send and receive email
- Mail filter software to extract attached images
- Mailing List server (optional)
- Web server
- Chat web application
- Website
- Exhibition Space Servers
- one is a backup
- monitor/display/mouse
Tsunawatari: have a look at this installation's drawing
- basic idea is a very long, thin display window which lets people in the exhibition space walk along and follow a long-running discussion thread.
- The display is composed of a series of client machines each with a projector and network connection
- At least 4 projectors are desired, and 4 client machines (or 2 if they are double-headed). The final number of projectors depends on their capabilities, see Tetragrammaton below.
- Each display client machine logs in to the online application server separately and displays a different portion of the discussion thread's history.
- It has not been decided yet whether they will "log in" through a telnet-like streaming connection, or whether the clients will run their own applications which periodically request updated information from the application server and then do more complex rendering. This will depend on our survey of available chat software and final decision on needed features. For example it would be relatively easy to do this by running a private IRC chat server just for the exhibition display clients.
- Wireless LAN instead of wired ethernet cables may be cost effective and creatively more interesting depending on the exhibition space and whether we devise more interesting topologies.
- It is possible that we may include a sideband allowing annotation or display of crossreference links or images. For example visitors with phones can post responses to the chat stream, but they may also be granted special permission regarding annotation of the chat stream shown in Tsunawatari.
Tetragrammaton: have a look at this installation's drawing
- Tetra is a space for filtering, navigating, and playing with the discussion streams.
- A box or sphere will be used to project various information views on its walls with navigation by wireless 3D mouse, polyhemous head tracker sensor on a wand, or similar pointing/selection device to determine which object the user/driver wishes to activate.
- Depending on time/budget the interface may be rendered in anything from ANSI terminal to OpenGL-based menus and up to more advanced animation. We should be able to provide something useful and engaging while keeping it simple.
- Contacts main application server to get information to display. High resolution rendering done on the client machines.
- Requires at least 4 projectors (or 8 if using a dome)
- 4 to 8 linux personal computers to drive them, with high quality video capability (half the number if using double-headed video cards)
- audio effects not yet decided
- it is possible that the display may be changed to evoke the idea of navigating through a hypercube of discussions and images. This depends on whether a useful navigation method can be developed for such a display (using many virtual rooms, like in the film CUBE) in the time frame allowed.
- Intend to explore the presentation and navigation among individual identities and topic threads of the text discussion
- Intend to explore possible presentation of photos and video clips sent by phones and matching these graphics communications to the chat space.
- This presentation resonates with the CAVE three-dimensional environment. Possibly we may be able to use some of this technology. (see reference below)
Son Front: have a look at this installation's drawing
- one networked linux pc and projector
- application server tells this client pc what the most popular word is
- client pc renders the word in either Xwindows or Gimp and displays image with projector
- client software is not completely decided. It may either be a web browser such as Konqueror which would be a relatively simple display, or a POE-based client which uses drawing software (like The Gimp) to update an internal website (viewed by Konqueror) or to update an image displayed in a root window for example. The decision on presentation will be based on discussions with the artists and a brief survey of display options.
Snapshot Gates: have a look at this installation's drawing
- uses the server hosted on the global Internet and described in the base system above
- may wish to provide a PC or phone to let visitors to the exhibition to participate. This PC could also display incoming photos and the chatroom web interface (depending on artistfs decision).
- Potentially a printer might be useful to keep a record of the exhibition.
- support from phone manufacturers will be sought if necessary especially regarding the capabilities of different phones. This is important to know when the Golem sends photos to participants.
- the developer has much experience (including introducing to Japan) software which includes a database of such phone capabilities. If necessary we may ask for permission to use this database
- application server will likely use software such as The Gimpfs Perl-Fu server for photo resizing, or transcode for video stream transformation, to attempt to send the right size and format images to participants the Golem selects. The developer has experience building such a system for automatic image compositing (gMagic Handsh) using Perl-Fu. The purpose of this facility will be:
- to maximize the number of people who can receive any given graphic communication, for example people with phones that can receive photo email will receive a single frame from a video.
- to ensure that their phones donft crash from memory overload
- to enable people with video cameras or digital video cameras around the world to also send photos/video
- to fulfill the promise of digital pluralism in a world of conflicting tenchical and cultural standards, i.e. gmake the world safe for collaborationh
- allow the artist (if he desires) to play with transforming the photos/video in realtime.
- Most likely we will try to keep this part as simple as possible by sending no photos to people who have not sent a photo. Since some phones may be able to send very large photos, we will most likely choose a single standard resolution and resize everything to that, with more processing possible if time allows.
Chat Room's Website: have a look at this installation's drawing
- uses the server hosted on the global Internet and described in the base system above
- people around the world can post message and upload photos
- possibly may allow video upload or registration of a live stream
- links to webcams from prescheduled video-capable participants
- statistics on use of chat site and received/sent email
- allows users to navigate among chat messages
- possibly may include heuristic algorithm to determine the language being used in a given message (for language filtering)
- might need to get permission from provider if we decide to run an IRC server on it
- low latency (delay) and high bandwidth (speed) to / from Japan would be useful
- filtering based on subject or possibly word patterns, method not completely decided. See Tetra above.
Mailing List:
- uses either the base hosted server, or possibly a separate server leased by the artist
- a mailing list may be set up for the project if necessary
Technical references:
How can I participate? / Frequently asked questions
|