Joine Music

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Monday, 14 May 2007

Project Wonderland BOF (BOF-1306) @ JavaOne 2007

Posted on 06:53 by Unknown
These are my notes which I took during the Project Wonderland BOF at JavaOne 2007. Enjoy.

Paul Byrne - Lead of Wonderland
What is project wonderland?
- A technology for an immersive collabroative environment
- Allows distributed teams to work together
- OSS server and client side environment
- Security model to set up secure server - this allows you to trust the environment

The space available when you startup is a cubic light year

Key differences from the alternatives (i.e. Second Life):
- It has audio: high (CD) quality streaming audio which is distance attenuated and in stereo. They also have IM but here you can talk.
- You can run apps - unmodified. Firefox for example. We can now work with other people. Others can take over your appication and collaborate. Windows applications can be available too off a RDP client. However you need a dedicated server fo this. For X it can be the desktop you are working on. They demo this by pulling back from the presentation to reveal that the slideshow is just hanging there in a virtual JavaOne pavillion. We are taken on a tour and see the co presenters.

There are 3 main components:
1. Project Darkstar - The game server. Back end infrastructure. This is persistent and scalable.
2. Project Wonderland - The client UI or "browser" as it was described. Allows streaming geometries, audio, and access to desktop apps
3. MPK20 - An investigation of how to apply this tech to Sun. How can we use this to work tohegher. "Collocated-like"

Project Darkstar
- Open Source, enterprise grade, scalable online game server
- The programming model hides complexity of multi threading and server replication
- It handles persistence and state recovery in case of failure. Fault tolerant. No "Shard failure" probs
- It provides plug in APIs for extensibility
- It is platform and fame agnostic

Nigel Simpson - Sun labs researcher
Sun have been investigating social issues in the workspace and distributed teams. This is "MPK20" - 19 buildings in Menlo Pk campus. "20" is first virtual building. What works to bring people closer together? This is a place to do work and business. It ensures that they are socially and emotionally connected. MPK20 brings the virtual and real worlds together. It is not an alternate reality, just a merged one. Before, remote citizens were often second class citizens. Now this is lessened / removed.

What is the motivation? - There are increasing distances of separation within teams. This remoteness decreases opportunities for trust building relationships. Brainstorming is too difficult. Social engagement is a key motivator for cetrtain personality types. There are also management challenges - remote management is hard. Current tech solutions fail to address these issues

Concepts of MPK20 - it is a virtual office space including public spaces, social spaces, team spaces (e.g. compiling wonderland inside of wonderland, extreme programming, stuff on the walls etc.), individual work spaces, notes and screenshots and discussions on the walls. People can leave annotations (graffiti).

They also have plans to be able to leave a virtual voicemail - to pick it up you go back in time to when the caller left the message.

Comment from the audience: This is very Similar to the open croquet project - which was primarily a smalltalk environent. This is Java. The other difference from croquet is that it aims to foster ad hoc, peer to peer groups. This is corporate infrastructure. You want to be able to control and scale your server farm. It was invented so a game company could run multiple users (thousands) in a single game. You will see a lot of people doing a lot of metaverses - how do we make them all talk to each other. How to talk across metaverses? We are looking at it.

Mixed reality - The aim is to provide ways for virtual and real worlds to interact. Overlay virtual and physical and blur the boundaries. Build physical spaces that incorporate virtual interactions. Porta Person is an example of this - it provides an audio / video portal between virtual and physical worlds - virtual sees physical and vice versa. It bridges VR and real world conference attendees.

The Voice bridge - this provides real time, multi channel, high fidelity stereo and audio mixing. It is 100% java. Mature tech, part of Sun labs meeting suite telephone conferencing application. There is an OSS release of this in progress. It allows you to generate a private mix for each individual member (thereby mixing out their own audio). It also provides natural decay and rise of audio as you approach and move away from the source.

Other thoughts: What about playing with time? You could leave ghosts of yourself so that conferences or interactions could take place across timezones.

Questions:
- Can I run it in an applet? - you should be able to but for performance the geos of the world are cached on the client. This would need to be looked at. however, you could just use it for access to smaller areas such as conference suites etc. Yes, that would work.
- Can I get a 2D or reduced bandwidth version? - there is no reason why not
- Can I use this to reify my server environment so that I can see and hear my distributed application operating? - Yes, we have been thinking about this. We could use motion and colour as well as many other cues like audio to show you how your app is performing. This is not there now.
- Can I get a holo deck? - [laughter] Not as mad as it seems

More Info
  • Hear the Sun Labs guys talking about Wonderland on this episode of the java.net podcast
Email ThisBlogThis!Share to XShare to Facebook
Posted in darkstar mpk20 wonderland java3d commaboration SL | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

  • EJB 3.0 Outside the Container, Inside the JVM - Part 2: Configuring JPA Declaratively
    Welcome to part two of this blog entry introducing using EJB3.0 inside the JVM. Click here to view the first part. As we've seen, JPA ...
  • (no title)
    The Significance and Importance of Quotes in JSTL EL I just spent a few hours debuggung a null pointer in a Portlet JSP I'm writing. It...
  • Project Wonderland BOF (BOF-1306) @ JavaOne 2007
    These are my notes which I took during the Project Wonderland BOF at JavaOne 2007. Enjoy. Paul Byrne - Lead of Wonderland What is project w...
  • Maven 1.0.2: Adding a resource to a jar
    Want to add a resource such as an xml config file to your generated jar in Maven 1.0.2? Create a directory called ./resources in the base di...
  • EJB 3.0: One Model Inside and Out (Pt. 2) - The POJO Model Itself – Annotations and Relationships
    Please note, this blog entry is based heavily on many other things out there on the web at the moment, most particularly this tutorial on ne...
  • (no title)
    List Insert Based on CompareTo Here's some code I've had to write more than once. It inserts something into a list at a position ba...
  • Project Acta Diurna - Harnessing RSS Goodness for Project Glory
    Last week I was bitten three times in quick succession by a lack of knowledge about what was going on around me in the rest of the team. On ...
  • Booting Apache Derby ("JavaDB") with your Java App's Startup
    If you're embedding the Derby RDBMS with your java desktop application and want it to start when you start your app, you need to make th...
  • EJB3: Listing the Complete Contents of a Table
    It took me a while to work this out. Here is is for posterity: String queryString = "SELECT r FROM Recipe r WHERE r.id > 0"; Q...
  • Note to Self: Windows Pathnames in Java
    This gets me every time. I had to specify a jvm option in a maven properties file. It took ages, due to spaces in the path name. This wor...

Categories

  • 0
  • 2008
  • ant maven pimp build javaone 2008
  • apple ipod touch
  • asm
  • blog new ruby
  • blogtag list
  • bond casinoroyale mashup mi6 film movie
  • build
  • bytecode
  • CI
  • cobertura
  • communityone 2008 nutter jvm scala jruby groovy davinci
  • communityone 2008 opensocial socialsite
  • communityone javaone keynote oreilly
  • configuration
  • cowley
  • css div layout column ie firefox safari example
  • custom
  • darkstar mpk20 wonderland java3d commaboration SL
  • dashboard rss communication news development
  • db2 database SQL max min howto tip
  • db2 database ibm lessons tips
  • db2 database load batch howto example
  • db2 import upload data howto command
  • debt technical java annotation
  • debugging tips javaone 2008
  • development web2.0
  • findbugs JavaOne 2008 pugh
  • findbugs JavaOne BOF notes
  • gafter closures java javaone notes
  • google trouble patriarchal patriarchy
  • groovy metaprogramming javaone 2008
  • grubby oss data generation project announce
  • guice javaone 2008
  • gwt maven howto example simple
  • howto
  • hudson
  • hudson CI javaone 2008
  • ibm
  • invokeDynamic jvm dynamic ruby javaone
  • itinerant web2.0 portable desktop
  • jacl was websphere wsadmin trace logging
  • james gosling sun java open source tech days second life SL
  • jar java manifest properties config howto tip
  • java
  • java applet javaone 2008 reloaded jnlp
  • java javafxscript javaone 2008 fxscript
  • java javaone 2007 07
  • java javaone 2008 bytecode cobertura asm singleton testability
  • javaone
  • javaone keynote gage schwarz javafx
  • javaone semantic web bof notes web3
  • jazz
  • jruby rails javaone charlesnutter thomasenebo
  • jruby ruby netbeans development
  • kill dead laptop computer rebuild restore
  • lessonslearned
  • mac osx java gui shellscript classpath problem solution
  • maven plugin unittest test packager
  • mylin mylar javaone eclipse 2008
  • netbeans development ide
  • netbeans development ide RC
  • netbeans maven2 profiling
  • netbeans ruby sun tech days visual web pack roman strobl
  • ola bini java javaone 2008 thoughtworks ruby jruby
  • openjdk java javaone javafx wonderland
  • overheard
  • pojo ejb3.0 jpa orm java example howto
  • rant
  • rest restful jsr311 java web2.0 javaone ts-6411
  • rome rss feed blog rss atom propono java javaone
  • rsa uml profile plugin howto
  • ruby inheritance example
  • ruby jruby rss xml hpricot
  • ruby unless example
  • scm
  • setup
  • subversion svn xp windows cleanup
  • sun java soa web2.0 netbeans opensource javacaps
  • sun tech days java derby database rdbms london
  • sun tech days london impressions
  • terracotta java javaone 2008 android gwt
  • tip
  • tips
  • vwp netbeans JPA howto
  • was jython scripting nfr ibm pmi jvm
  • was tpv jython scripting nfr ibm pmi
  • webrick ruby jruby actadiurna investigation code howto
  • workitem

Blog Archive

  • ►  2012 (1)
    • ►  October (1)
  • ►  2010 (8)
    • ►  November (1)
    • ►  October (3)
    • ►  June (1)
    • ►  May (1)
    • ►  February (1)
    • ►  January (1)
  • ►  2009 (9)
    • ►  December (1)
    • ►  November (5)
    • ►  March (2)
    • ►  February (1)
  • ►  2008 (22)
    • ►  December (1)
    • ►  November (3)
    • ►  May (15)
    • ►  March (1)
    • ►  January (2)
  • ▼  2007 (53)
    • ►  December (1)
    • ►  November (3)
    • ►  September (3)
    • ►  August (2)
    • ►  July (3)
    • ►  June (1)
    • ▼  May (12)
      • Notes from the FindBugs BOF9231 at JavaOne 2007
      • JavaOne 2007 - Closures for the Java Language - TS...
      • RESTful Web Services: JSR-311 (TS-6411) at JavaOne...
      • JRuby on Rails - Agility for the Enterprise (TS-93...
      • JavaOne Bred Over-Enthusiasm...
      • Dynamic Languages in the JVM - Discussion Notes fr...
      • Notes: Beyond Blogging: Feeds In Action Technical ...
      • Project Wonderland BOF (BOF-1306) @ JavaOne 2007
      • JavaOne 2007 Day One Keynote - Ubiquitous JVMs
      • JavaOne 2007 (Day 1 – CommunityOne) Keynote with ...
      • JavaOne 2007 (Day 1 – CommunityOne) Hot, Damn Hot
      • Going to JavaOne 2007...
    • ►  April (5)
    • ►  March (13)
    • ►  February (7)
    • ►  January (3)
  • ►  2006 (35)
    • ►  December (8)
    • ►  October (1)
    • ►  August (1)
    • ►  July (5)
    • ►  June (8)
    • ►  May (3)
    • ►  April (7)
    • ►  March (2)
Powered by Blogger.

About Me

Unknown
View my complete profile