Reads/Writes AR data to blips in a wave.
Each blip contains the data necessary to
place one object at real world co-ordinates.

This object data would normally be a link to a
3d mesh, but could also be text (facing plane),
sound, or other arbitrary data of value at that
Small data, such as text, could be handled inline
in the blip,while larger data could be handled
with a http link to a sever, or a IP:Portnumber
for temporary data from a clients device.
File Sever
When an AR blip indicates a file needs
to be downloaded, this downloads and caches it to
a directory which the renderer can access. When
the user posts a model, this file sever can host it
ready for other clients to connect to and download.
(Can use standard ftp protocols?)

The wave providor themselfs might also provide
attachment space within the wave.

Taking Log/Lat/Alt specified by the Protocol interface,
(and possibly meshs downloaded by the filesever),
it overlays the objects in the field of view in the correct
The renderer will also place meshs aligned to real world
objects where such associations have been specified by
the protocol. This could be simple marker-based alignment
or more sophisticated markerless solutions, such as
Total Immesions D’Fusion technology.
(Users current GPS co-ordinates and direction
taken from the device they are using.
This data should get progressively more accurate
as technology improves. At some point, a
software-based solution using pointclouds of citys
might be the most accurate method)

The interface allows the user to log on/off
any channel, as well as positing a message in
mid-air at the current co-ordinates. Later
versions could allow moving/editing and
3d modeling, with the ARBlips in the wave
being updated in near-realtime to reflect

AR Urban Games Wave
(Another Client)
Read only city-map wave
Arn v0.001 'SkyWriter' - Basic concept for an open multi-source AR system using GoogleWave
Basic Starting Concept:

a) To allow anyone to write messages in midair, storing the real world location, as well as the message content,
as a Blip within a Wave.

b) To allow users to connect to and open one or more specific waves using their device.

c) To allow users to see these messages from any and all Waves they have open.


The protocol/framework developed should be able to be able to handle both loosely bounded
facing text (todays "AR"), and in future tightly bound meshs skinning real world locations. (The AR goal)

To achieve this protocol will be designed to enable posting 3d objects rather then just text,
moving objects already posted to new locations, and allowing complex games to be developed
based around IRC bots moving/changing the objects posted. Even if clients and hardware
cant yet tie 3d data precisely to locations, the ability in the protocol should be there.

Additionally, Wave Bots could be used to provide interactive elements, altering objects world-world positions
or data automaticaly based on various critera.

An AR Blip would be an XML formatted string containing all the information
needed to post a message or 3D model at a specific location in real space. For an
example and more information of how this could be formatted, see
"Anything Anywhere"; If a bit of text is all that's being displayed in midair,
rather then a 3d object, it could simply put inline within the
AR Blip;

To keep the diagram to the left simple, Ive just refereed to the
basic flow of information. In terms of coding, some interactions would
need to be more complex.
For example, the gps co-ordinates would determine if a mesh was in range, or
nearly in visual range, and thus if it needs to be downloaded or not.
Obj=”HELLO WORLD! This is a demo message”
Loc=”(49.5000123,-123.5000123) Alt: 10.123m"
Rot = "55.5deg, 12Elv"
(example concept of AR update string,
details still to be discused)
Http hosted 3D Content.
The blips can link to remote data hosted on
This data could just be a KML file, or a
purhapes something more elaborate, like a
ARML or Layer format world.
Each wave contains one or more AR
objects, and can have various user-access
permissions assigned to it.
Wave Protocol Interface