Virtual Presence Technical Note 1 2007/07/21 An Introduction to Virtual Presence About this Note Number 1 Version 1 Date 2007/07/23 Category Informational Status Draft Short Name Introduction Document VPTN-1.txt Authors Heiner Wolf, hw, wolf.heiner@gmail.com Working Group - Dependencies VPTN-2: Location Mapping VPTN-3: User Data Supersedes - Superseded By - Abstract An introduction to virtual presence (VP) on the world wide web. This document is supposed to be a primer for developers who start VP implementation. The document explains the VP basics. It includes use cases and examples. It explains the architecture of web based virtual presence. Table of Contents 1. About Virtual Presence.............................................1 2. Basics.............................................................2 3. Design Goals.......................................................2 4. Architecture.......................................................3 4.1 The Network....................................................3 4.2 Location Mapping...............................................3 5. Security Considerations............................................4 6. References.........................................................4 7. Revisions..........................................................4 1. About Virtual Presence Virtual presence (VP) means being present at virtual locations. In particular, the term 'virtual presence' denotes presence on web locations pages and web sites. People who are browsing a web site are considered to be virtually present at a web location. Virtual presence is about presence, mutual awareness and synchronous communication on the web. There are of course other virtual spaces, especially elaborated 3D spaces like multiplayer online games, chat, living, and education oriented worlds. Most of them have built-in presence and communication. Creating a virtual presence system for the web adds similar presence and communication features to ordinary web pages. Introduction 1 Virtual Presence Technical Note 1 2007/07/21 Virtual presence takes place on the existing web content infrastructure. We believe, that virtual presence will become an integral part of the web like chat is a part of MMOGs. 2. Basics Adding presence and communication to the web is simple. A chat room can provide presence and communication for a web page. The only thing to do is to associate a chat room with a web page. If the participant list is displayed on the web page, then the web page becomes a meeting room. The association between URLs and chat rooms is the corner stone of VP. The mapping from URL to chat room is called location mapping. The location mapping generates a chat room address for each document URL. The location mapping is unambiguous. Each URL is mapped to exactly one chat room address. The mapping is identical for all users, so that all users who browse the same web page enter the same chat room. For details see VPTN-2 (Location Mapping). VP client are actually chat clients. Once the client learns of other participants in the same room, it usually needs more information about the other user in addition to the nickname. If the client wants to show a user avatar, then it needs the avatar image, a URL of the image, or another reference that leads to the image. Often, there is more about the user to display. Any time users meet, they need the public display data of their peer. VPTN-3 (User Data) describes how this data is exchanged. 3. Design Goals The VP network is a distributed network of federated servers using open standards and protocols. Like the web, VP has no central point of control. Anyone may set up a chat server for VP. Anyone may implement a VP client. Anyone may connect to the VP network. - Web site operators control the association between their web pages and chat rooms. They may exercise a kind of domestic authority on their pages. - There is no specific VP protocol. Any chat protocol may be used in the VP network. There may be open protocols like XMPP and IRC, or proprietary protocols. - There is no specific VP server implementation. Any chat server can be used as VP server. There may be open source servers or proprietary server software. There my be chat servers which implement just the basic features of their respective chat protocol and there may be chat servers optimized for VP. - There is not just a single VP client. Each client that dynamically joins chat rooms based on the web navigation is a VP client. Implementing a basic VP client is simple. A client can be text based, but there may also be sophisticated feature-rich multi- protocol 3D clients. The glue that keeps the VP network together despite all the freedom is the common location mapping. Introduction 2 Virtual Presence Technical Note 1 2007/07/21 4. Architecture 4.1 The Network The VP network consists of VP clients and VP servers. VP clients are actually chat clients, which use a chat protocol as VP transport to join and leave chat rooms depending on the web pages visited by the user. VP servers are actually chat servers. They host chat rooms which are associated with web URLs through the location mapping. 1. Web Client <------- HTTP -------> Web Server | 2. | URL V 3. VP Client <--- VP Transport ---> VP Server Figure 1: a web client enters a web page (1). The VP client learns about the document URL (2). It maps the URL to a chat room address and joins the room (3). 4.2 Location Mapping People on the same page (or other pages which map to the same chat room address) meet in the room. They can meet, because they use the same location mapping. Location mapping always returns the same result given the same URL. The basics of the location mapping are as simple as that: - the URL is parsed by a regular expression - matches are used to construct the chat room address Example: The URL: http://www.virtual-presence.org/notes/VPTN-1.txt is matched by the regular expression: http://www\.(virtual-presence)\.org/(.+)/.* Using the replacement expression for the room name: \1-\2 we get the chat room: virtual-presence-notes Using the chat server address and protocol: xmpp:chat-server.org we get the URL of the associated chat room: xmpp:virtual-presence-notes@chat-server.org All VP clients of visitors of the web page know, that people meet in this chat room. Actually people visiting all documents in the '/notes' folder will meet there. Other documents of the same server may be associated with other rooms by additional mapping rules. Documents of other servers will be mapped to other chat rooms, which may be hosted by other chat servers, maybe even using a different chat protocol. Introduction 3 Virtual Presence Technical Note 1 2007/07/21 5. Security Considerations This is just an introduction. Please see the specifications. 6. References [1] VPTN-2: Location Mapping, Virtual Presence Technical Note, http://www.virtual-presence.org/notes/VPTN-2.txt [2] VPTN-3: User Data, Virtual Presence Technical Note, http://www.virtual-presence.org/notes/VPTN-3.txt 7. Revisions 1 hw 2007/07/23 Created Introduction 4