As we argue in [Eliens et al. (2007)],
the suprising success and appeal of Second Life
may be attributed to an optimal combination of
avatar modification options,
gesture animations, in-game construction tools,
and facilities for communication and social networking, such as chatting and instant messaging.
Incorporating elements of community formation, and very likely also the built-in physics
and the inclusion of elementary economic principles,
seem to be the prime distinguishing factors
responsible for the success of Second Life.
In addition, the possibility of recording collaborative enacted stories,
using built-in machinima certainly
to its appeal.
Creating a Platform for Interaction -- Virtual versus Real
The first idea that comes to mind for deploying Second Life as a
platform for education, naturally, is to
to offer courses online in our virtual lecture room.
But, although we do have plans to give lectures (college)
on law, probably including the enactment of a particular case,
we do consider this approach as rather naive, and frankly we see
no reason to include what may be considered an outdated
paradigm of learning in our virtual campus, where there
might be more appealing alternatives.
Similarly, using the virtual laboratory for experiments
might not be the best way to offer courses, although,
again, we do intend to provide a model of a living cell,
allowing students to study the structure, functionality and behavior
of organic cells in virtual space.
Is decision-making in a virtual environment the same as or similar
to decision-making in the real world?
And what about investments, and starting a new company?
From a research perspective, the Second Life economy, powered by Linden dollars
and governed by the Lindex-exchange, provides an
interesting platform to study decision-making behaviors,
for example with a group of students in a course about
However, instead of studying patterns of communication,
it seems at this stage more interesting to explore
how to enhance communication in a shared virtual world
by actually deploying virtual objects, instead of relying
on chatting and textual information,
and to design tasks that require cooperation in an essential manner.
One way to establish a relation with reality
is to provide a virtual context to objects and activities
existing in actual reality. For example in a cultural heritage application,
we explored transparant overlays in 3D to
relate paintings to the world they depict, [Context].
In addition, we would like to deploy Second Life
as a platform for serious games,
such as service management games, [Eliens & Chang (2007)].
Serious corporate games can then be located in virtual replica of
the actual offices in Second Life, thus promoting (corporate) identification
with its real counterpart.
The goal of this paper is to explore the use of web services for, among others, the creation of
such games, and to provide a behavioral model that allows us to give an interpreation to
users' behavior patterns, and may perhaps even help to guide users' behavior in Second Life, by
providing appropriate recommendations.
Web Services and Mashups -- a brief overview
By now the phrase Web 2.0 as well as applications representing it, such as Flickr and YouTube,
are well established, and enjoyed by a wide community.
Each day new items are added to the growing list of mashups,
and the number of web services that constitute the building blocks of mashups also shows a steady growth.
Mashups seem to be the easy way to start up a company, since the technology is relatively easy and,
making use of appropriate services, initial investment costs can be low. Cf. [Shanahan (2007)].
What Web 2.0 stands for, from a technical perspective, is
succinctly expressed in
XML Is The Fabric Of Web 2.0 Applications:
And eventhough many alternative representations, such as
all in all XML may be regarded as the interlingua of the Web 2.0.
Before taking a closer look at the communication protocol(s) underlying Web 2.0 and
de-construct the tight link of AJAX to HTML in-page formatting, it is worthwhile, following [Shanahan (2007)],
to give an overview
of a selected number of services, that may be used to create mashups:
- The server application typically exposes data through XML
- The interaction model is web services
- Mashups combine multiple webservices to create new types of applications
Although mashups featuring google maps seem to be the dominant mashup type,
other services such as offered by del.ici.us, Flickr and BBC might prove to be more worthwhile
for 'serious' applications.
For example, for developing e-commerce applications
offers services for
product operations, such as item search and similarity lookup,
remote shopping carts, to create and manage purchase collections,
customer content, to access information contributed by customers,
and third party listings, to find related resellers.
It is important to note that many of these services, as for example the shoppong cart services,
may be used independently of the commercial offerings of Amazon!
Most of the service providers and services mentioned above are accessible using a choice of
protocols, including WSDL, SOAP, XML-RPC and the REST protocol.
The REST protocol seems to be most widespread and as we will discuss in the next section, it seems
to be tho most appropriate protocol in Second Life.
REST stands for Representational State Transfer.
In essence, the REST protocol uses the url as a command-line for stateless RPC invocations,
which allows for services to be executed by typing in the
address box of a web browser.
A great tutorial about the REST protocol can be found in
Joe Gregorio's column
column: The Restful Web.
As fully explained in [Van der Vlist et al. (2007)], the phrases representation, state and transfer,
respectively, stand for:
In practice, the use of REST means that the state associated with a resource or service must be
managed by the client.
Together with mechanisms such as content-negotiation and URL-rewriting, REST provides a simple,
yet powerful method to invoke services using HTTP requests.
A common misunderstanding is that AJAX is intimately tied to web browsers and in-page HTML formatting.
This misunderstanding is due to the fact that AJAX is often used to improve the
user experience of web pages bij emulating RIA (Rich Internet Applications)
using DHTML and CSS.
However, the real meaning of AJAX in our view is that AJAX allows for
asynchronous client-controlled server requests, that are executed without an immediate visible
effect for the user.
We explored the use of AJAX and web services in an X3D/VRML implementation
of PANORAMA, a system meant to support social awareness in a work environment, [Vyas et al. (2007)], [Social].
PANORAMA represents casual encounters in the work environment and displays
self reflections, that is postcards and other item contributed by employees, at a large display
in a central public space.
In section 6 we will discuss how to realize PANORAMA in Second Life, from both technical and aesthetic perspectives.
Fig. 2, taken from [PanoramaWeb], illustrates the architecture of an Ajax-based web implementation of PANORAMA,
which includes facilities for game playing as occasional battle(s),
using the google GWT toolkit
to allow users to contribute their image material, and a PHP server for storage and retrieval of images.
- representation -- encoding in a particular format
- state -- data encapsulated in an object
- transfer -- using HTTP methods
|Fig. 2: Architecture PANORAMA (Web)|
The Web 2.0 offers a lively arena for consumers and developers alike,
with a multitude of blogs discussing the future of the web.
in Dion Hinchcliffe rebuttal of
Jeffrey Zeldman's Web 3.0 – Web 1.0 = Web 2.0 blog, entitled
Is Web 2.0 Entering "The Trough of Disillusionment"?
it is suggested that
our services could even be more powerful by creating
Although the notion of sematic web technology is widely known and accepted,
we include for reference
a characterization of Nova Spivack
quoted from Dan Farber and Larry Dignan's
blog Web 2.0 isn’t dead, but Web 3.0 is bubbling up:
The Semantic Web is a set of technologies which are designed to enable a particular vision
for the future of the Web – a future in which all knowledge exists on the Web in a format
that software applications can understand and reason about. By making knowledge more accessible
to software, software will essentially become able to understand knowledge, think about knowledge,
and create new knowledge. In other words, software will be able to be
more intelligent – not as intelligent as humans perhaps, but more intelligent than say,
your word processor is today.
But even in the semantic web community the discussion whether to go for folksonomies
or formal ontologies rages, [Folk],
and it is not clear at this stage what will prove to be more powerful, HTML-scraping,
tags, microformats, or full ontologies.
Anyway, from our perspective, incorporating web services in Second Life, we are not in a position to
enter this discussion, but simply explore what is useful in realizing meaningful mashups
in 3D virtual environments.
To conclude this brief overview of web services and mashups we wish to give
another quote from Dorai's Learnlog, this time from Jon Udell, in his blog on his move to Microsoft:
The most powerful mashups don't just mix code and data, they mix cultures.
which provides a challenge that trancends all issues of mere technological correctness.
Technological Infrastructure -- using Web Services in Second Life
Second Life offers an advanced scripting language with a C-like syntax
and an extensive library of built-in functionality.
Although is has support for objects, LSL (the Linden Scripting Language) is not
object-oriented. Cf. [Eliens (2000)].
Scripts in Second Life are server-based, that is all scripts are executed at the server,
to allow sharing between visitors.
Characteristic for LSL are the notions of state and eventhandler, which
react to events in the environments.
Among the built-in functions there are functions to connect to a (web) server, and obtain
a response, in particular (with reference to their wiki page):
Other functions to connect to the world include sensors,
for example to detect the presence of (visitors') avatars, and chat and instant
messaging functions to communicate with other avatars using scripts.
In addition, LSL offers functions to control the behavior and appearance of objects,
including functions to make objects react to physical laws,
to apply force to objects, to activate objects attached to an avatar
(as for example the phantom Mario sprites mentioned earlier),
and functions to animate textures, that can be used to present slide shows in Second Life.
On the Mashable
Social Networking News site a brief
overview is given of the use of web services in Second Life, entitled
Second Life + Web 2.0 = Virtual World Mashups.
To access Second Life from outside-in (that is from a web browser), so-called slurls may be used,
for example to reach VU @ Second Life,
and all slurls listed in
slurlmarker may be used,
also to activate in-world teleporting using scraping techniques.
As remarked in the
by Matt Biddulph, Second Life (currently)
lacks the ability to parse XML or JSON,
so the best way to incorporate web services is to set up a web server with adequate
As Matt Biddulph indicates, to access flickr photographs
for a particular user (avatar), a web server may contain the following resources:
in response to a 'touch' event, invoking touch results in consulting the database for the user's tag
and asking the Flickr API for a random photo with that tag.
It then returns a string containing the url for a particular photograph.
LSL functions used in this application include sensors, to check for presence,
listen functions, to respond to spoken commands,
and touch events, for the physical interface.
In addition to supporting
strings and lists, LSL provides a perl-like split function to convert a string into a list
of strings, thus allowing for processing multiple items in response to a server request.
Another example of using web services in Second Life is writing
from within Second Life using the
developed by Koz Farina who also is reported to have found a flash hack
that allows for
reading RSS feeds.
As explained by Koz Farina
- /seen?user=SomeAvatar -- records the presence of SomeAvatar
- /touched?user=SomeAvatar -- invokes flickr API with users tag
- /set_tag?user=SomeAvatar&tag=FavoriteTag -- records SomeAvatar's favourite tag
Quicktime supports Flash, but only up to Flash version 5. We're up to version 9 on that now!
Luckily, I have been dabbling with Flash since the early days,
so already knew how to do this 'the old way'... So,
Flash is doing all the work. No LSL at all... I heart feeds.
Did I say 'I heart feeds?
The RSS display uses the ability to stream Quicktime video in Second Life, and again the
mashup is not created in Second Life but by appropriate server support.
In a similar vein we may incorporate live
for example by using
to capture and organize live camera input, possibly together the screen output of
other applications such as powerpoint, which must then be sent to a
streaming server supporting Quicktime, such as Apple's
which may then be accessed from Second Life to texture a display object.
another Web 2.0 to Web 3D phenomenon, announced in
New World Notes,
we may mention the used of
Twitter messages, that allow residents to send and receive message about
A similar service is reported to exist for jaiku messages.
Living in a Virtual Economy -- Applications
Mashups on the Web are interesting representatives of what one may call
a virtual economy, with a business-model that is not grounded in traditional
production and trade values, but rather consists of value-added services
with an indirect, albeit substantial, financial spin-off, due to recommendations and referrals.
The basic mechanisms in a recommender economy are, according to [Kassel et al. (2007)]:
Where the principles underlying this virtual economy have definitely proven their value in first (ordinary) life economy,
what are the chances that these principles are also valid in Second Life?
According to the media companies selling their services to assist the creation of presence
in Second Life,
there are plenty
New Media Opportunities In The Online World Second Life,
to a possibly even greater extent, as they boldly claim, as in what they call
the predessor of Second Life, the World Wide Web.
To assess the role web services, including semantic web services, may play in Second Life,
it seems worthwhile to investigate to what extent web services can be deployed to
deliver more traditional media, such as digital TV.
To support the business model of digital TV, which in outline may be summarized as
providing additional information, game playing and video on demand,
with an appropriate payment scheme, [Daskalova & Atanasova (2007)] argue in favor of
the use of a SOA (Service Oriented Architecture),
to allow for a unified, well-maintainable approach in managing collections
of audio-visual objects.
Such services would include meta-data annotation, water-marking for intellectual property protection,
and search facilities for the end-user.
[Atanasova et al. (2007)] even propose to wrap each individual audio-visual object in a (semantic) web service
and provide compound services based on semantic web technologies such as
(OWL-based Web Service Ontology)
(Web Service Modelling Ontology) using semi-automatic methods
together with appropriate semantic web tools,
for the description and composition of such services.
Obviously, there is a great technical challenge in creating such
self adjusting service environments.
With respect to the application of web services in Second Life, however, a far more modest aim, it
seems that nevertheless the business model associated with the delivery of media items through
digital TV channels may profitably be used in Second Life, and also the idea of wrapping media items in
web services has in some way an immediate appeal.
Leaving the economic issues aside we will briefly characterize two applications that we
envisage to realize within the virtual campus of VU @ Second Life.
The first application is a game meant to give information about climate change.
More specifically, as a submission for the Dutch Contest for the Communication of Science, we
have developed, in close collaboration with the VU Climate Center,
the Clima Futura game, that
invites players to manage resources related to climate change, over a period of 100 years, and also allows the
player to play minigames, to gain access to audio-visual information about scientific developments as well as
political issues related to the inconvenient truth of climate change.
Although we do not intend to realize the whole game in Second Life, we actually use flash
to reach an audience as wide as possible,
as a pilot parts of the game could fruitfully be realized in the VU virtual campus,
in particular the search for knowlegde, that is looking for an expert in a particular area of
A similar quest was implemented in our Half Life 2 based game VULife, [VULife], where the player
had to visit nine information spots, which resulted in displaying in a HUD nine square matrix the location of
a hidden treasure, which was then actually the power to use arms.
Technical issues in realizing Clima Futura in Second Life are support for ranking, as well
as meta-information with respect to locations
where relevant information can be found, which may be realized with the techniques indicated
in section 5.
Another issue is giving flexible access to video material related to specific topics in climate change.
Another application we wish to discuss is PANORAMA, already mentioned in section 5.
In developing PANORAMA we proceeded from the assumption that people somehow like to have a feel of what is
going on in the workspace, although not in any detail, and also like to see items of personal interest,
including (their own) birth-announcements and sport troffes.
The original version of PANORAMA was developed in DirectX, and was meant to be displayed on a large screen,
with a static viewpoint on a dynamically changing scene, reflecting the activity in the workspace and
the self-reflective contributions in an artful way.
Moving from a central large screen in first life to a visualisation embedded in Second Life,
which is moreover subject to first-person viewpoint dynamics, is quite a challenge.
The most simple solution would be to project the large PANORAMA screen onto a display object
in Second Life using live video streams but this would leave that challenge unanswered.
Embedding PANORAMA in Second Life would allow us to observe, in more detail than in a previous
user study, the behavior of users, that is, to be more precise, the proximity to particular objects
of interest, the duration of their presence, and, using the mechanisms of recommendation, their interest in
related items. Technically, such monitoring can be achieved using the sensors and listeners described
in section 5. To make sense of such data, however, we need some model that allows for an interpretation
that is more meaningful than the mere registration of presence.
- cross sale -- users who bought A also bought B
- up sale -- if you buy A and B together ...
Models of Behavior -- Tracking User Interaction
Our virtual campus in Second Life already allows for performing simple statistics, by recording the presence
of users at particular spots in the virtual world, using sensors and listeners installed in 3D objects.
Since the LSL script-based counters appear to be rather volatile, tracking data are sent to
a web server and stored in a database.
This mechanism can easily be extended to a more encompassing form of user tracking,
recording for a particular user not only presence at particular spots, but also the duration
of presence, the actual proximity to objects, and the proximity to other users,
as well as explicitly spoken comments or actions such as the donation of (Linden) money.
In [Recommend], we introduced the notion of serial recommender,
which generates guided tours in 3D digital dossier, [Dossier], based on (expert)
user tracking. To incrementally refine such tours for individual users,
we used a behavioral model originally developed in [Privacy]
to cope with privacy issues in distributed recommender systems.
In this section we will briefly sketch this model and discuss how it
applies to generating annotations for objects in Second Life, and how these
annotations may be used to provide recommendations to other users.
The model distinguishes between:
, , , ,
Using these notions, we may characterize observations about users' behaviors,
and relate these behaviors to features of the object involved. Based on observed behavior
we may then, taking the relevant feature space into account, indicate
ratings for both features and objects.
For example, observing that a user spends a particular amount of time and gives a rating r,
we may apply this rating to all features of the item, which will indirectly influence
the rating of items with similar features.
B = [ time = 20sec, rating = r ]
F = [ proximity = 0.2, type = postcard, topic = hawaii ]
R = [ object(postcard) = r, topic(hawaii) = r ]
Following [Privacy], we may in a somewhat loose way define
the mapping which provides
recommendations from observations, either directly by applying the
mapping, or indirectly by a mapping
, which uses an intermediate matrix (or product space)
indicating the (preference) relation between users or user-groups.
As a technical aside, taken as a matrix, we may fill the entries with distance or weight values.
Otherwise, when we use product spaces, we need to provide an additional mapping
to the range of , where distance can be taken as the dual of weight,
that is .
As indicated above, the feature space may both include attributes of objects, as well as
properties of the user (avatar) and the behavior related to particular objects or
(user) avatars. At this stage it is not clear whether tracking should be done in an interval based manner,
at specific times, or triggered by proximity to particular objects.
The latter solution seems to be the most practical and effective solution, and does allow for
recording the proximity to other users.
As special case arises when users decide to engage in a guided tour, that
takes them along a number of the hotspots in the virtual world, based on some criterion,
by pre-programmed tele-hubs.
In that case we may apply the personalisation strategy introduced in [Decision],
which includes a notion of distance between objects, as an expressing of relative interest.
In a more formal way,
for a serial recommender, that provides the user with a sequence of items
, and for possibly alternatives ,
we may adapt the (implied) preference of the user, when the user
chooses to select alternative instead of accepting as provided
by the recommender, by adjusting the weight of the items involved, or features thereof,
which amounts in in other words to
an additional constraint on the distance measure for the objects or features involved.
Differently put, when we denote by
the presentation of item with as possible alternatives ,
we know that for some k, if the user
For example, from observation we can deduce :
= [ time = 20sec, forward = ]
= [ proximity = 0.2, type = postcard, topic = hawaii ]
= [ ]
leaving the feature vector unaffected, unless other information is available
indicating like or dislike due to specific properties.
Together, the collection of recommendations, or more properly revisions over
a sequence S, can be solved as a system of linear equations to adapt or revise
the (original) ratings.
This does of course not explain nor how ratings come into existence, nor what features are
considered relevant, or even how guided tours should be generated.
However, as we have demonstrated in [Ballegooij & Eliens (2001)], based on a rudimentary tagging scheme, we may in response to a query
generate a guided tour taking the topographical constraints of the virtual world
into account, for example to make a user familiar with the (virtual replica of the) actual workspace.
It seems that this approach can be generalized to one that uses alternative descriptive methods,
as long as they support feature-based information retrieval.
Obviously, both user tracking and recommendations may be fruitfully used in the
realization of serious (corporate) games, as well as to support exploratory activity
in non-serious games and (corporate) awareness systems.
Based on an overview of research and development(s) in web technologies
and our assessment of the the technical facilities offered by the
Second Life platform, we may conclude that there are ample opportunities
to incorporate web services and mashups in Second Life.
Our intended applications, moreover, covering (corporate) game playing
as well as a system for promoting (corporate) social awareness, indicate
that there are clear motivations to deploy web services in Second Life,
both for tracking users' behavior and for providing additional information
based on recommendations that may be derived from taking record of
users' behavior patterns.
Although we have sketched a first behavioral model that allows to
assign meaning to behavior and interaction, it is clear that
this model must be further refined and that we need to gain experience
in developing mashups in virtual space to arrive at effective and meaningful
compositions of web services,
supporting the realization of (serious) games,
in Second Life.
We (again) thank the students involved, Viola van Alphen (FEWEB), Tom Bestebreurtje (FEW),
Elbert-Jan Hennipman (FEW), and last but not least Bjorn de Boer (FSW),
for their enthusiasm, creativity, and of course their hard work
which led to an amazing result.
- [Framework] Atanasova T., Nern H.J., Dziech A. (2007),
- Framework Approach for Search and Meta-Data Handling of AV Objects in Digital TV Cycles,
Workshop on Digital Television, Proc. EUROMEDIA 2007, Delft, Netherlands
- [Query] Ballegooij A. van and Eliens A. (2001),
- Navigation by Query in Virtual Worlds,
In: Proc. Web3D 2001 Conference, Paderborn, Germany, 19-22 Feb 2001
- [Remediation] Bolter J.D and Grusin R. (2000),
- Remediation -- Understanding New Media,
- [DTV] Daskalova H. and Atanasova T. (2007),
- Web Services and Tools for their Composition considering Aspects of Digital TV Workflow,
Workshop on Digital Television, Proc. EUROMEDIA 2007, Delft, Netherlands
- [OO] Eliens A. (2000),
- Principles of Object-Oriented Software Development,
Addison-Wesley Longman, 2nd edn.
- [Serious] Eliens A. and Chang T. (2007),
- Let's be serious -- ICT is not a (simple) game,
In: Prc. FUBUTEC 2007, April 2007, Delft
- [VUSL] Eliens A. Feldberg F., Konijn E., Compter E. (2007) ,
- VU @ Second Life -- creating a (virtual) community of learners,
In Proc. EUROMEDIA 2007, Delft, Netherlands
- [Participatory] Jenkins H. (2006),
- Confronting the Challenges of Participatory Culture: Media Education for the 21th Century,
White Paper, MIT MediaLab
- [Economy] Kassel S., Schumann C-A. and Tittman C. (2007),
- Intelligent Advertisement for E-Commerce,
In Proc. EUROMEDIA 2007, Delft, Netherlands
- [Workflow] Nern H.J., Dziech A., Dimtchev and Jesdinsky (2007),
- Modules for an Integrated System Approach for Advanced Processing of AV Objects in Digital TV Workflow,
Workshop on Digital Television, Proc. EUROMEDIA 2007, Delft, Netherlands
- [SecondLife] Rymaszewski M., Au W.J., Wallace M., Winters C.,
- Ondrejka C., Batstone- Cunningham B. (2007). Second Life -- the official guide,
- [Amazon] Shanahan F. (2007),
- Amazan.com Mashups,
Wiley Publishing Inc.
- [Web] Van der Vlist E,, Ayers D., Bruchez E.,,
- Fawcett J. and Vernett A. (2007). Professional Web 2.0 Programming,
Wiley Publishing Inc.
- [Panorama] Vyas D., van de Watering M., Eliens A.,
- van der Veer G. (2007), Engineering Social Awareness in Work Environments,
accepted for HCI International 2007, 22-27 July, Beijing, China
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.