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