topical media & game development

talk show tell print

PDF

Mashups in Second Life @ VU


A. Eliëns, F. Feldberg, E. Konijn, E. Compter,

resource(s)

abstract

In this paper we explore how to enhance our presence in Second Life by utilizing Web Services in meaningful compositions (mashups). After discussing the technical requirements that must be met, we discuss possible applications of mashups in Second Life, including serious games, and delineate a behavioral model that allows for tracking the behavior of visitors of our world. Taking our requirements analysis and envisioned design, which essentially includes the 3D nature of Second Life worlds, as a starting point, the paper provides an overview of research and development(s) that may contribute to the realization of meaningful mashups and serious games in Second Life.
Keywords and phrases: Second Life, Web Services, Mashups, Virtual Economy, Serious Games, User Tracking

Introduction

Second Life seems to be overtaking the world. In the whole range of cummunity-building platforms, Second Life stands out as an immersive 3D world with an almost stunning adoption, by both individuals, companies and institutions, followed attentively by the Press. Not entirely without an understanding of the value of press coverage, the VU University Amsterdam decided to create presence in Second Life, by creating a virtual campus, to realize a (virtual) community of learners,  [Eliens et al. (2007)]. And, indeed, we succeeded in being the first university in The Netherlands with presence in Second Life and, as hoped, this was covered in the 8 o'clock nation-wide TV news.

More substantial than getting into a nation-wide television broadcast, however, is our aim to communicate our institutional goals, creating a community of learners, by creating a virtual campus in Second Life, offering an information portal as well as a meeting point, in a media platform that is widely adopted by our target community. Virtual presence in Second Life, obviously, is not enough. The relatively long history of virtual worlds has shown that lack of interesting content and functionality easily leads to boredom, des-interest, and hence churn, users dropping off. Hence the need for sustainable functionality, that both motivates people to come back and participate, and, otherwise why choose Second Life, makes essential use of the 3D immersive environment offered by Second Life. In this paper, we will explore how to use web services in meaningful compositions or mashups to enhance our presence in Second Life, and create a community where visitors actively participate in both education and research, in other words, indeed, a community of learners.

structure

The structure of this paper is as follows. In section 2, we will briefly describe the the construction of our virtual campus and discuss the likely success factors of Second Life. In section 3, we will outline our our ideas of how to use Second Life as a platform for interaction, based on what we envision as targets for education and research. In section 4, we will investigate what technological support is needed to create mashups in Second Life and, in section 5, whether Second Life offers the functionality needed to incorporate web services. In section 5, we will characterize applications based on web services that make essential use of the 3D environment and fit within the virtual economy as it exists in Second Life, and, in section 6, we will sketch a behavioral model to characterize interaction in Second Life, that may aid in providing recommendations based on users' navigation and interaction patterns. Finally, in section 7, before giving our conclusions in section 8, we will indicate related research and development(s) that may contribute to the realization of meaningful mashups in Second Life.

VU @ Second Life -- Presence in a Participatory Culture

What has been characterized as a shift of culture, from a media consumer culture to a participatory culture,  [Jenkins (2006)], where users also actively contribute content, is for our institution one of the decisive reasons to create a presence in Second Life, to build a virtual platform that may embody our so-called community of learners, where both staff and students cooperate in contributing content, content related to our sciences, that is. In December 2006, we discussed the idea of creating presence in Second Life. Our initial targets were

initial target(s)


to build a first prototype, to explore content creation in Second Life, to create tutorials for further content creation, and to analyze technical requirements and opportunities for deployment in education and research. Two and a half months later, we were online, with a virtual campus, that contains a lecture room, a telehub from which teleports are possible to other places in the building, billboards containing snapshots of our university's website from which the visitors can access the actual website, as well as a botanical garden mimicking the VU Hortus, and even a white-walled experimentation room suggesting a 'real' scientific laboratory. All building and scripting were done by a group of four students, from all faculties involved, with a weekly walkthrough in our 'builders-meeting' to re-assess our goals and solve technical and design issues.

...


Fig 2. (a) visitors outside(b) visitors inside

The overall style is realistic, although not in all detail. Most important was to create a visual impression of resemblance and to offer the opportunity to present relevant infomation in easily accessible, yet immersive, ways. Cf.  [Bolter & Grusin (2000)]. Our virtual campus, see fig. 1, is meant to serve as an information portal and as a meeting ground, where students, staff and visitors can meet and communicate, as well as a place were teachers and researchers can conduct experiments aimed at discovering new ways of teaching and doing research.

The 1st of March 2007, we went live. In the evening there was a news item on national televison, RTL4 news, featuring the students showing the virtual campus and our project leader explaining the reasoning behind our presence in Second Life and how to give a course in the virtual classroom. A similar item appeared at AT5, local Amsterdam television, and various newspapers, among which Parool, Telegraaf and Volkskrant, spent a multiple-column article to report on our efforts. After the news broadcasts, the number of visitors increased dramatically, having stayed at a modest below 100 during the day, see fig. 2. In the evening, however, just after the news items on the national television, the number of visitors increased rapidly. In that evening, we were even surprised by the invasion of an army of Mario Brothers. Hilarious and, fortunately, non-harmful. All in all, the results exceeded our expectations, the students were praised for the results of their building efforts, but as a team we must continue to think about how to deploy Second Life as a platform for education and research projects.

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 may contribute to its appeal.

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



  U = user, I = item, B = behavior, R = recommendation, F = feature
  
and allows for characterizing observations (from which implicit ratings can be derived) and recommendations, as follows:
  • observations -- U \* I \* B -> U \* F
  • recommendations -- U \* I \* F -> U \* F \* R
The mapping U \* I \* B -> U \* F provides recommendations from observations, either directly by applying the U \* F -> F \* F mapping, or indirectly by the mapping U \* F -> U \* U -> F \* F, which uses an intermediate matrix (or product space) U \* U 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 [0,1], where distance can be taken as the dual of weight, that is d = 1 - w.

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 ..., s_{n-1}, s_{n}, ... , and for s_{n} possibly alternatives a_1, a_2, ... , we may adapt the (implied) preference of the user, when the user chooses to select alternative a_{k} instead of accepting s_{n} 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 s_{n-1} |-> s_{n}/[ a_1, a_2, ... ] the presentation of item s_{n} with as possible alternatives a_1, a_2, ... , we know that d(s_{n-1}, a_{k}) < d(s_{n-1}, s_{n} ) for some k, if the user chooses for a_{k} In other words, from observation B_{n} we can deduce R_{n}:

  B_{n} = [ time = 20sec, forward = a_{k} ]
  F_{n} = [ proximity = 0.2, type = postcard, topic = hawaii ]
  R_{n} = [  d(s_{n}, a_{k} )  < d(s_{n}, s_{n+1})  ]
  
leavingthe feature vector F_{n} unaffected, unless other information is available indicating like or dislike due to specific properties. Together, the collection of recommendations, or more properly revisions R_{i} 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.