Current Milestones (as of 12/4)

Dev 2

Target Date: early Jan
Theme: Be able to hold Wonderland team meetings in world
Required:
    Avatars, including Trigger API (paul)
    Phase 1 - HUD, including APIs (nigel)
    Document and Implement security APIs - Phase 1 (jon)
        Authentication
        Authorization
    Fix audio problems (joe)
    75% of SwingSet2 working (deron)
Desired:
    Warm start (persistent world) (jon)
Unknown:
        dynamic components    dev2? (paul, jordan, jon)
                Dynamic component add/remove controlled by server
                    includes  Update channel component
     
Dev 3

Target Date: Early Feb
Theme: Not yet decided
Required:
    Collision
    Some version of JR's world
    Phase 2 - HUD
    Phase 2 security API impl
    Security UI
    Test overriden paint method in swingtest (deron)
    Improve WindowGraphics2D copy performance   (deron)
    Test federation (paul, jon)
    Rest of SwingSet2 working (deron)
    App take control

    Binary Release?

----------------------------------------------------------------------------------------------------------------------------------------------------------------------    

Release 0.5 User Planning

* indicates those areas that still require considerable design or design validation work

Must-have Features
    Avatars (Paul, Doug)
    App framework (Deron)
    *HUD (Nigel)
    Wonderland Apps (Nigel, Deron)
    Documentation & Tutorials (Jordan, Nicole, et al.)
    World building / Art import / Document management (Jordan, Jon, Paul)
    *Security / Java sandbox (Jon)
    Web-based management (Jon, Jordan)
    *Federation (Jon)
    Usage tracking (??)
    Audio (Joe)
    Global text chat
    *Scripting (Morris)
    Default world (Doug)
    *UI (Nicole, Nigel, Jordan, et al.)
    Presence (??)

Desired features
    Phone
    IM Integration
    Inventory
    Animation Art Path

Apps
    1. Whiteboard
    2. PDF Viewer
    3. Video (?)

Minimum hardware requirements? Same as SL?
    - for avatars, we need an OpenGL 2.0 compatible video card

----------------------------------------------------------------------------------------------------------------------------------------------------------------------     

(Old Information - Planning info for Dev 1)                                                                                                                                        
Release Goals

0.5 developer release goals


Old Milestones
(As of 9/17)

Milestone 1:                                                                        Target Date: 10/6
    Goal: Allow developers to create a simple module with simple rendering
    Core cell (paul)                                                                            done
        Client side Proximity component                                             done
    Core comms (jon)                                                                         done
    Basic module system, web server, plugins (jordan, jon)              done
    Input system - mouse-click spinning teapot (deron)                    done
    Packaging (jon)                                                                           done
    Rudimentary asset management (paul, jordan)                          done
    Nightly build infrastructure set up (jon)                                      done
    Update to mtgame (if necessary) (doug)                                      done
    (Note: includes all the capabilities of the previous Milestone 1)

Milestone 2:                                                                       Target Date: Early November
    APIs defined:
         Security                                                                                     
            authentication                                                                        done
            authorization                                                                          TODO
         HUD                                                                                           TODO
        Avatar        
            Low level API                                                                           done
            Trigger API                                                                               TODO  
        App Base                                                                                     done
    Basic client audio (joe)                                                                    done
    App base with simple Whiteboard (deron)                                      done
    ES for HUD (deron)                                                                        done
    Enter/Exit events                                                                             done
    Static collada models and avatars (paul, doug, shawn)                 done
    Tool to pack collada models into modules (doug, shawn)             
            JME loader                                                                                done
            IMI Collada loader                                                                   TODO
    Core Cell (paul)                                                                                done
        dynamic components                                                                    TODO
        server proximity component                                                         TODO
    Enhance test scenarios in test harness (paul)                                    TODO
    Create art module from imported kmz file (paul, jordan, jon)         done
    Global Environment (skybox and default lights) (paul)                    done
    Help system (jordan)                                                                         done
    Enhanced module management (deployers, immediate install) (jordan)    done
    Basic set of tutorials (jordan)                                                            done

Dev1 Release: Required
     29 Spaces in art import urls (jordan)
     Need to restart server when change WFS (jordan)
     Windows client issues (jon)
    Move dragtest, make red (deron)
    Debug shape-module (deron)


Dev1 Release: Required - DONE
    Fix showstopper bug 16 File->Exit menu (deron)                          done
    model related art input issue (jordan)                                            done
    Fix windows client/server (jon)   bug 14                                         done
    Integrate Jon's latest heavyweight menu fix (bug 10) (deron)        done
   
Simple kmz model deployment (paul,jordan)                                 done   
   
Camera position access (Paul)                                                        done
    26 P1 Button grabs aren't working (deron)                                    done
    Drag Event  (deron)                                                                         done
    0.5 index2 page - enhance and link from 0.4 page  (jordan)          done
    Desired: audio source in the world (joe)                                        done
    Solaris server  (jon)                                                                         done         
    Fix linux hostname problems (jon)                                                   done

-----------------------------------------------------------------------------------------------------------------------

>>>> These need to be replanned into Dev2, Dev3, etc.

Important things missing from Dev1 (Strongly Desired)
    Dynamic component add/remove controlled by server

    Test overriden paint method in swingtest (deron)              D
    Copy perf   (deron)                                                           D
    Update channel component

Milestone 3:                                                                       
    Federation tested (paul, jon)
    Security API implementation - Phase 1 (jon)
            Authentication                                                                            partially done
             Authorization
    Animation system (paul, doug, shawn)
    Dynamic collada models (paul, doug, shawn)
    Cell cache for SAS (paul)
    Add components to entities during import and deploy to Module (paul)
    Polished module management (web ui) (jordan)
    Basic help content (jordan, others)    

Milestone 4 (0.5 developer release available):                            Target Date: End of December
    Selected Wonderland apps

Deferred until 0.5 user release:
    Firefox and OpenOffice (deron)
    SAS (deron)


Old Milestones
(From May 2008)

Milestone 1       
        Load from WFS and render static model and navigate with block avatars,        
        multiuser
        simple keyboard input
        Web container for WFS
        Simple federation test
        Basic picking
Milestone 2        Jordan successfully implements a custom cell type
Milestone 3        Basic client audio
Milestone 4        Users can interact with objects (basic event system) + HUD
Milestone 5        Firefox and Whiteboard work
Milestone 6        All 0.4 core functionality works (Alpha)
Milestone 7        Early Access Release (Beta)
Milestone 8        General Availability

Major Areas

Comms/Cells
Module system
Render system
Input system
Shared apps
HUD
Audio
Wonderland apps

Art path
    Create assets - Third party: Maya, 3dsmax, blender - collada export
    Assemble the assets - Collada import, metadata: attribute tags, WFS, in-world: object positioning, object joining, entity behaviors,
            in-world, dynamic assignment of properties to object
        High-end users - IMI ==> Required: We must enable this at the very least
        Mid-range users - Need an interactive world builder  ==> Doug/IMI plan to build an internally usable world builder at this level
        Low-end users - 3D-naive, web interface, placing prepackaged modules in a world ==> Issue: high priority, what do we need to do for this?
    Publish the assets - WFS, package entity as module (both models and behaviors),
        
Security - All are Jon, except the one assigned to dj
    Cell security P2
    Pluggable authentication
    Comms: security on join P2
    Module security P1
    Running SMC in restricted environment - dj
    Content security (asset manager security) P3
    Security UI - no owner yet - postpone til later
    Login authentication with OpenSSO? Issues bundling OpenSSO
    App channel security - jon design, dj impl

Federation - Paul
     Multiple server connections, separate authentication
          Simplifying assumptions: servers need to all be speaking same core protocol version
     Later: Single sign on - get for free with OpenSSO
     Link object - world builder needs to support definition of links
     Need to define the namespace of worlds
     Support multi-world placemarks in placemarks menu? Need to add a world name to the placemark coordinates 

Document Service - Lower priority
     Lets cells manipulate (e.g. dump state to) documents on a server
     Upload files for SAS apps to use - postpone til later

Shared Objects - Postpone til later

Web Administration - High priority for Jon
    Move to a pure webstart model
    Wrapper around Darkstar
    Servlets

Recording
Embedded Swing



Deron


Component: Embedded Swing for Hud
Interfaces Provided:
    External
        WindowSwing class
    Internal
        MousePickInfoQueue - feeds into InputManager
Interfaces Consumed:
    Internal
       InputManager Picker
Tasks:
    Required
       Test/Debug Nigel's required/desired Swing widget types
       Port WindowSwing to 0.5 code base

Component: InputManager
Interfaces Provided:
    EventNode  
Interfaces Consumed:
    Picker 
Tasks:
    Required
        Design doc
        Design review
        Picker
        MouseEventProcessor (from LG)
            Contains InputQueue for PickInfos
        KeyEventProcessor (from LG)
        Resolver
        EventProcessor (from LG)
        EventNode         
        Event classes  
        Event drag methods                   

Component: App Base
Interfaces Provided:
    app.base package
Interfaces Consumed:
    EventNode
    Cell API
    Comms API
Tasks:
    Required:
        Design doc - upgrade and review
        App base port
            Port current prototype to cell/comms
            JME GUI
            TextureGraphics2D - simple
            Window config
            Code review
            Test/debug sample whiteboard

Component: SocketChannel
Interfaces Provided:
    Very similiar to SocketChannel in 0.4, with minor diffs
Interfaces Consumed:
    Comms API
Tasks:
    Required:
         SocketChannelComponent impl - client and server sides
         New message types
         Port 0.4 code to SocketChannelComponent
         Test/debug

Component: Xremwin App Module
Interfaces Consumed:
    App Type Module Developer Interface
    SocketChannel
Tasks:
    Required
        Port prototype to 0.5 code base       
        Test/debug                                       

Component: Shared App Service
Interfaces Provided:
    SAS Client Launch via GUI
    SAS GUI configuration interface
    SAS registration interface
Interfaces Consumed:
    Comms API
    Cell API   
Tasks:
    Required
        Registry
        Distributor  
        SASClientComponent - server and client sides
        SASUserComponent - server and client sides      
        SASP2PComponent - user client and sas client sides                            
        New messages
        SasClient mail program (tie it all together)        
        Test/debug                                         

Other misc tasks
    Port recent WL 0.4 changes
    Wonderland app window configuration
    TextureGraphics2D perf tuning

Doug

MTGame Features:
    WorldManager:
    RenderManager:
        AtmosphereComponent
        EffectsComponent
        HUDComponent
        Virtual Texture System
    CollisionManager
        New Picking Interfaces
        Optimize Picking
    PhysicsManager
        SimplePhysicsSystem
    ProcessorManager
        Processor Component remove
        Scheduling Bounds
        Timer Condition
        Enter/Exit Region Condition
        LOD System
    Programmer's Guide
    Architecture Guide

Graphics Tasks
    Low end system shader pipeline
    Mid range system shader pipeline
    High end system shader pipeline
    World pre-processor (for shaders)
    Pre-processor documentation
    Shader Pipeline documentation

IMI Tasks
    Avatar Integration
    Collada Integration

Jon

Component: Communications
    Interfaces provided:
        Comms API
        Message API
    Interfaces consumed:
        Darkstar
    Tasks:
        Design doc (done)
        Implementation (done)
        Tutorial/Sample code

Component: Web Administration
    Interfaces provided:
        Start/Stop servers
        Web UI for server status
    Interfaces consumed:
        Comms
        Modules
    Tasks:
        Design doc
        Embedded web server
        Reorganize build files into separate build/run
        Implement deployment and start/stop
        Package as install as single .jar
        Later: remote deployment       

Component: Plugins
    Interfaces provided:
        Plugins
    Interfaces consumed:
        Modules
    Tasks:
        Design doc
        Client plugin classloader
        Server plugin deployment       

Component: Security
        Tasks:
            Evaluate WonderDAC
            Port WonderDAC to 0.5
            SAS file/app security

Component: Federation (shared w/Paul and Jordan)
    See Paul's task

Paul


Component: Scripting - First Phase
    JPython and EcmaScript
    Java apis as well
    Support simple scripts which receive events and react by updating the 3D node

Component: Cell (with Jon)
    Trivial avatar with mpk20 model (from modules)
    Scaling (larger worlds, number of concurrent users)
    Proximity Listeners (client & server)
    Cell Component Model for extensibility
    Runtime addition/removal of CellComponent
    Security - review WonderDAC

Component: Asset Manager (with Jordan)

Component: World Editor (with Doug)
    Load and deploy KMZ files
    Load and deploy dae files (using jme and imi loader)
    Initial deploy and model update support
    Cell, Entity and Graph viewer (for technical analysis)

Component: Integrate IMI Collada loader and Avatar system

Component: Federation (shared w/Jon and Jordan)

Component: Cell container for SAS

Nigel

Collaborative applications
     Port 0.4 wonderland-modules apps: PDF Viewer, Video Player, VNC Viewer, SVG Whiteboard
     Port 0.4 wonderland-modules-incubator apps: Batik Browser, Flickr Show, HTML Viewer,
          Portal (with Jordan)
     Audio integration with voice bridge in Video Player (with Joe)

HUD
     Entirely new HUD system with support for 0.4 features only

Record prompts for dial in

Desired: Telepointers

Joe

New Voice Handle API which is better organized

Audio in shared apps

Add dial-in/out calls to user list

Name change for Orb

Avatar becomes Orb when disconnecting but staying on the phone

Support for multiple VoIP gateways with in-world phones

Better audio tools for diagnosing problems.

Missing packet detection for auto-adjustment of audio quality to reduce bandwidth

oog support

Ability to use different spatializers for different areas.

Automatic gain control

mute another user

private voice chat

Voice support with Multi-node Darkstar

Audio Scaling issues

Way out there:  Support for in-world light switches which use SPOTS to turn a real
light switch on/off.


Jordan

WFS Enhancements
* Include reading/writing WFS via the web server
* Enhance WFS API for multi-threaded reading and writing support
* Enhance WPI API to re-read from underlying medium
* Implement WFS Loading in Darkstar Node via web server
* Implement WFS Reloading in Darkstar Node via web server

Module System
* Implement basic Module API for reading
* Implement Module service to export module information via web server
* Basic module installation classes
* Basic web-based module administration

Client-Side Asset Management
* Load assets from modules
* Support multiple versions of the same asset

Help
* HTML browser based help system

Nicole

End-user documentation of core features