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-scraping,
tags, microformats, or full ontologies.
Instead of joining this perhaps endless discussion, let us explore what is involved
in incorporating web services in Second Life, and how to realize meaningful mashups
in 3D virtual environments.
Nevertheless, to conclude this brief overview of web services and mashups I 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.

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. [OO].
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:
resource(s)
- /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.
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
blogs
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:
flash/quicktime in SL
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
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.
Referring to section 7.4 for a more detailed discussion, we may observe
that there is no meaning in merely putting things together.
Without mechanisms of personalization and recommendation we would simply be flooded
by data and information, in a way that even search would not be able to cope with.
Context, narratives and personalized presentation(s), notions from the past,
reappear as keywords for the future of the web 2.0 and beyond.

(C) Æliens
04/09/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.