However, we also see that other factors may contribute to the success of
Second Life, such as:
success factors (2/2)
- don't miss the boat effect
- free and easy accessible 3D design tool set
- adoption by big companies like IBM, Reebok, ...
- marketing of Second Life by Linden Lab (?)
- the promise to make (real) money (?)

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
decision-support systems.
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
Dorai's Learnlog
XML Is The Fabric Of Web 2.0 Applications:
- The client side is AJAX (Asynchronous Javascript and XML)
- The server application typically exposes data through XML
- The interaction model is web services
- Mashups combine multiple webservices to create new types of applications
And eventhough many alternative representations, shuch as
JSON
(Javascript Object Notation) are increasingly being used,
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:
services
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
Amazon
offers services for
product operations, such as item search and similarity lookup,
remote shopping carts, to create and manage purchase collections,
custormer 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:
- representation -- encoding in a particular format
- state -- data encapsulated in an object
- transfer -- using HTTP methods
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
asynchronoues 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 o=in the work environment and displays
self reflections, that is postcards and other item contributed by empolyees, at a large display
in a central public space.
In section X9 we will discuss how to realize PANORAMA in Second Life, from both technical and aesthetic perspectives.
Figure 1, taken from [PanoramaWeb], illustrates the architecture of an Ajax-based web implementation of PANORAMA, using the google GWT toolkit
to allow users to contribute their image material, and a PHP server for storage and retrieval.

The Web 2.0 offers a lively arena for consumers and developers alike,
with a multitude of blogs discussing the future of the web.
For example,
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
semantic mashups.
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-scaping,
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):
built-in(s)

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
del.icio.us under
slurlmarker may be used,
also to activate in-world teleporting using scraping techniques.
As remarked in the
hackdiary
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
resources.
As Matt Biddulph indicates, to access flickr photographs
for a particular user (avatar), a web server may contain the following resources:
- /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
For example,
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 or UNKNOWN.
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
blog
from within Second Life using the
BlogHUD
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
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 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
streaming video,
for example by using
WireCast
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
Darwin,
which may then be accessed from Second Life to texture a display object.
Finally, as
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
ongoing activities.
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)]:
- cross sale -- users who bought A also bought B
- up sale -- if you buy A and B together ...
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 (sematic) web service
and provide compound services based on semantic web technologies such as
OWL-S
(OWL-based Web Service Ontology)
WSOM
(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 to manage resources related to climate change, over a period of 100 years, and also allows the
player ot play minigames, to gain 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
(climate-related) research.
Technical issues here are support for ranking, as well as meta-information with respect to locations
where relevant locations 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 visulaisation 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.
Models of Behavior -- Interaction and Recommendation(s)
In [Recommend], we introduced a model based
on a recommendation model developed in
[Privacy]. This model distinguishes between:
recommender model
, , , ,

and allows for characterizing observations (from which implicit ratings can be derived)
and recommendations, as follows:
- observations --
- recommendations --

The mapping provides
recommendations from observations, either directly by applying the
mapping, or indirectly by the mapping
, which uses an intermediate matrix (or product space)
indicating the (preference) relation between users or user-groups.
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 .
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 ]

[Privacy] observe that
B and R need not to be standardized, however F must be a common or shared
feature space to allow for the generalization of the rating of
particular items to similar items.
For serial recommenders, that provide 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, to adjust the weight of the items involved, or features thereof,
by taking into account an additional constraint on the distance measure.
Differently put, when we denote by
the presentation of item with as possible alternatives ,
we know that for some k, if the user
chooses for
In other words, from observation we can deduce :
= [ time = 20sec, forward = ]
= [ proximity = 0.2, type = postcard, topic = hawaii ]
= [ ]
leavingthe 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.
Related and Future Research
Conclusions
Acknowledgement(s)
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.
References
- [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,
MIT Press
- [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,
Wiley
- [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
-->
(C) Æliens
27/08/2009
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.