Croquet is an ambitious project to develop an entirely new way to work with computers, including 3D user interfaces and real-time collaboration between separate people manipulating the same virtual objects. Although this could be used in many domains, the focus of the core developers is on educational uses.
Imagine you could make computers work however you wanted. What would you have them do? That’s what we’re trying to figure out. Fast machines. Graphics coprocessors. Fast worldwide networks. And it’s only going to get better.
Part of the vision is that there are virtual spaces that one can enter and move around in. The visual and audio experience is 3d. (Well, ok, the sound is planar because folks generally just have 2 speakers. But it attenuates with distance, Doppler shifts with movement, and so forth.) OK, so it’s an arbitrarily reprogrammable “first-person shooter” video game. What else?
The objects in these spaces are active, and can be directly manipulated. This includes flat screens displaying movies or browsers or whatever conventional program you like.
You can alter the parameters of the behavior of these objects. If you know how and have permission, they can even be reprogrammed – without shutting down and restarting. Sort of like operating on a conscious patient or fixing the engine on a moving car. You can add new objects to a space, whether predefined objects created by folks in the community, or objects that you create and which you may or may not choose to share. What else?
Everything you create or change is available to everyone else running Croquet, subject to permissions. But more than that, it’s available right away. If there are two people in a space, both users see each other’s avatars. They see what objects each of them are manipulating – not just by effect, but directly because they can actually see each other’s 3D “cursor”. If I move something up, you see me move it at the same time. If you try to move it down at the same time, and we’re equally “strong,” the thing just sort of shakes until we work it out. You can even pick me up and move me around. Which reminds me, we can talk to each other right through the computer if we like. It’s built in. If we choose, we can pick an avatar whose head is a computer monitor displaying a live Web-cam display of ourselves. We can simultaneously draw on the same virtual whiteboard, and annotate each others work, and each others annotations. What else?
One of the things we can create is a portal to another space. We can carry both ends of the portal around from place to place, and position them where we want. You can leave them closed or open, in which case you can be in one space and see what is going on in another space (or even a third space with a portal positioned in line to look through). Hyperlinks, but ones you don’t have to traverse through before you get some idea of what’s beyond. And being just like everything else in the system, the portals can be modified and annotated. What else?
All we create, and all we destroy, and everything under the sun is shared, and can continue in our absence. Computational resources can be shared. For example, if you create a flat panel in a space and run some program on it, other folks in your space can use that panel also. They don’t have to have the program running on their machine.
Hmmm. I guess there’s enough socio-legal issues here to keep Wetmachine’s Harold busy for a while.
My job is as the lead Croquet developer for the Learning Systems group at UW. This is one of the core group of people developing the system and applications. Our aim it to grow the system such that it can be used for folks to build learning environments in which people construct their own knowledge in a (perhaps global) community setting. Instead of having an instructor build a physics simulation and letting students play with it, the students are assigned the task of working together to build their own simulation.
A great deal of this works right now. Some is still a little flaky. Simultaneous collaboration is currently limited to a local network. Anything related to using computation or storage on another machine isn’t really available yet. Physics works, but not in collaboration. There is no annotation, and not much documentation. All UI’s are very primitive. If you’re a developer and want to go to croquetproject.org and download the current version, please play close attention to the advice there on graphics device drivers. A modern, correctly functioning graphics drivers is absolutely crucial. You may think your machine is working fine, but if it’s a Windows box, particularly a laptop, there’s a good chance that you’ll need to find the correct non-Microsoft drivers.
But it’s not vaporware. I have it on my obsolete laptop, and my 12 year old daughter finds it useable enough for sketching new 3d objects to put into the world. Damn, I’m gonna like this job…