As Second Life strains to keep up with recent popularity, InformationWeek looks at the real-world technology foundations of the make-believe world and developer Linden Lab's plans to stay on top of growth.
To maintain the illusion that Second Life is a virtual world, avatars and their associated attachments and processes need to be able to transition from one sim to another seamlessly. Avatars near the edge of one sim need to be able to look over and see activity in the next sim, just like people in the real world can see activity going on in the next lot of land. All of this needs to happen even if the sims are located on different servers -- even if the handoff between sims must bridge 1,700 miles between Dallas and San Francisco.
However, Linden Lab has designed the network so that the handoff between co-location facilities doesn't result in increased lag, Miller said. One method is to cluster the sims so that regions that are in proximity to each other in Second Life are running on servers in the same real-world location.
"If a Texas-based simulator needs data from a database in San Francisco, it gets it, and it doesn't block action on the part of the user," Miller says.
To help make the user experience more pleasant, Linden Lab is looking to improve performance of the scripting language used in Second Life. The language is called LSL, for Linden Scripting Language. The language is similar to C.
Objects in Second Life are built using a combination of primitive shapes, or "prims," which are sized, scaled, and stretched as needed, with images, called "textures," applied to the surface of the prim to alter its appearance. For example, on the exterior wall of a virtual skyscraper, textures would be use to provided the appearance of bricks, windows, and other features.
LSL determines how the objects behave, controlling the waving of virtual hair, driving a virtual boat or automobile, or behavior of a virtual gun. Everything in Second Life is composed of some combination of prims, textures, and LSL scripts.
In an August video, Ondrejka described how he wrote LSL. "It got written in a week, like all scripting languages," Ondrejka said. He decided he needed to roll his own scripting language for Second Life after he determined that he knew more about writing a scripting language than he did about modifying another language, like Java, to meet Second Life's requirements.
Performance is slow, at only 150 million instructions per second, with inconsistent syntax and limited support outside of Second Life. "Nobody's using LSL to do real-world things," he said.
To improve performance, Linden Lab is porting LSL to Mono, the open source implementation of Microsoft.Net. In tests, the Mono implementation of LSL runs 1,000 times faster than Linden Lab's current version.
Linden Lab plans to begin testing the Mono implementation in the second quarter. Later, Second Life's transition to Mono will enable the software to support scripting in other Mono-compliant languages, such as Visual Basic and C#.
The Business of Going DigitalDigital business isn't about changing code; it's about changing what legacy sales, distribution, customer service, and product groups do in the new digital age. It's about bringing big data analytics, mobile, social, marketing automation, cloud computing, and the app economy together to launch new products and services. We're seeing new titles in this digital revolution, new responsibilities, new business models, and major shifts in technology spending.
What The Business Really Thinks Of IT: 3 Hard TruthsThey say perception is reality. If so, many in-house IT departments have reason to worry. InformationWeek's IT Perception Survey seeks to quantify how IT thinks it's doing versus how the business views IT's performance in delivering services - and, more important, powering innovation. The news isn't great.