Big Picture. Despite it being 10 years since we started on VOS, there remains no good general purpose platform that integrates transmission of 3D scene description and live updates. Also, we're stubborn and intend to accomplish it even if it has already been done. The goals of VOS are: a) Provide a framework for interactive 3D viewers and games based around a common browser application (possibly the web browser itself via WebGL) that makes users productive by encouraging reuse. b) Provide our own immersive simulation environment and social network, giving the user a consistent identity and seamless experience moving between worlds VOS will do this using: a) Simple data model that is aligned with popular programming languages and easy to implement b) Transactional concurrency control c) Data types represent typical scene graph; events for user commands d) Browser side app managing replication, download, rendering, updates, caching, etc e) Integration with web services and protocols where appropriate Road map: 1) VOS core -- need to choose platform. Partial implementations exist in JavaScript, Python; additional options include Java, C++, Clojure (or all of the above!) 2) Define transaction model fully 3) Network protocol -- currently JavaScript and Python impls talk to each other using JSON over WebSockets 4) Define 3D data types (started doing this with "vosg" (virtual object scene graph) used at http://interreality.org/~tetron/jssg/ 5) Select 3D engine (JavaScript Scene Graph (jssg), Open Scene Graph (C++) or jMonkey Engine (Java) are the main contenders. 6) Bind vosg to 3D engine of choice 7) Design client and server side simulation loop (where client frame rate is mostly decoupled from server frame rate) 8) Determine how to customize client side behavior (local simulation steps, translating local input into commands) (JavaScript leads here, even if embedded in another app)