Archive

Posts Tagged ‘Second Life’

To save money and resources: Opensim could sleep when no-one is watching

April 12th, 2009

If a tree falls in a forest and nobody can see it, does it still fire a collision event?

In Second Life(R) it does, and this is one of the reasons that the platform is so expensive – maintaining 20,000 regions requires 20,000 processor cores. Consider the WWW by contrast – a single server can power thousands of websites; because the cost of hosting is virtually free until someone accesses the site. Cost does not equate simulation space – it’s based on simultaneous concurrent accesses and the complexity of processing the requests.

OpenSim falls into the same trap in many ways – while the cost of hosting an empty region is nearly nil; there are two key aspects where processing will always continue even if there is no need or desire to do so. These areas are physics and scripting – arguably two of the larger expenses on the processor bill.

Physics can be limited somewhat – switching away from a persistent simulator (ODE) to something that computes physics ‘on demand’ (POS, BasicPhysics) will remove the expense of physics while no-one is in the region, but you lose the ability to have objects move independently. For those hosting geographical areas this may be perfect – if you don’t have any scripts in the region and compute physics purely on demand, you are looking at a raw cost in just memory – about 20mb per region, and even that can be paged to disk safely.

However, hosting conventional regions is a more tricky prospect – users have an expectation of certain features working, people use scripting and want to physically interact with objects. One of the options worth considering may be simply dialling the simFPS according to the number of viewers in the region. Drop down to 1Hz when there is no users, but dial back up to 45Hz when users appear – all easy enough to do within the codebase, however doesn’t reduce the processor cost to zero while inactive.

If we consider the ultimate goal being to reduce Virtual World running expenses to similar to that of a web-host: costs being per-access, measured in processor time, bandwidth, etc. then we need to go a few steps further. One of the bigger steps is reducing expectations – right now you can safely assume LSL will always be running, so therefor you can write things like “servers” in LSL. Servers are a good example of the problem – they are something that interacts with the world, but aren’t supposed to be part of it; yet they consume the expenses of being in the world all the same.

Servers could be much better replaced by simple web scripts or server daemons on a normal server – which have a decent API that can connect to the world and make their interactions without needing to be part of it. By doing so, you not only make the servers more efficient (Apache+PHP is faster and more powerful than LSL), but you reduce the persistent load on the world itself.

The work I am doing on MRM is addressing part of this problem – redefining the API to reduce the number of scripts you need in the world, but a total solution here includes some kind of “remoting-style” API that lets you send messages and interact with the world, from a completely independent outside authority. The other side of the same coin is reducing ‘background noise’ processing – timers, sensorrepeats and other recurring tasks all place a small but visible background load on the server, all of these events will keep the server processing even if there is nothing to do.

Some things may require this – but encouraging people to think about when they need these events is better. Limitations on the LSL API really prevent this in SL, but in OpenSim would you be willing to use a “TimerIfAvatarInRegion” instead of a plain Timer? If you could – then it would allow the back-end server to attach conditions to your scheduler which provide optimisations when no-one is there. Allowing these kinds of optimizations is going to be key in the long term – because a cost of one processor core per four concurrent users is just simply insane and will never be adopted in the wider marketplace VW operators hope to gain. If webservers could only handle four simultaneous users – Google would require millions of servers to operate instead of just thousands.

OpenSim, realXtend , , ,

Immersive Education Initiative LONDON SUMMIT to Launch Series of European Events

March 19th, 2009
Comments Off

LONDON, UNITED KINGDOM – March 06, 2009 – The Immersive Education Initiative today announced that it will launch its series of Immersive Education: Europe events in London this April. On April 23rd and 24th the London School of Economics (LSE) will host the Immersive Education Initiative’s London Summit, a special two-day event showcasing new and emerging virtual worlds, learning games, educational simulations, and related tools, techniques, technologies, standards and best practices. Designed specifically for educators, researchers, and administrators, the London Summit consists of presentations, panel discussions, break-out sessions and workshops that provide attendees with an in-depth overview of immersive learning platforms and technologies such as The Education Grid, Project Wonderland, Second Life, Croquet and Cobalt, realXtend, Alice, Open Simulator (OpenSim), augmented and mixed reality, and more.

 

2009_summitposter_london_top_bannerThe per-seat cost of the two-day London Summit is £195 (pound sterling), or $275 USD (U.S. dollars). Seating is limited and expected to reach full capacity almost immediately after registration opens to the general public at MediaGrid.org/summit.

Preliminary speakers and panelists include faculty, researchers, and administrators from The Grid Institute, Boston College, Loyola Marymount University, M.I.T. Media Lab, The Smithsonian Institution, Sun Microsystems, University of Essex (United Kingdom), realXtend (Finland), Royal Institute of Technology (Sweden), BalticGrid (Baltic states), Holon Institute of Technology (Israel), Duke University, Montana State University, University of Central Missouri, Southeast Kansas Education Service Center at Greenbush, Boston Media High School, and more.

The London Summit is modeled after the breakthrough 2008 Boston Summit that was hosted by the Woods College of Advancing Studies at Boston College. During the 2008 Boston Summit educators, researchers, administrators and students from Boston College, Boston Public Schools, Amherst College, Federation of American Scientists, MIT Media Lab, Harvard University, Duke University, United States Department of Education, New Media Consortium (NMC), Johnson & Wales University, NASA, Sun Microsystems, Synthespian Studios, and Computerworld gave a series of presentations, panel discussions and workshops that provided an overview of how virtual worlds and game-based learning technologies are used in and out of the classroom today. Immersive Education Day at Harvard University was a precursor to the 2008 Boston Summit.

Similar to the Boston Summit, London Summit speakers and panelists feature an array of Immersive Education experts, researchers and practitioners from around the world. In addition to showcasing new and emerging immersive learning technologies a number of new Community Groups (CGs) and Technology Working Groups (TWGs) and will be launched at the London Summit including groups for: K-6 and K-12 educators and students; virtual world builders; assessment, evaluation and grading; psychology and mental health; and augmented and mixed reality.

During the London Summit status reports and demonstrations will be given by previously launched Immersive Education groups, such as the Library Technology Working Group (LIB.TWG) and Open File Formats Technology Working Group (OFF.TWG).

To register for the London Summit visit MediaGrid.org/summit or ImmersiveEducation.org.

Darkstar, OpenSim, realXtend, wonderland , , , , , , ,

Glasshouse injects 3D representation of data into a virtual world

March 14th, 2009

Glasshouse by Green Phosphor is a gateway which can take a database query or a spreadsheet and place a 3D representation of it into a virtual world. Users can see data, and drill into it; re-sort it; explore it interactively – all from within a virtual world. Glasshouse produces graphs which are avatars of the data itself. 

glasshouse_sl_scatter

Virtual worlds are environments where avatars can observe and interact with eachother. This is a wonderful advance for human to human interaction; and it is also a wonderful advance for human to program interaction. Imagine a useful program residing somewhere on the Internet… and to interact with it, all you need to do is invite its avatar into a virtual world with you. The avatar of the program is its 3D user interface. 

Imagine the program is architectural software and it can generate into the environment anything you are designing. Suppose you have it put a house into the virtual space, and all the components of the house are interactive – you can click on a door and change the type of door; you can click on the floor and choose a new kind of tile from an actual inventory database out there on the net. Imagine interacting with a molecular model of a protein and when you click on various amino acids and ligands they present menu options for modifying the model or cross-referencing with others.

Imagine a program which searches the web for you. The program’s avatar looks like a librarian and follows you around, and when you say “find me the most authoritative website on bodybuilding” it injects a web page into the virtual environment. Imagine interacting with software as you would with a personal assistant.

All this is possible through the use of protocols such as CICP and MXP, which allow external entities to place interactive content into virtual worlds. All the logic and machinery stays outside the world and just the user interfaces (objects) go inside the world for you to interact with. This is the vision that led me to create CICP – and the particular way Green Phosphor is using CICP is to create interactive representations of data.

Green Phosphor’s product is called Glasshouse, and it is a gateway which can take a database query or a spreadsheet and place a 3D representation of it into a virtual world. Users can see data, and drill into it; re-sort it; explore it interactively – all from within a virtual world. Glasshouse produces graphs which are avatars of the data itself. We’ve tailored the system for the use of biotech companies, specifically for drug discovery and development. Dr. David Resuehr, a molecular biologist, recently joined Green Phosphor as our Chief Scientist. We’ve just now entered our marketing phase – for more information please visit http://greenphosphor.com/?location=Biotech.

glasshouse_oil_net_with_avatars

The power of interacting with data in 3D has to be experienced to be believed. Some day soon many people will have jobs which require SQL skills and virtual world skills; these ”data wizards” will turn information into intelligence within the 3D environment. They’ll facilitate a data-driven decision-making process which will hopefully reduce some of the short-sightedness and stupidity we’ve seen lately in many of our critical institutions.

Jani: What do you refer to when you say: “…will hopefully reduce some of the shortsightedness and stupidity we’ve seen lately in many of our critical institutions.”? Could you give an example?

Ben: I have a couple examples which I’m sure won’t offend anyone and a third which may. First off I believe that visualization of money in/money out could have turned authorities on to the fishy accounting Enron was up to, and caught them earlier. Perhaps better visualization would have revealed Madoff’s ponzi scheme as well. It’s a matter of seeing the big picture; money must come from somewhere and be tied to intrinsic value at some point. My third example is similar, but rather than money in/money out it is about energy in/energy out. I believe proper visualization of the process for producing ethanol fuel, including energy cost of fertilizer, would reveal the uselessness of subsidizing cornbased ethanol as an alternative to fossil fuels. Much of the value of looking at data has to do with getting in touch with history rather than trying to look at realtime feeds with everfiner granularity. There is tremendous value in looking at the past in objective ways – and the best objectivity comes from hard, unadulterated data. Combine data visualization and visible process simulation with massive collaboration – crowdsourcing, masterminds formed by teams – and the human race can be more intelligent.

Jani: I’d like to get a quote from Dr. David Resuehr.

DrDavid: For science, the 3-D environment may really have a very prosperous future. We know that the discovery of many drugs was more or less coincidental like for instance when Fleming discovered Penicillin. Others were specifically and tediously designed, tested and created. Insufficient testing can – as it happened with Thalidomide – have terrible consequences. During the 50’s and early 60’s thousands of children in Africa and Europe were born with severe malformations because their mothers had been given this drug against morning sickness.
What does all this have to do with virtual worlds and 3D environments? The connection lies in the fact that molecules are not flat but have a (sometimes very elaborate) three dimensional structure. Here is the anecdote: Thalidomide exists in two  isomers (enantiomers), which are mirror images of each other, like your right and left hand. The problem was (as was found out later) that one of the versions, the ‘S’ enantiomer, was teratogenic [causes malformations]; but the ‘R’ enantiomer was an effective sedative. I like to refer to the ‘S’ enantiomer as the ”evil twin”. Had the developing scientists been able to display and most of all discuss this and its possible implications with their peers, maybe they would have been more diligent and could have prevented the release of this cocktail and its devastating effects for thousands of people. Clearly it is impossible to recognize and tell apart a “bad” molecule from a good one by just looking at it, but having it dangling right in front of your nose in cyberspace may make you think about it a little more thoroughly and prime discussions about it.

DrDavid: Virtual worlds like Wonderland and OpenSimulator offer never before available possibilities for researchers from all fields to interact with each other and display and scrutinize their data in new and more intuitive ways. This platform also offers a link from the people in the lab to the people at the desks and enables everyone to give their input, from wherever in the world they are – many brains are better than one and sometimes it may take a non-scientist to come up with a great idea; after all it’s about collaboration and working as one strong team.

DrDavid: A long-term goal is, in collaboration with bioinformatics and cell biology specialists, to create a complete virtual cell. If we can accurately display and simulate cellular pathways, we may be able to better understand drugs’ molecular actions, explain adverse effects, predict risks, and discover potential therapeutical targets for the development of new drugs.

Ben: I believe one of the keys to intelligence is the elimination of bias and preconceptions. This elimination opens the door to truth. One of the great features of looking at raw data in a virtual world is you can start without any labels or explanations of what the data is. You simply see the patterns, the outliers… then click in and see what the actual datapoints are, and be prepared to accept what is revealed. I’d like to close by mentioning a pilot project in Second Life which is using the free version of Glasshouse to show the effects of various companies’ customer loyalty efforts on revenue. The data was provided by Leslie Pagel and the graphs are on display at Gronstedt Group’s Train for Success2 region. Here’s a slurl: http://slurl.com/secondlife/Business%201/211/48/33.

Darkstar, OpenSim, realXtend , , , , , , , , , , , ,

Search Engine for the future 3D Internet: MI-Search

March 12th, 2009
Comments Off

Metaverse Ink’s search engine is in the footsteps of Google. The difference is that MI-Search is for the 3D Internet. It currently searches Second Life using bots that constantly update MI-search databases.

mi-search

MI-Search presents your results graphically so that you can see at a glance what interests you. Locations are object-specific; you can teleport to the exact position where a search object is to be found.

MI-Search can be added to Second Life Viewer to replace the default search. For the realXtend Viewer, MI-Search is configured as the default search engine.

OpenSim support

An opensim world can be made searchable by configuring a core module of OpenSim called DataSnapshot. The configuration is done in OpenSim.ini, in the section pertaining to the DataSnapshot module, and it allows the variety of behaviors described above. So if you want the searchable data in your region listed with MI Search, go ahead and configure OpenSim.ini for it.

A second, optional module deals with serving images (see how it looks here). This module, called ImageService, is a region module that extends regions with the ability to serve images onto the Web, so that explicitly marked, rich 2D content can be shared within a grid and/or with the whole world. The only images served are those whose keys are exposed via the DataSnapshot module, i.e. images related to things marked for search. The ImageService module is available from OpenSim’s GForge. If you want MI Search to show pictures of your wonderful regions, go ahead and place the dll of the ImageService in your OpenSim/bin directory.

The DataSnapshot module has been part of OpenSim since April 2008; the ImageService is the latest addition. There are already hundreds of regions on the opensim index in a variety of places, grid-ed and standalones.

OSGrid, OpenSim, realXtend , , , , , , , ,

Searchable database of Virtual Worlds: Meta-Mole

March 11th, 2009
Comments Off

The Meta-Mole, created by the Centre for Design in the Digital Economy (D-LAB) based within the University of Teesside’s Institute of Digital Innovation, will ultimately be a dedicated searchable online resource for the 350 plus virtual worlds currently existing on the Internet.

Philip McClenaghan, Deputy Director of D-LAB explains: “We were analysing virtual world platforms and realised that there doesn’t appear to be a comprehensive service offering to list and compare key data for major 2D and 3D environments. This surprised us, considering the current popularity of virtual worlds. We intend to fill the gap with the Meta-Mole.”

metamole

The Meta-Mole will help both new and experienced users looking for a virtual world environment as well as platform developers who want to gauge competition. “The Meta-Mole seeks to increase the uptake and success rates of Virtual World ventures by providing a searchable directory of available platforms, easily definable according to the need of the user”, says Dan Riley, a Metaverse Architect at D-LAB.

All data contained within the Meta-Mole is provided by the platform developers themselves along with high quality official images and videos. The Meta-Mole allows for the sharing and comparing of information and provides access to the latest core, technical and specialist features on current virtual worlds, as well as those in development.

metamoleplatformsPlatforms listed at Meta-Mole

In addition to the digital industry, the team at D-LAB believe there are a range of potential users for this service such as businesses seeking a platform for new commercial opportunities and academia.

The Meta-Mole will initially be released as a Beta version focusing on 3D virtual world platforms. Future developments will cater for all platforms, including 3D, 2D and MMO environments.

Platform developers are able to participate in the Meta-Mole by contacting developers@Meta-Mole.com. Meta-Mole will become more and more useful as platform providers start to add details of their own platform. Go and update your platform!

Darkstar, OpenSim, realXtend , , , , , , , ,

Virtual Worlds, Virtual Robots, and AI: beyond gaming and social spaces

March 11th, 2009

In the last two years since Linden Lab released the source code for their client, a vibrant open source community has grown around the Second Life protocol. With projects such as the first version of realXtend, the possibility of moving beyond the limitations of that protocol are starting to be explored. Features such as inverse-kinematics-based avatar control and mesh-based prims extend the platform in ways that go beyond the capabilities of Second Life. There are also parallel open source virtual world efforts, such as Qwaq (based on Open Croquet), Sun’s Wonderland platform, and the Web3D/X3D set of formats and runtime tools.

One of my core interests in this space has been to find a way to bring some of my and other’s work in robotics, AI, and advanced simulation into this arena of shared virtual worlds. There are numerous reasons why this would be beneficial. Firstly, it would allow researchers to leverage a common set of tools, fostering collaboration and improving our ability to reproduce and critique each other’s work. Perhaps even more importantly, it could open the way for large numbers of people to interact with virtual entities (AI’s, if you prefer). This is a potentially major advance in AI research, as it represents a real-world, renewable source of training data, which many researchers think is critical for advancement in the field. It would also be ultra cool.
(Editor’s note: See also earlier article What do virtual worlds have to offer AI?)

rexrobot

Before I describe this work and the unique requirements it presents, let’s clarify some of the jargon. Linden Labs uses the term ’sim’, short for simulator, to signify a portion of virtual space supported by Linden’s servers. Opensim, the open-source, mostly Second Life-compatible server, inherits this usage. When I talk about simulation and simulators, I mean something quite different. In my work in robotics, I build software to simulate complex robots. This software uses some of the same underlying components as a Second Life or Opensim simulator – a physics engine, 3D representation of objects, and so on. However, the level of detail is quite different. The simulators I use in my robotics work are generally operating at a much higher degree of realism than a realXtend or SecondLife vehicle or avatar. They require proportionally greater resources in terms of CPU and memory, and of course the development time to get a simulation of this sort working is considerable.

While my own work in robotics requires a high degree of physical realism, there is work being done in this field that may have different requirements, such as robot swarms, where navigation and interaction are more important than physical realism. There is also a body of AI research into subjects such as language comprehension that may not need physical realism at all. However, my work is on physically realistic simulation, so I will be focused on that specific issue in this article.

There are several related issues that come up in the course of attempting to integrate ’serious’ simulation into the Second Life-derived model:

Basic Architecture

In Second Life (and related platforms), the user’s visual representation of the world consists of three major parts: the background (land, sky, sea); a set of objects (called ‘prims’ in Second Life); and avatars, representing the human (or possibly scripted) players. These three major elements have very different architectures, and present an almost mutually exclusive set of features to the system. Putting aside the background elements, let’s look at the prim and avatar systems.

Prims

Prims are physical objects that are described as a primitive shape (cube, cylinder, pyramid, sphere etc.), with various possible modifications such as cuts, tapers, skews, and hollows. Prims are controlled by the server software. Static prims, which generally don’t move unless they are being edited, make up architectural elements such as walls and other building elements. Other prims are allowed to move around the environment. They can be controlled by the physics engine (balls that roll), scripts (doors), or both (vehicles). They can have arbitrary textures, but do not have the ability to utilize deformable meshes, skeletons, or client-side animation.

Avatars

Avatars are always defined as skeletons with deformable mesh (skin and clothes). Their motion is usually controlled by the user’s input (walk, run, fly etc). They do react to the physics engine, but in a rudimentary way: avatars are represented at the physical level as ‘capsules’, egg or pill-shaped shells that provide basic collision with walls and other avatars. This is an important point: there is no physical representation of, say, your arm extending out and touching an object. Complex avatar motion is achieved through client-side animation, which in our case is based on the .bvh file format (see http://en.wikipedia.org/wiki/Biovision_Hierarchy). Again, it’s important to realize that the animation of an avatar is not reflected at the physics layer, at least not in the present implementation of Opensim.

There is one more subtle but critical point to keep in mind about avatars vs. prims: avatars, by definition, are associated with a user account. Users have abilities that go outside the physical and graphic simulation layer – they can buy and sell things; they can chat with each other, join groups, get banned for TOS violations, and so forth. They represent an entity within the social network of Second Life (or one of the Opensim grids, or the emerging hypergrid). There are complexities – avatars can have ‘prim’-based attachments – but fundamentally, if you want to be part of the Second Life society, you need an avatar.

Users

Users, through their avatars, can interact with each other (chat, give/receive items…). They can interact with prims, by creating and editing them (if they have the permissions), or through menus and scripts. It may seem obvious, but it’s worth pointing out the heirarchy: Prims cannot create or edit avatars (!); they cannot buy, sell, give, or receive assets on their own behalf. They are, by definition, owned and controlled by at least one user, which is by definition represented by a single avatar.

The problems this heirarchy and separation of capabilities poses to those of us working in AI is hopefully becoming evident. If I design a robot using prims, scripts, and physics, there is no obvious way to give that entity the same rights and privileges of a “real” user. I also can’t take advantage of graphics abilities such as skeletons, deformable skin, or animations. On the other hand, if I design a robot in the typical ‘bot’ fashion, by pretending to be a user (using libsecondlife for instance), right at the start I must accept a number of constraints that may not be desirable: I need to look roughly human (because of skeleton constraints); I must have skin; I can’t interact physically at a fine-grained level with the rest of the system; and my behavior must be animated – I cannot generate low-level behavior on-the-fly.

Distributed simulation and synchronization

Second Life started as a proprietary system run by Linden on a local server farm. They made the choice to divide up the simulation by geography; in essence, each 256×256 meter region of land is assigned its own processing stack (set of CPU threads), and operates in parallel with all the other regions. Interactions between region modules are achieved through network communication.

There are obvious objections to this model, the main one being that popular sims get overloaded, and sparsely visited sims waste resources. Some of this can be addressed with load balancing and clever thread management, but in my opinion it represents a fundamental flaw in the Second Life architecture. Putting the resource issue aside for the moment, there is a deeper flaw in this state of affairs. To build a useful and reliable simulated world for AI research, it is critical that you not introduce major defects (artifacts) into the simulation. Learning algorithms are notorious for finding devious ways to “cheat” researcher’s goals. If something in the simulation is non-physical, you can pretty much bet that your genetic algorithm or neural network will find that defect and use it to its advantage, avoiding the more difficult, “honest” approach you are trying to develop.

Boundaries between regions in Second Life, especially in the case where the regions are separated by network lag, are places where the physics of the simulation break down in nasty and difficult to predict ways. One reason for this is that events in Second Life have no concept of operative time. An event is sent over the wire, and the receiving node assumes that this event is happening ‘now’, in relation to that node’s local concept of time. This creates some issues on the client side (perhaps I’ll post about that later), but more fundamentally, it’s a problem at the server level. Region modules in Opensim pass messages back and forth between each other, for instance posting the position, rotation, linear and angular velocity of objects, so that you can visualize what is happening across region boundaries. Since these messages are subject to server lag, each sim in effect has its own version of reality. In my sim, your objects are delayed by the average network lag time between our sims; in your sim, my objects are similarly delayed. Clearly this is not acceptible if our goal is to have a coherent, realistic, detailed simulation of the environment.

Open Croquet, an alternative virtual world platform, has developed a concept of distributed, synchronized simulation that sounds pretty good to me (I haven’t actually deployed it, so I’m taking some of this on faith. Decide for yourself: http://www.opencroquet.org/index.php/TeaTime_Architecture).

In summary, I hope I’ve managed to outline some of the features and requirements that need to be considered for the development of sophisticated, high-fidelity simulated worlds in the context of a massively distributed, shared environment. In the future, I hope to post some ideas on what we can do to support these concepts in future releases of Opensim and realXtend.

Artificial Intelligence, OpenSim, realXtend , , , , , , , , , , , , , , ,

Amateur radio and virtual worlds

March 4th, 2009
Comments Off

NEWS RELEASE FROM RADIO ARCALA

The Finnish Amateur Radio alliance Radio Arcala (OH8X) has been studying the potential of promoting Amateur Radio in a variety of Virtual World environments by approaching the millions of young people who spend their time increasingly in well-known internet locations, such as Facebook, YouTube, Twitter, Second Life and others. The OH8X group early on bought an island (private server space) and built a complete virtual amateur radio station in Second Life.

After learning the limitations of commercial settings and available tools, they soon found out that there is a need for open architecture and improved tools. Hence they decided to have a key partnership in development work to create an open platform called RealXtend. It has gained a lot of ground among those working on next-generation Web 3D applications. The future World Wide Web is definitely heading in that direction.

radioarcala1

While involved in the RealXtend platform development project, they are also busy working on their own Virtual World radio station, the first of its kind. The features include a meeting place for the Arcala team and their visitors to meet and operate the simulated OH8X/CU2X stations in the Virtual World from any place in the real world. Each and every feature of the real ham radio station is modeled, and interaction between the Virtual World and the real world connects them together.

“Everything sounds complicated at first glance”, says Juha Hulkko, OH8NC who spearheads the project. He adds that the young people of today spend their knowledge and their time in these virtual settings. So, it’s up to us to have a look at virtual space as a way of approaching the youth in their own familiar surroundings.

“We have been encouraged by the experience of seeing others enjoy the free platform introduced to boost application development”, says Juha, OH8NC. Just recently, a cluster of universities in the United States joined the Immersive Education Initiative which in turn has selected RealXtend as their platform to initiate their future distance learning in Virtual Reality. This confirms that taking Amateur Radio there is in line with the evolving world in a setting where young people ultimately meet for fun and education.

radioarcala2

Juha, OH8NC and Martti, OH2BH will be co-speakers at the Visalia DX Convention, sharing their OH8X strategy and taking you on a tour to see first views of Amateur Radio in virtual space and to taste some of the applications.

(See also previous CTN article about Radio Arcala: Remote control of a radio station using realXtend)

OpenSim, realXtend , , , , , , ,

The Future is here: full-scale architectural model from Revit imported into a Virtual World

March 2nd, 2009
Comments Off

It happened exactly 1 year, to the day I first contacted Jani Pirkola former project manager of the Realxtend team. I heard rumors late in 2007 that they had goals to accelerate the development of the ‘opensim‘ platform, and one of their priorities was 3D model imports. The conversation continued until a few weeks ago, when I received an e-mail from Jules Vos, founder of Visibuild, a company he founded aimed at leveraging and improving the capabilities of Realxtend, specifically targeting his efforts at architecture and the built environment.

He asked for an exported file from one of my Revit models, and the next day he sent me a log-in and password to the Visibuild sim where the model was hosted.  Needless to say, after all these years of waiting, I was skeptical, yet hopeful. I logged in, and there I was – standing on the front porch of our client’s soon-to-be new home we had designed!  It was exactly as I had left it during my last Save As!  This was a dream come true, that had been 10 years in the making.  I was absolutely blown away.  My Revit model was virtual!  Here it is shortly after import:

Before long I had the model populated with tables, chairs, sofa, stove, a Jenn-Air appliances, Kohler fixtures and more – all imported from Google’s 3D Warehouse, most of which are exact or near-perfect matches to the ones specified.  Google’s 3d warehouse is very extensive, and carries one of the largest collection of free 3d models available.  Thanks to Peter Quirk for the Sketchup import tutorial!



I left parts of the design out of the imported mesh that we were still designing, and was able to enjoy the best of both worlds by building those pieces with primitive objects using the in-world building tools.  This way, I could make immediate use of the model as a collaboration tool with our clients by testing, for example, ceiling options in the living room, and trying out an alternate arrangement of the porch and entry area.  There is no limitation to the size of primitive objects here (the limit is 10 meters in Second Life), so it becomes much easier to model without always having to bandage the model to work around size limitations.

The client’s first reaction after seeing a teaser was “I want more!” so I think we can safely say the value of a virtual model was immediately evident.

Even a quick proof-of-concept study of imported buildings that surrounded a project site in Manhattan was fruitful.  When almost any model format can be imported, it feels like the whole world has opened up – and the possibilities are truly without limit.

The combined 3-part effect of being able to import contextual structures shared by others and import professionally built CAD or BIM-derived models and model bits and pieces using the familiar in-world building tools is a pretty astonishing new opportunity.  Of course there are still kinks to be ironed out, and some parts of the work-flow that would benefit from further optimization, but that’s where Visibuild’s value becomes most apparent.  They have the capability of streamlining that process for you, and serving as a one-stop service and hosting environment  for architects, urban planners, realtors, city governments and anyone else with a vested interest interest in architecture and the built environment.   

Another key feature of this environment is the dynamic shade and shadows.  You need a decent graphics card to experience it, but its nice to know that the feature is available when you’re ready for it.  One common complaint for architects exploring the use of Second Life in professional practice was the plasticness of the builds, and the inability to convey the way light and shadow will effect the architecture.  The code for dynamic shadows has been available for some time now, but has yet to be implemented in any of the newest viewer releases. This is surely a key fundamental to an architect’s concern in design development, and experiencing a building without light and shade doesn’t as accurately reflect the experience you will get in real life.

Since most modern architectural software automatically generates 3D models anyway, the gap between your model and a virtual environment is no longer treacherous or time consuming – but relatively simple (or cost effective if you’d rather have someone else import it for you).  If you already model in SketchUp, for example – you’re only a few clicks away from enjoying the benefits of experiencing the model virtually and inviting others to experience it with you in realtime.  The bottom line is, most architects utilize 3D models at some point in the design development process anyway.  With Visibuild, you’re just one ’save as’ away from leveraging the value of that model, and enjoying all of the many benefits a virtual environment affords.

These are some of the qualities of this environment I find most powerful:

  • The capacity to import 3D Models from just about any industry standard 3D package
  • Its accessible – there is very little mystery around how this works, and it isn’t terribly complicated or expensive.
  • It is built on an open source platform, and with a little experimentation you can roll up your sleeves and tinker with it.  You still have the option of hiring others to get everything set up for you.  The choice is yours.
  • User-generated content.  I can’t modify the imported mesh in-world, but I can leave off parts of the build that aren’t finalized and use the simple in-world building tools to test ideas on the fly.
  • Multi-user.  I can create an account for each of my clients and project stakeholders (builders, subs, etc.)  We can all occupy the building at the same time, from our own computers, wherever we happen to be in the world.  I can also customize their accounts ahead of time – so their avatars look good, and they appear right at the front door.
  • Realtime.  Unlike an prescriptive illustration or animation, you get to choose how, when and where your avatar moves.  This is much closer to the way people actually experience architecture.
  • Collaborative.  Multiple users can work together on a single group of objects to explore ideas – this capability is at the heart of what Studio Wikitecture is exploring.
  • Shade and Shadows, and the ability to cycle through any day/night setting and customize the sky to whatever settings you like
  • The incorporation of avatars.  I think this provides an enhanced sense of immersion and a feeling of actually being in the space.

This is truly a defining moment in the story of virtual worlds and architecture!
I’ll be working with Jules and the Visibuild team in the months ahead to help out with some exciting new projects, so if you’re interested in being an early adopter and want to be a part of the private beta, you can find contact information on the Visibuild website here: http://visibuild3d.com

(published also at the ARCH)

OpenSim, realXtend , , , , , , , , , , , , , , , , , , ,

Openlife and Second Inventory developers working together

February 26th, 2009

Users of the Openlife and popular backup software for Avatar inventory called Second Inventory would be aware of the disabled access to the Openlife with second inventory software whilst improvements to security and stability are made. 

secondinventory_functional

Second Inventory developers are working together with the 3DX team to make improvements to the methods and capabilities of second inventory and it’s access to the Openlifegrid.

The improvements being developed will make will improve it’s security and safety to provide Openlife users a 3rd party backup method for the inventory and a method for Second Life Creators to safely import their content to the Openlife knowing the software cannot be used to steal the content or not respect the creator’s Avatar Name. 

The Second Inventory team expects the first changes to be available in the coming soon version 1.2.0.9 version of Second Inventory.

Collaboration and design ideas have already started in co-operation to improving the security relationship between, content creator, user and the Openlifegrid. Improvements to script upload capabilities have also been shared between the Second Inventory and the Openlife Grid and can be expected in the next release.

(via Sakai Openlife’s blog)

OpenLife, security , , , ,

teleporting with realXtend

February 25th, 2009

realXtend viewer is able to teleport between Second Life, Opensim and realXtend. Simplest way to teleport is to use view->address bar menu item to show your address bar. Type and go, just like in a web browser!

teleport_lucy

World owners can also make link objects. In the picture above, there is a realXtend teleport object on the left. However, teleports can be scripted to any object. Here’s how:

  1. Right click object, select edit
  2. go to content tab and edit object’s script (create a new script, if needed)
  3. copy the code:

teleport_code

Save the script, close the edit window and the link object is ready. Click the object, and a popup will appear asking for the username & password. Lucy is going to teleport to Second Life, and change user account to Yani Pinion on the way in the picture below:

teleport_popupHere are two llMapDestination examples you can use. rex-url is used when you want to teleport anywhere else than to Second Life, and sl-ulr is used when you want to teleport to Sec0nd Life. The same works from Second Life, just use rex-url in llMapDestination to exit Second Life and teleport to realXtend or Opensim. This works only with rexViewer, naturally.

llMapDestination("rex://world.adminotech.com", <100, 100, 0>, ZERO_VECTOR);
llMapDestination("sl://cisco", <76, 173, 142>, ZERO_VECTOR);

OpenSim, realXtend , , , , , , , , ,

Opensim compatibility and MXP

February 22nd, 2009
Comments Off

So, I have a small announcement to make.

OpenSim has had the capability to run multiple different clients connected to the same world since version 0.3. We translate a large number of our internal programming into a somewhat vendor neutral interface; the big catch has been – in the 21 releases since 0.3, we’ve never actually implemented a true second protocol. As of today that has changed, OpenSim now supports two client protocols that can be used simultaneously at the same time to display the same world with the same updates, avatars and interactivity. This means right now you can use either the LLUDP transport used by Second Life™, OpenSim and realXtend, or the new MXP transport developed by the Tommi over at Bubblecloud.org.

We also have some good news from the guys over at VastPark – over the next few days, I will be working with their team to try write another client transport which allows you to use the VastPark viewer to connect to OpenSim. Watch this space for some information about that.
MX Deck and Second Life in a single Region (Click to Enlarge) MX Deck and Second Life connected to the same region (Click to Enlarge)

Why MXP?

The simple answer here is the protocol is reasonably well thought out (it’s very refreshing compared to LLUDP), it’s also pretty simple and easy to understand. There’s a good reference implementation on their website which we were able to utilize extensively. To users, there’s potentially some big advantages in how you can route packets from a region simulator to viewers – possibly eliminating some of the issues people see when trying to host from behind firewalls and routers. This is however conceptual – a decent client will still need to be written to utilize the MXP protocol (right now the only clients using it are for demonstration purposes).

The big reasons were however that it’s appropriately licensed, there’s good reference code out there and the protocol is straight forward. It was also in the right place at the right time — while it gets the crown for first additional protocol, we’re hoping to have quite a few more now the infrastructure is in place and tested to properly support alternate client libraries.

How complete is this implementation?

Not very – we implement at the moment about 5 of 250 “functions” the Second Life viewer can present to us, ontop of the basic connection management. Mostly these are relating to display of primitives, updating their positions and chat. We still need to do a good deal towards displaying avatars correctly (and assigning a ‘ruth’ for each clients display of the other). Given the adapter is however less than 48 hours old – I expect to see some rapid progress here in adding features and capabilities to it. To give some idea of what’s working however below is some screenshots of the same region connected to in each client.

How do I connect a MXP client to OpenSim?

Grab a copy of the Demo Client from Bubblecloud.org (see Downloads -> MXP Demo Client.zip) and a copy of the latest release of OpenSim from the OpenSim Trunk SVN.

In your OpenSim.ini, add the following settings to the end

[MXP]
Enabled = true
Port = 1253

Start up your OpenSim and create a region if you havent already – now go into your OpenSim Region’s directory and open your default.xml – cut and paste the sim UUID (looks like this: b18ddeb1-f3d4-4c05-aa55-f1ca55532220 )

Install the MXP Client and edit the MX Deck.exe.config file – you need to paste your region UUID into the “BubbleID” field, and edit the “ServerAddress” to read “127.0.0.1″

Start MX Deck.exe and you should be connected to your OpenSim region.

Voila!

Note from CTN editor: Check CTN post about MXP, and also about CICP (MXP is based on CICP), and how CICP is now Public Domain

OpenSim , , , , , ,

Green Phosphor gives CICP to Public Domain

February 16th, 2009
Comments Off

The purpose of this article is to publish a provisional patent application I filed back in March 2008. The provisional covers Content Injection and Control Protocol, which I created to allow Green Phosphor’s data visualization application to interface with virtual world platforms (see previous article on CICP here).

I recently asked the Slashdot readership whether I should fork out the additional $10k it would take to properly complete the app, since I am releasing CICP to the public domain anyway. Despite a large number of trolls saying I was stupid to ask such a question on Slashdot, I received a lot of very good advice; and it sums up to this: publish the work, and as prior art it protects the protocol. I think this is important. Not only is CICP useful for business applications to produce 3D user interfaces within virtual worlds; it is a predecessor to MXP (see previous article on MXP here). MXP has the potential to tie together many worlds and programs into one metaverse. The MXP project is seeking developers… go to http://www.bubblecloud.org.

Without further ado, here’s the publishing of the provisional patent application for CICP. CICP is for all.

Darkstar, OpenSim, realXtend , , , , , , , , ,

Content Injection and Control Protocol (CICP): HTTP for Virtual Worlds

January 22nd, 2009
Comments Off

My involvement with virtual world protocol design began with a very practical need.  I had used Second Life to develop a prototype of a gateway for querying a database and producing a three-dimensional representation of the query result within the virtual world.

For business reasons, I wanted my gateway to be able to work not only with Second Life, but also with Sun’s Wonderland, Forterra’s OLIVE, OpenSim, realXtend, and any other virtual world platform.  This cross-platform requirement caused me to design a protocol called Content Injection and Control Protocol, and to implement the protocol in both Second Life and Sun Wonderland.  I call the program which implements the protocol for a given virtual world platform an “adapter” for that platform.

In addition to the cross-platform benefit of the protocol, which enabled me to create one version of my gateway which is able to work simultaneously with both Second Life and Wonderland, I discovered another significant benefit: the ability to shield a proprietary, closed-source program from attachment by Second Life’s Terms of Service, and Wonderland’s Gnu Public License.

By releasing the protocol itself to the public domain, conforming to Second Life’s Terms of Service with the Second Life adapter, and contributing the Wonderland adapter back to the Wonderland project for release under GPL, I created a communication mechanism which my gateway can use to generate temporary artifacts in the worlds. The gateway itself never resides within a virtual world and is never linked to a virtual world at a code or library level.  Rather, it simply communicates with CICP adapters using sockets and a simple text-based protocol much like HTTP. It is of course important that I do not desire to protect the temporary artifacts, which happen to be representations of data, from any intellectual property issues; I am only concerned with protecting the algorithms and processes contained within the gateway program.

port_many

I believe the most useful aspect of my CICP work is a way of looking at virtual worlds from the perspective of an external application which must place content into them for viewing and interaction by other entities (users) who are also external to the virtual worlds.

Looking at a virtual world from this perspective can lead to the development of a universal protocol: an HTTP for virtual worlds.  There are few who would dispute the usefulness of HTTP in the development of the World Wide Web.  The presence of a well-defined protocol has enabled various groups to develop client software (browsers, for example) and server software (web servers, for example) which work together.  Closed-source servers work just fine with open-source clients, and vice-versa; one company’s client software works well with another company’s server software.  One of the aspects of HTTP which enables this interoperability is its simplicity.  HTTP is a very simple protocol and is concerned with the mechanism of transferring commands and content from one place to another, rather than with the meaning or structure within the content.

For more information please visit http://greenphosphor.com/?location=Developers

Darkstar, OpenSim, realXtend, wonderland , , , , , , , , ,

Ralf Hülsmann joins CyberTech News

January 20th, 2009

Dear reader,                                                           0605-kenia-tiwi-beach-ralf-dscf4429

let me introduce myself as a new co-author on the CyberTech News. I have worked with virtual worlds since the end of 2004. In Second Life my more well known avatar Ralf Haifisch has been in business since 2006.

In SL, I went through all the steps from building, scripting, land speculations to running my own estates and to offer consulting services and RL-SL connecting products. I had a  swiss partner running the estates. My girlfriend was infected by the building virus as well.

In Real Life I am an IT Pro (consultant in IT-architecture, analysis and advisory – see my profile for more information) and I did run my first internet host serving our region with news, gopher and email as well as some gateways back in 1991.

The whole new world of 3D Internet fascinates me both from personal and professional view. I love what Lindens did with Second Life, but…

Rather than playing games, I am more interested in all kinds of RL business use cases for virtual worlds. In addition to that, building and terraforming a virtual world is a way to relax for me.

Over the years I collected more and more use cases for Real Life business use of virtual worlds. Second Life did not support many of them for the following reasons:

  1. There is no support for 3D Internet (like with Opensim and Hypergrid, take a look at CTN article about teleporting).
  2. the system is very homogenous and driven by Lindens only.
  3. No real influence over technical things like APIs (interfaces), in case a business customer needed a change in those. You can not influence SAP R/3 codebase either, but  it is easy to find partners to customize or program a needed interface.
  4. No choice of service level (well, you get support by being a premium customer). So if I run a region and want to be able to restore a backup (rollback), I will never know when it will happen. Absolutely a showstopper for RL business.
  5. No local install for the system. You could develop for example a great meeting place for a company, but would be totally depending on a working infrastructure (Grid, Web, Internet provider, Internet acces, Viewer). I do not want to do a presentation in front of the top management of a company and not have the full solution locally installed. No go.
  6. However – if I would present the SL meeting place, it would have been without voice, because the VOIP solution chosen by Lindens is not compliant to most company firewalls. Nice to play at home, but not suitable for the big game.

To clarify: I really appreciate what Lindens did and Sl is still a great place, but for 3D Web needs and business use cases it has major disadvantages.

I have played with Opensim since the early 2008 and did decide that it would possibly solve the problems. After even IBM did choose this as the platform for their upcoming 3D instant messaging, I thought I might be right.

After running around on most grids, I finally chose OSGrid. First it´s pretty close to the development, and I prefer early features and patches for the pain of anarchy and instability. More important: it is heterogonous and open. Servers are located around the world, even at peoples home. Everyone is allowed to hook up a system. Just like in the Internet right now. So to me, this is the first step into 3D web evolution. Right now I am about the top supporters for the german community and you will find me in the OSGrid and SLinfo forums. I run a german opensim howto, as well.

So – what will further posting from me bring up ?

Right now, I am researching on using opensim in heterogenous networks (which influences how to choose a hosting place and how to monitor). I do measurements on several comparable servers, locations, operating systems and collect user experiences from those. If you want to give your own feedback on the public test, I would be very happy. The results will be pretty much the next article to post here. The results are important for me in relation to a real business solution.

I am strongly interested in how to integrate payment and voice and involveld in some discussions about that.

On top, I decided to write down the first use cases wich are based on RL demand and easy to implement, because I strongly believe we need to get the first RL solutions based on Opensim to get to the next evolution step.

Cheers,

Ralf

Article represents personal opinion – trademarks apply – www.ralf-haifisch.biz

OSGrid, OpenSim , , ,