Open Wonderland is a toolkit for creating 3D virtual worlds for education and collaboration. This talk focuses on the use of Open Wonderland for distributed software development, detailing the suite of collaborative tools that support each of the different activities involved in the software development process.
How to Build & Develop Responsive Open Learning Environments with the ROLE SDK
Open Wonderland: A Tool for Collaborative Software Development
1. A Tool for
Collaborative Software Development
Nicole Yankelovich
Open Wonderland Foundation
WonderBuilders, Inc.
nicole@wonderbuilders.com
2. What is Open Wonderland (OWL)?
100% Java, free, open-source toolkit for
creating 3D immersive virtual worlds
Copyright 2013, Open Wonderland Foundation 2
3. Build Worlds for...
Simulation
Collaboration with Live Docs
Mixed-Reality Interactions
3D Data Visualization and Analysis Integrating with Real World
Copyright 2013, Open Wonderland Foundation 3
5. Modules for Extensibility Module
• Modules akin to “plug-ins” for adding Code
Artwork
apps and other functionality to OWL Scripts
Assembled worlds
• Mechanism for packaging & sharing Other resources
OWL extensions written in Java
> Can contain code, artwork, audio,
scripts, web management and web services
> Also world configurations for sharing whole worlds
> Deliver art assets via embedded HTTP server
> Packaged as archive (jar) files
• Modules can depend on other modules
Copyright 2013, Open Wonderland Foundation 5
6. Modules can add Apps
• Multi-user, interactive 2D apps
Whiteboard Firefox Screen Sharer Webcam Viewer
• Interactive 3D apps 2D + 3D Combined
Audio Recorder Mic Twitter Feed Portal
Copyright 2013, Open Wonderland Foundation Comp Sci Lesson 6
7. Modules can add Capabilities
• Capabilities are functionality that can
be applied to any in-world object
• Each can optionally include a property
sheet
Copyright 2013, Open Wonderland Foundation 7
8. Capability Examples
• Audio: Add recorded audio or audio stream
• Container: Group objects; inherit properties
• Portal: Teleport to new location
• EZScript: Add scripting to any object
2
Copyright 2013, Open Wonderland Foundation 8
9. Modules can add Menu items
• New functionality appears in menu hierarchy
Copyright 2013, Open Wonderland Foundation 9
10. Wonderland Module Warehouse
• Browse
apps &
features
• Share
• Comment
• Rate
Copyright 2013, Open Wonderland Foundation 10
11. Web-based Admin Console
• Add / remove modules from web UI
Copyright 2013, Open Wonderland Foundation 11
12. Case Studies, Activities, and Tools
• Look at two case studies of OWL use for
collaborative software development
> Subsnapshots Project
• Export objects
> Postcards Code-a-thon
• In-world screenshots
• Used a wide range of collaboration tools to support
full range of software development activities
> Planning, coding, debugging, testing, documenting, ...
Copyright 2013, Open Wonderland Foundation 12
13. Case Study – “Subsnapshot” Project
• Collaborative module
development project
• Any developer in the open
source community was
invited to participate in live
weekly meetings
• All meetings held in OWL
• Main purpose
> Help educate developers so more could contribute to
project, help fix bugs, and add new features
Copyright 2013, Open Wonderland Foundation 13
14. SubSnapshot Sessions
• Logistics
> All participants remote
> 2-3 times per month; 1 hour
> Averages 8-12 participants
> September 2010 – May 2011
• Learning Community
> No formal instructor
> OWL architect defacto leader
> Participants take turns driving
> Focus on understanding, good
coding practices, not speed
Copyright 2013, Open Wonderland Foundation 14
15. Case Study - “Postcard” Code-a-thon
• Intensive three-day event to create a module
• Participants came from US, Canada, and several
European countries
• Run by a small organizing committee
Copyright 2013, Open Wonderland Foundation 15
16. Postcards
• New feature that allows
virtual world users to
take and send pictures.
• Uses a virtual camera to
set up shot; simple UI to
compose a message and
specify how to share
• Differences:
> Intensive sessions
> Involved more UI design
> Non-developers involved
Copyright 2013, Open Wonderland Foundation 16
18. Activities & Tools
• Before/between sessions
> Live in-world planning mtgs.
> Asynchronous collaboration
• Google Wave, Google
Drive, OWL Forum, Facebook
> Setting up the environment
> Installing new code on
community server
> Testing
• During the live sessions
> Synchronous collaboration with high fidelity audio
> Suite of collaboration tools support variety of activities
Copyright 2013, Open Wonderland Foundation 18
30. Activity: Testing the Code
Tool: SubSnapshot Module
Copyright 2013, Open Wonderland Foundation 30
31. Activity: Testing on Remote Server
Tools: VNC, Screen Sharer
Copyright 2013, Open Wonderland Foundation 31
32. Activity: Documenting the Project
Tools: Facebook, Screen Sharer
Copyright 2013, Open Wonderland Foundation 32
33. Lessons Learned
• Benefits:
> Real work accomplished in
the virtual world
> Multiple simultaneous activities
> Participants highly engaged
> Strong relationships developed
> Agile techniques worked
remotely
• Challenges:
> Time zones
> Doing sufficient pre-work to set up the necessary tools
Copyright 2013, Open Wonderland Foundation 33
34. For More Information
• WonderBuilders
> http://WonderBuilders.com
> Custom worlds, consulting
• Open Wonderland
> http://OpenWonderland.org
• WonderBlog
> http://blogs.openwonderland.org
nicole@wonderbuilders.com
• Facebook
> http://facebook.com/openwonderland
• Twitter
> http://twitter.com/openwonderland
> use hashtag: #openwonderland
Copyright 2013, Open Wonderland Foundation 34