Transcript
Page 1: Open Wonderland: A Tool for Collaborative Software Development

A Tool forCollaborative Software Development

Nicole YankelovichOpen Wonderland FoundationWonderBuilders, [email protected]

Page 2: Open Wonderland: A Tool for Collaborative Software Development

2Copyright 2013, Open Wonderland Foundation

What is Open Wonderland (OWL)?100% Java, free, open-source toolkit for

creating 3D immersive virtual worlds

Page 3: Open Wonderland: A Tool for Collaborative Software Development

3Copyright 2013, Open Wonderland Foundation

Build Worlds for...

Collaboration with Live DocsCollaboration with Live Docs

3D Data Visualization and Analysis3D Data Visualization and Analysis

SimulationSimulation

Mixed-Reality InteractionsMixed-Reality Interactions

Integrating with Real WorldIntegrating with Real World

Page 4: Open Wonderland: A Tool for Collaborative Software Development

4Copyright 2013, Open Wonderland Foundation

Education and TrainingEducation and Training

Page 5: Open Wonderland: A Tool for Collaborative Software Development

5Copyright 2013, Open Wonderland Foundation

Modules for Extensibility

• Modules akin to “plug-ins” for addingapps and other functionality to OWL

• Mechanism for packaging & sharing 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

ModuleModule

CodeArtworkScripts

Assembled worldsOther resources

Page 6: Open Wonderland: A Tool for Collaborative Software Development

6Copyright 2013, Open Wonderland Foundation

Modules can add Apps

• Multi-user, interactive 2D apps

• Interactive 3D apps

Mic Twitter Feed PortalAudio Recorder

Whiteboard Screen SharerFirefox Webcam Viewer

2D + 3D Combined

Comp Sci Lesson

Page 7: Open Wonderland: A Tool for Collaborative Software Development

7Copyright 2013, Open Wonderland Foundation

Modules can add Capabilities

• Capabilities are functionality that can be applied to any in-world object

• Each can optionally include a property sheet

Page 8: Open Wonderland: A Tool for Collaborative Software Development

8Copyright 2013, Open Wonderland Foundation

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

Page 9: Open Wonderland: A Tool for Collaborative Software Development

9Copyright 2013, Open Wonderland Foundation

Modules can add Menu items

• New functionality appears in menu hierarchy

Page 10: Open Wonderland: A Tool for Collaborative Software Development

10Copyright 2013, Open Wonderland Foundation

Wonderland Module Warehouse

• Browseapps &features

• Share• Comment• Rate

Page 11: Open Wonderland: A Tool for Collaborative Software Development

11Copyright 2013, Open Wonderland Foundation

Web-based Admin Console

• Add / remove modules from web UI

Page 12: Open Wonderland: A Tool for Collaborative Software Development

12Copyright 2013, Open Wonderland Foundation

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, ...

Page 13: Open Wonderland: A Tool for Collaborative Software Development

13Copyright 2013, Open Wonderland Foundation

Case Study – “Subsnapshot” Project

• Collaborative module development project

• Any developer in the opensource community wasinvited to participate in liveweekly meetings

• All meetings held in OWL• Main purpose

> Help educate developers so more could contribute to project, help fix bugs, and add new features

Page 14: Open Wonderland: A Tool for Collaborative Software Development

14Copyright 2013, Open Wonderland Foundation

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

Page 15: Open Wonderland: A Tool for Collaborative Software Development

15Copyright 2013, Open Wonderland Foundation

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

Page 16: Open Wonderland: A Tool for Collaborative Software Development

16Copyright 2013, Open Wonderland Foundation

Postcards

• New feature that allowsvirtual world users totake 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

Page 17: Open Wonderland: A Tool for Collaborative Software Development

17Copyright 2013, Open Wonderland Foundation

Project Space Setup

Page 18: Open Wonderland: A Tool for Collaborative Software Development

18Copyright 2013, Open Wonderland Foundation

Activities & Tools• Before/between sessions

> Live in-world planning mtgs.> Asynchronous collaboration

• Google Wave, GoogleDrive, 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

Page 19: Open Wonderland: A Tool for Collaborative Software Development

19Copyright 2013, Open Wonderland Foundation

Activity: BrainstormingTool: Drag-and-drop Images

Page 20: Open Wonderland: A Tool for Collaborative Software Development

20Copyright 2013, Open Wonderland Foundation

Activity: Organizing / User StoriesTool: Card Wall

Page 21: Open Wonderland: A Tool for Collaborative Software Development

21Copyright 2013, Open Wonderland Foundation

Activity: Planning & DesignTool: Multi-user Whiteboard

Page 22: Open Wonderland: A Tool for Collaborative Software Development

22Copyright 2013, Open Wonderland Foundation

Activity: Planning Poker & VotingTool: Voting Tool

Page 23: Open Wonderland: A Tool for Collaborative Software Development

23Copyright 2013, Open Wonderland Foundation

Activity: Consulting the WebTool: Firefox

Page 24: Open Wonderland: A Tool for Collaborative Software Development

24Copyright 2013, Open Wonderland Foundation

Activity: Collaborative CodingTool: NetBeans

Page 25: Open Wonderland: A Tool for Collaborative Software Development

25Copyright 2013, Open Wonderland Foundation

Activity: Collaborative DebuggingTool: Shared Terminal

Page 26: Open Wonderland: A Tool for Collaborative Software Development

26Copyright 2013, Open Wonderland Foundation

Activity: Note TakingTool: Sticky Notes

Page 27: Open Wonderland: A Tool for Collaborative Software Development

27Copyright 2013, Open Wonderland Foundation

Activity: Doc & Desktop SharingTools: DropBox, VNC Viewer

Page 28: Open Wonderland: A Tool for Collaborative Software Development

28Copyright 2013, Open Wonderland Foundation

Activity: DocumentationTools: PDF Viewer / Google Drive

Page 29: Open Wonderland: A Tool for Collaborative Software Development

29Copyright 2013, Open Wonderland Foundation

Activity: Unit TestingTools: NetBeans, Image Viewer

Page 30: Open Wonderland: A Tool for Collaborative Software Development

30Copyright 2013, Open Wonderland Foundation

Activity: Testing the CodeTool: SubSnapshot Module

Page 31: Open Wonderland: A Tool for Collaborative Software Development

31Copyright 2013, Open Wonderland Foundation

Activity: Testing on Remote ServerTools: VNC, Screen Sharer

Page 32: Open Wonderland: A Tool for Collaborative Software Development

32Copyright 2013, Open Wonderland Foundation

Activity: Documenting the ProjectTools: Facebook, Screen Sharer

Page 33: Open Wonderland: A Tool for Collaborative Software Development

33Copyright 2013, Open Wonderland Foundation

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

Page 34: Open Wonderland: A Tool for Collaborative Software Development

34Copyright 2013, Open Wonderland Foundation

For More Information• WonderBuilders

> http://WonderBuilders.com> Custom worlds, consulting

• Open Wonderland> http://OpenWonderland.org

• WonderBlog> http://blogs.openwonderland.org

• Facebook> http://facebook.com/openwonderland

• Twitter> http://twitter.com/openwonderland> use hashtag: #openwonderland

[email protected]


Recommended