NG Design Document/Existing Systems
From Rex community wiki
The Web
The Web is a very simple, highly scalable distributed application for delivering a body of connected 2D content, and as such provides an illuminating example of what Internet-scalable system looks like. The fact that the web is synonymous with the Internet itself is a testament to how well this system works.
The Web is structured around a standard document presentation format (HTML), a standard asset addressing mechanism (URI) for linking those documents, and a simple stateless protocol (HTTP) for sharing those documents in a scalable manner over the whole internet.
While the simplicity of HTML over HTTP lends itself to scalable implementations, it is clearly too static to be considered a flexible application without programmable modules capable of generating HTML from dynamic inputs. On the viewer side, this is JavaScript, which is capable of natively manipulating the document as an in-memory tree. On the server side this is PHP et al., which is capable of reading from Databases or HTTP forms and dynamically writing HTML on demand.
What the Web current lacks is only a notion of real-time content. Content on the Web is all in terms of discrete 2D document, which may take a moment to download, but once downloaded, can be hosted indefinitely within the browser cache, independent of any other user agent. 3D Virtual worlds exist in a continuous real-time scene that only makes sense within the context of real-time intra-agent interactions.
We will revisit the above elements when considering our own 3D virtual world design.
Second Life (tm)
Second Life(tm), by Linden Lab(tm), represents one of the most successful 3D Virtual Worlds global scale deployments. Many businesses look at Second Life as a model test case and as an example to be emulated. The OpenSimulator.org (OpenSim) project began life as a clean-room reverse engineered server stack for the SL protocol, based on the esteem its developers had for Second Life. Many developers and early adopters of Virtual Worlds are also users of Second Life.
Many of Virtual World software users and developers are intimately familiar with the limitations of SL-based technologies and networking stack. These provide a number of reasons why Second Life may not be the model of choice for everyone. Many have a desire to exceed the limitations imposed by the early decisions of the Second Life designers.
The question facing such people is how can the successes of Second Life and its family of technologies be harnessed, while at the same time removing the weaknesses and innovating to new levels of performance and scalability? How much existing design and technology can and should be reused? How much should be rethought, and where re-work is needed the most? How does an admittedly niche application like Second Life evolve to fit into the Internet as a truly universal application?
Where does Second Life(tm) fall down?
- Specification for the SL protocol is not kept as a trade secret, but neither is it standardized or publicly well documented. The primary source of documentation is open source implementations, in the form of the Second Life viewer and OpenSim.
- Linden Lab does not accept input on software or protocol design or specification, outside of limited interactions with small public advisory groups.
- Until the advent of the Open Grid Protocol (OGP) work, there was no means to add outside nodes to SL in an interoperable way. As of this writing OGP has generally been a failure.
- Second Life includes technology that is similar to existing standard protocols or libraries, but is rewritten from scratch in order to be special-purpose for Second Life. This leads to unnecessary re-invention and incompatibility.
- Linden Lab can impose a certain amount of control over monetary and copyright policy through its Terms of Use restrictions. All in-world, user-created, copyrightable assets are centrally administered by Linden Lab.
- Second Life scalability is limited by design decisions made in order to protect the corporate business model.
- Second Life can only scale to about 50 avatars in-world.
- Code-base does not support reasonable extension for non-Second Life uses.
Where does Second Life(tm) excel?
- Largest installed base of any current VW.
- Open-ended, script-able, user-content driven world, relatively free from central policy decisions.
- Compelling user experience that integrates many features such as real-time 3D graphics, text chat, voice chat, and social networking.
- It works now. Today.
|