Second Life 2.0

== Second Life 2.0 ==
Second Life 2.0 is a conceptual future version of the current virtual environment, one which will have had a number of architectural changes and improvements to improve performance, scalability, and usability. 
Second Life Viewer 2.0 will launch in the first quarter of 2010. Second Life Viewer 2.0 will have new tools that will add richness in Second Life. More details will be announced soon on the Official SL Blog about Viewer 2.0. 
== SL 1.0 Implementation Issues ==
Second Life version 1.x has a number of design and implementation errors that cannot now be corrected. The current software has become a legacy system similar to an old mainframe harboring the year-2000 bug.
For something as complex as an open-access full 3D virtual environment, there are many different systems and specifications that need very careful planning and design. In many cases it is not known what the effect will be of a design decision made early in the development process.
A small overlooked problem in the beginning can become uncorrectable over time. Users of the system start to notice the problem and find ways to adapt and compensate for the problem. With these adaptations in place, the original problem now cannot be "fixed" because that will break everything that was built to internally compensate for the problem.
At some point in the future a decision will have to be made regarding SL 2.0. Will it continue to provide legacy support for these known design flaws, or will it start over fresh with all problems corrected, and therefore incompatible with nearly everything currently built in Second Life 1.x?
=== List of known SL 1.0 design flaws ===
==== Mass and Push force calculations are incorrect ====
As documented by Andrew Linden in pseudocode for llPushObject there are some incorrect server-side force-calculation methods that have become legacy code and cannot be fixed.
NOTE: the pusher_mass factor in the desired_energy calculation is just wrong, it should be the pushee_mass, but now that it has been wrong for years we can't fix it!
...same comments here as to the incorrectness of the mass units with an extra problem: the angular energy consumption should be proportional to the actual change of angular momentum (i.e. should involve the inertia tensor) so the linear mass factor here is not only from the wrong object but is also the wrong property. Oh well..
==== Visual object size doesn't match physical size ====
When two physical objects are stacked in Second Life 1.x, they do not stack edge-to-edge as in the real world. Instead there is a wide empty gap between them of about 0.100 munges. This is a result of the physical size of an object (its "collision volume") being larger than its actual visual appearance.
Often this sizing error is not immediately obvious. Most users of the virtual enviornment have poor depth perception due to lack of common use of 3D stereoscopic displays. Consequently when a physical cube is resting on the ground is viewed at an angle from above, it looks more or less correct. It is only when the camera is moved close to the ground to see the bottom edge of the cube at ground height that the sizing error becomes directly visible.
The avatar is also a physical object and consequently does not actually stand on the ground but stands about 0.100 munges above it. A number of hacks have been implemented in the client so that the avatar's feet will seem to be firmly on the ground even if they really are not.