Telepointer Project Starting

January 10, 2012

By Nicole Yankelovich

Happy New Year! Just a quick reminder that the new Wonderland Wednesday telepointer project is starting this Wednesday. The details are here:

Wonderland Wednesday: Improving Telepointers
http://www.facebook.com/events/270055686389943/

During the break, we made some good progress thinking through the performance issues with Sticky Notes and other apps. This work will continue in the background, with various community members volunteering to take on small investigations each week and reporting back their results at the end of each Telepointer session.


Up Next: Telepointers and Improved Stickies

December 20, 2011

By Nicole Yankelovich

With the EZMove project complete, it’s time to move on to the next Wonderland Wednesday project. Instead of focusing entirely on a single project, we decided to research one project while implementing another. Join us tomorrow for the first Wonderland Wednesday session in this new series.

About the Projects

Improved Telepointers
While telepointers may not sound tremendously exciting, we believe a good telepointer implementation will dramatically enhance collaboration. Here are examples of what telepointers look like in a 2D environment:

Telepointer examples

Telepointer examples

They allow remote collaborators to point and gesture at specific items. The current telepointers in Wonderland do allow you to point to 3D objects, but they suffer from two major problems. First, they look horrible!

Current OWL telepointer

Current OWL telepointer

More importantly, they don’t work when a user has control of a 2D application, which is the time when you most want to be able to point to 2D items. The aim of this project is to improve telepointers such that they work well in both the 2D and the 3D cases, which will also involve improving their appearance.

Enhanced Sticky Notes
Sticky Notes are one of the most heavily used 2D apps in Wonderland.

Example of sticky note usage

Example of sticky notes used for brainstorming

While they are quite useful as is, they suffer from a host of problems. The worst of these is that if there are too many of them in world at the same time, they cause performance to degrade. The reason for this is that each note is a full-blown shared application. Other problems are that they are not resizable, the standard notes don’t support multiple fonts, you can’t add images or drawings to them, and they’re only a single “page.”

The major effort in this project is figuring out a way to redesign the notes such that each note is not such a “heavy weight” application. The exact way to do this, however, is not immediately obvious. It is for this reason that we decided to spend some time experimenting and researching the different possible ways to approach solving this problem.

How the Projects are Selected

A number of factors go into selecting these project ideas. The project has to be small enough to accomplish in a reasonable amount of time given that the group only meets an hour a week. We also want each project to focus on a different aspect of the system for maximum learning benefit. Finally, we want the functionality to be as useful as possible to the greatest number of people.

The Plan

In this selection process, quite a few people liked the “Enhanced Sticky Note” project idea. This project, however, is rather large and, as mentioned above, we don’t at this time know exactly what it will take to accomplish it. The Telepointer project, on the other hand, should be relatively quick and we have a pretty good sense of how to implement it.

So here’s the plan. Between now and January 11th, anyone who is available for the Wednesday sessions will focus on exploring the code and doing background research necessary to scope out the Enhanced Sticky Notes project. That research will continue in the background through January and February. In the mean time, starting on January 11th, the Wonderland Wednesday group will begin the implementation of Telepointers.

When the Telepointer project is complete or near complete, we will evaluate the Enhanced Sticky Note research and decide if it will be feasible to take on that project as the next Wonderland Wednesday project. Since it’s quite a large project, we are also considering having volunteers spend an extra hour or two a week working independently or with a single partner to write code or do testing between Wednesday sessions.

Why Participate?

If you are a Wonderland developer, Wonderland Wednesday sessions are about the best way to learn the intricacies of Wonderland programming. As with the Subsnapshot and EZMove projects, the sessions were an opportunity to learn about the development environment in a highly collaborative setting. Not only do developers learn coding practices from one another, but they also discuss best practices for testing multi-user, multi-platform software.

Even non-developers can benefit from participation. All of these projects involve end-user functionality. The more end-users who contribute to the design and testing, the better the outcome of the effort will be. Particularly at the beginning and near the end of each project, there are opportunities for non-developers to contribute. At the beginning, we focus on what functionality to include and we design the user interface – the way the feature will operate. Even for something seemingly simple like Telepointers, there are a lot of decisions to make about how the feature should work. Towards the end of the project, the group tests the new code. This is the fun part! You can watch the feature evolve from something primitive that barely works to a feature you don’t know how you managed to live without.


EZMove Now Available

December 16, 2011

By Nicole Yankelovich

We have now completed our second successful Wonderland Wednesday project. EZMove, a tool that makes it easier to move objects than the standard edit tools, is now available for download in the Module Warehouse. Here’s a quick video that shows how the feature works.

The primary thing to remember is that all EZMove functions are available when the ALT key (OPTION key on a Mac) is pressed.

For specific details on how to use EZMove, refer to the EZMove documentation.


EZMove Progress Report

July 22, 2011

Following up on Jonathan’s June 7th post Top ideas for the next Wonderland Wednesday project, I wanted to let everyone know that we selected the EZMove project. The idea behind EZMove is to provide end-users with an easy way to move objects around. The current scheme requires right-clicking on an object, selecting edit from the menu, and then using the movement tools. With EZMove, users will be able to simply hold down the Alt key and drag an object to move it. Once that’s working, a variety of other movement options will be added, such as letting you move an object closer or farther away by using the mouse wheel or letting you rotate the object using the arrow keys.

With only one design session and four coding sessions so far, the Wonderland Wednesday participants have made excellent progress. We were even able to test some code this past week. Here’s a short video clip I captured during the test to show you how the project is coming along.

While moving worked quite well at the origin of the world, it worked less well in other locations. If we tried dragging an object in the Dev Zone, more than a thousand meters from the origin, the object would jump before tracking the mouse. The majority of this last coding session was spent figuring out that problem. We’ll test it the fix this coming Wednesday to see if the problem has been resolved. If so, the group will tackle one of the other types of movement next.

If you would like to attend one of these Wonderland Wednesday coding sessions, please drop by. The announcements are always posted on the Open Wonderland Facebook events page. Everyone is welcome. It’s an opportunity to see real work getting accomplished in the virtual world and it’s fun to help test the new code even if you are not able to contribute to the software development.


Next Wonderland Wednesday Project

May 31, 2011

It happened without any fanfare, but the Wonderland Wednesday “Subsnapshot” project has been completed!

Test of subsnapshot "export" command

Test of subsnapshot "export" command.

As soon as the module is added to the Module Warehouse, I’ll post more details on how to use the new feature. In the mean time, please join us for tomorrow’s Wonderland Wednesday session to help decide on the next group project:

Wonderland Wednesday New Project Idea Session

Even if you are not a developer, we would value your input in terms of ranking the many great ideas that are currently under consideration. In last week’s meeting, we started the process of reviewing possible project ideas. Using Bob Potter’s Card Wall application, we started reviewing and annotating potential project ideas.

Annotating and organizing project ideas on a card wall.

Annotating and organizing project ideas on a card wall.

You can see these ideas in text format on the Community Wiki.  In tomorrow’s session, we will finishing going through the ideas with the goal of prioritizing them and hopefully deciding on one to pursue.


Workshops & Office Hours to Celebrate OWL Anniversary

March 11, 2011

It’s hard to believe, but it was exactly one year ago today that we forkedOpen Wonderland first anniversary the Wonderland code and created the Open Wonderland (OWL) open source project.

In honor of our first anniversary, I am pleased to announce that the Open Wonderland Foundation is sponsoring two new volunteer community efforts aimed at educating more people about Open Wonderland use and development.

Educational Workshops

To help both people new to Open Wonderland and those who wish to increase their existing knowledge, we are establishing a series of educational workshops. The first two workshops are geared towards newcomers. One focuses on end-users who want to learn to build Open Wonderland worlds and the other on Java developers who would like to get started with Open Wonderland development. Due to space limitations, registration is required for all workshops. There is no charge for the workshops, but the registration form provides a place to add a donation to the Open Wonderland Foundation. All money collected will be used to expand the workshop series and provide other educational events.

Workshop Series: OWL User and World Builder Basics
Learn to Build an Open Wonderland Virtual World

In this 2 hour hands-on workshop, we will cover the basics of creating an Open Wonderland virtual world. By the end of the session you will have learned how to use the basic features of the environment, how to insert 2D and 3D applications into a world,  how to add images and presentations, and how to find and use 3D models from the Google 3D Warehouse. We will also cover how to enhance in-world objects with “capabilities,” and how to arrange the objects that you have added.

Workshop Series: OWL Java Developer Basics
Part 1: Basics of Open Wonderland Development

Part 2: Creating Interactive Objects in Open Wonderland

This is a two-part hands-on workshop in which you will learn how to add new functionality to Open Wonderland by building modules that extend the Open Wonderland 3D virtual world toolkit. The first 1 hour session will cover everything you need to get started, including the basics of module development, their representation on the server and client sides, and how to set up your local machine to develop with Open Wonderland. In the second 1-hour session, you will learn the specifics of how to create a module. During the session, we will do a code walk-through of a sample module using an instance of NetBeans running inside the virtual world.

If there is demand, we will run more of these introductory workshops in the future as well as begin to offer others on more advanced topics. Please leave a comment on this blog post if there are workshop topics you would like to see offered. In addition, anyone in the community that has expertise on a topic is invited to propose a workshop. Please send an email to info@openwonderland.org with your workshop idea.

Office Hours

To provide Open Wonderland community members with more personalized help on specific end-user, world building, system administration, or developer questions, we are establishing “Office Hours.” More advanced members of the community are volunteering to be in-world for hour-long blocks of time so that anyone can drop in and ask questions.

Office Hours Schedule

Office hours are ideal if you would like a general introduction to Open Wonderland, would like to learn how to use a particular feature, have a problem that you need help troubleshooting, or need advice on approaching some tricky technical issue. Volunteers are also happy to brainstorm about possible Open Wonderland project ideas, or ways to integrate Open Wonderland into your class or business.

If you have Open Wonderland expertise you are willing to share, please volunteer to run one or more Office Hour sessions by adding your name to the schedule. The time and date is entirely up to you.

Call to Contribute

The Open Wonderland Foundation welcomes contributions of all sorts. In addition to the volunteer opportunities mentioned here, we can always use help maintaining web pages, writing documentation, or managing community servers. Of course, code contributions are an important part of any open source software project, and we encourage developers to contribute 2D and 3D apps, new capabilities, bug fixes, or help with localizing the software in different languages.

Finally, you can help us by making a financial contribution either when signing up for a workshop or by following the instructions on the Support Us page of the Open Wonderland web site.


Wonderland Wednesday EZScript Demo

February 13, 2011

At the February 9th Wonderland Wednesday session, Ryan Babiuch (aka Jagwire), a member of the iSocial team at the University of Missouri, demonstrated his new EZScript module. This module integrates JavaScript as a capability that can be applied to any in-world object. While this is still a work in progress and not yet available in the Module Warehouse, it is now functional enough to experiment with. Here’s a demo of how it works:

And here’s Ryan presenting at the Wonderland Wednesday session:

For those who want to experiment, Ryan has provided code below for the four examples shown in the videos, plus another script that places a message in the HUD (heads-up display) when the object is clicked. The source code for the EZScript module is currently in the wonderland-modules/unstable directory hosted on google code. The full path is: wonderland-modules/unstable/EZScript. If you want to try out EZScript on your own server, you can use Subversion to check out the code.

EZScript Examples

// Hover
for(var x = 0; x < 2; x++) {
   animateMove(cell, 0, 0.5, 0, 1);
   animateMove(cell, 0, -0.5, 0, 1);
}


// Play animation already associated with an object
AnimateCell(cell);


// Spin 
ScriptContext.enableProximityEvents();
function s() {
   spin(cell, 5, 5);
}
ScriptContext.onApproach(s, false);

// Move NPC
ScriptContext.clearCallbacks();
ScriptContext.enableMouseEvents();

var x = 0;

function walk() {
   MoveNPC(cell, x, 0, 0);
}
ScriptContext.onClick(walk, false);

// Show message in HUD
ScriptContext.enableMouseEvents();
function show() {
   ShowHUDMessage("Welcome to
        Open Wonderland!");
}
ScriptContext.onClick(show, false)


First P2PU Open Wonderland Class

February 4, 2011

Two weeks ago José Domínguez (aka Josmas Flores) announced an Open Wonderland course that he organized for Peer to Peer University (P2PU). He anticipated only 5 students, but ended up with at least 13, with several others auditing the course. The class met as a group for the first time today.

First P2PU class

First P2PU Open Wonderland class

This meeting was primarily an organizational meeting, with the real work getting underway next week as the class participants show off their “shape cells” created by following the steps in the “Developing a New Cell” tutorial.

One of the great things about this course is that all the content is freely available to anyone, including the course forum. Refer to the course home page for more information. In addition, a requirement of the course is that all enrolled participants blog about their experience. In the first session today, José shared a link to a web page that aggregates all the student blogs.

From skimming the blog posts, I got a sense of who was taking the class. It’s quite a diverse group. There are a few Open Wonderland community regulars, including Nina, a developer and virtual world evangelist from Lockheed Martin; Michel, a French entrepreneur running a business based on Open Wonderland, and Morris, a retired programmer who is doing Open Wonderland development for the fun of it. Others in the course include students from University of Essex in the UK, University of Lyon in France, University of Missouri in the States, Siena University in New York, and Karunya University in Coimbatore. There’s also a developer who works on the TEALSim project at MIT, an architect (of buildings and software), and a gentleman from Wells Fargo.

José said to encourage anyone who wishes to follow along to monitor the course forum, read the student blogs, and try out the assignments.


Open Wonderland Course @ P2PU

January 17, 2011

I hope some of you will be interested in signing up for this new Open Wonderland course organized by one of our most active community members.

Learning in a Different Way

José DomínguezBy José Domínguez (aka Josmas Flores)
Trinity College Dublin

Hello all! My name is José Domínguez (aka Josmas Flores) and I am a researcher at Trinity College Dublin, in Ireland. I have been a member of the Open Wonderland community for the last number of months, and you can generally find me on the forums or the development meetings on Wednesdays. It’s been such a great experience so far that I thought it would be a great time to give back to the community by organizing a development course. The course will be delivered through the Peer to Peer University (P2PU), an online community of open study groups.

About P2PU (p2pu.org)

The Peer to Peer University is a bit different. All work is done through P2P collaboration, and courses generally run for 6 weeks. You do not need to be an expert to organise a course, mainly because you will be a facilitator, as opposed to a teacher/lecturer. All you need is a collection of open accessible resources to run a course (you can also create your own), and make participants understand that they are ultimately responsible for their own learning.

I think this model fits the software profession perfectly, if you compare it with the individualised approaches of any ‘normal’ university. It reflects quite well how programmers learn after finishing ‘formal’ education, when we have to join the workforce.

You will not get a degree after finishing a course at P2PU, but you might get much more out of it.

About the course

Target audience: I am targeting participants with at least 2 years Java programming experience, be it in commercial environments or College/University.

Although you do not need any knowledge about Wonderland itself, you do have to be willing to work on your own, as well as in groups, with the documentation and resources available.

Participants are expected to know how to use tools such as subversion and ant, and be comfortable with working from the command line. The course will not cover these basics.

Please review the sign-up task before applying for the course.

In a pure peer-to-peer spirit, the syllabus is open to participants. My main idea is to create different groups, depending on the interests of the people attending, but all these can be organically changed.

Initially, all participants will join a “General Development ” group, that will tackle Wonderland module development with the goal of getting people up to speed in how to create modules. Work can continue through a “Scripting” group, with the intention of exploiting the vast possibilities of the scripting engine. We will also be exploring when scripting is more appropriate than Java module development.

Other groups that might emerge during the course are “SCM” (a software configuration management group to explore building and automation of the system, including source control and dependency management) , or “Automated Testing ”, a group to test the system from within.

During the course, I also intend to organize ‘Software Craftsmanship workshops’, in areas such as pair programming, software katas, randori, TDD, BDD. The idea is to introduce the techniques, and then try to find ways in which they could fit within a Wonderland development context.

This is a ‘distance learning collaborative experience’, and I do not expect people to be meeting face to face, but I do expect meetings avatar to avatar. It is definitely not the same, but in my opinion, is the closest experience to the real thing that I’ve experienced so far.

The initial idea is to meet at least once a week (for 1 hour) on one of the Open Wonderland community servers. Times will have to be decided after the sign-up process, and will reflect the geographic locations and timezones of the participants. I am willing to organise as many meetings as needed to accommodate all participants.

In summary, if you are interested in learning through technology, be it software development, testing automation, SCM, and so on, and you want to do it within an existing system, and more importantly, in a collaboratively, community-based way, please have a look at the course.

Link: http://www.p2pu.org/general/open-wonderland-development-java

Dates: Starts on January 26th (2011), and runs (initially) for 6 weeks.

For schedule and syllabus, please follow the course link.


Default World Walkthrough

November 30, 2010

We’re going to try something a bit different in tomorrow’s Wonderland Wednesday session at 1pm Eastern time:

Wonderland Wednesday: Introducing New Starter Worlds

In the upcoming release of Wonderland, we will be including a set of “starter worlds” for people. In order to help people get the best use of these worlds, in tomorrow’s session, we will be doing a walk-through of the worlds and brainstorming about the best use cases for each one. Then the plan is to “stage” one or two of those scenarios in each world and capture screenshots and short video clips. We will then compile the images and video into documentation that describes how to use the starter worlds.

This session will also act as a test of some of the new functionality and bug fixes going into the release. Please note that the session will be held on the community demo server, not our regular Wonderland Wednesday meeting server.

If you would like to join us, please follow the link above to the event listing on our Facebook page for more details.


Follow

Get every new post delivered to your Inbox.

Join 27 other followers