Monday, December 27, 2004

Like an Elephant

Time and again many of the new people that I speak with about Croquet immediately (and most certainly prematurely) begin making comparisons between what they think we are trying to do with Croquet and the technologies and categories of technologies with which they are already familiar. With few exceptions, this happens long before they gain even a rudimentary understanding about what we are actually seeking to accomplish through the efforts of this project.

Of course, relating something new to something familiar is a natural way of dealing with what's new. Categories are comfortable. But they can spawn preconceptions or even prejudices that then stand in the way of one's ability to see what is most important or individually unique about a new thing. This is especially true when a large share of a new thing's value lies in the outcome of the interaction between its constituent parts. Emergent properties can have great value...

This is essentially the problem described in John Godfrey Saxe's (1816-1887) poetic version of the famous Indian legend known as The Blind Men and the Elephant in which each observer only perceives a part of the whole in a way that prevents a wholistic understanding of the animal and what it is capable of doing.

It was six men of Indostan
To learning much inclined,
Who went to see the Elephant
(Though all of them were blind),
That each by observation
Might satisfy his mind.

The First approached the Elephant,
And happening to fall
Against his broad and sturdy side,
At once began to bawl:
"God bless me! but the Elephant
Is very like a wall!"

The Second, feeling of the tusk
Cried, "Ho! what have we here,
So very round and smooth and sharp?
To me `tis mighty clear
This wonder of an Elephant
Is very like a spear!"

The Third approached the animal,
And happening to take
The squirming trunk within his hands,
Thus boldly up he spake:
"I see," quoth he, "the Elephant
Is very like a snake!"

The Fourth reached out an eager hand,
And felt about the knee:
"What most this wondrous beast is like
Is mighty plain," quoth he;
"'Tis clear enough the Elephant
Is very like a tree!"

The Fifth, who chanced to touch the ear,
Said: "E'en the blindest man
Can tell what this resembles most;
Deny the fact who can,
This marvel of an Elephant
Is very like a fan!"

The Sixth no sooner had begun
About the beast to grope,
Than, seizing on the swinging tail
That fell within his scope.
"I see," quoth he, "the Elephant
Is very like a rope!"

And so these men of Indostan
Disputed loud and long,
Each in his own opinion
Exceeding stiff and strong,
Though each was partly in the right,
And all were in the wrong!


So oft in theologic wars,
The disputants, I ween,
Rail on in utter ignorance
Of what each other mean,
And prate about an Elephant
Not one of them has seen!

Unfortunatly, the vision of what Croquet really is remains just a vision until we begin deploying a more mature networking technology and the framework of interactivity and worldbase servers as described in whitepapers on the project website. Words do it little justice. Trying to explain it is kind of like trying to describe the smell of coffee to a Martian with no earthly experience. As the character Morpheus in The Matrix puts it so well: "Unfortunately no one can be told what the matrix is, you have to see it for yourself." This lack of experience with the whole is why so many are compelled to relate only to Croquet's consituent parts at the level of the categories with which they are already familiar.

Below I list below some of the typical comments that I hear from people who are new to Croquet. Notice the syntax - it's usually a statement of category followed by a reference to an existing product or approach. The reference part, usually in the form of a question, is for most people the result of a desire to be helpful.

"It's like an open source game engine - Oh, are you familiar with open source CrystalSpace or the Unreal engine and its mod capabilities?"

"It's like a 3D chat room - oh yea, have you checked out things like Second Life or Adobe Atmosphere?"

"It's like a 3D desktop - have you seen Sun's Project Looking Glass, its also a 3D desktop?"

"It's like a 3D learning space - have you gotten in touch with Active Worlds, they are building an Education Universe, aren't they?"

"It's like a collaboration suite - doesn't SharePoint do everything you are trying to do?"

"It's like a videoconferencing tool - gee, I thought NetMeeting already did that, have you looked into that?"

"It's like an operating system - I hear that Longhorn will be 3D and collaborative, right?"

"It's like a digital repository - so do you know about DSpace and the IMS specifications?"

"It's like a browser - do you use Mozilla source code and are you a member of W3C, after all, standards are important aren't they?"

"It's like a learning management system - Moodle and other commercial systems like WebCT and Blackboard do collabrative stuff, don't they?"

"It's a peer-to-peer technology - is it a file sharing program like Morpheus or KaZaA?"

"It's an integrated tool for collaboration, communication, and training - Macromedia Breeze does that, right?"

"It's like a 3D wiki - isn't there a...
(then there is a long pause while they think about it)...hmmm...a real 3D that would be cool!"

Just like the blind men and just like an elephant...

Friday, December 24, 2004

Picturing an Exhibition

The Citris Gallery Builder is a Croquet-based collaborative virtual gallery construction and viewing tool for the humanities. Its one of several interactive collaboration tools for humanists being developed at Berkeley by Prof. Ruzena Bajcsy in collaboration with the students and staff of Citris. The Gallery Builder is being designed with the goal of allowing non-technical users to easily build 3D virtual galleries which contain images, movies, audio, and 3D objects of various types. The galleries are then able to be viewed and modified collaboratively by members of a Croquet place.

Building the gallery is done in a familiar 2D floorplan mode, where the user lays out walls and positions media on the walls or in the space via drag-and-drop capabilities from a content browser into the 2D view. The gallery is then also viewable in 3D. Ultimately, the team at Berekley hopes that this technology will contribute to promoting cooperative interaction between geographically distributed real-world sites through realistic reconstruction of those sites in virtual space in real-time. Special thanks to Orion Elenzil and Tao Starbow who braved the bleeding edge in rolling this out. We salute you!

Click here for more information about the Croquet-based Citris Gallery Builder.

Thursday, December 23, 2004

Talking to Your TV

"Imagine what it would be like if TV actually were good. It would be the end of everything we know." - Marvin Minksy

While visiting Japan last January, I saw a technology demostration that really captured my attention. Its called TVML (TVprogram Making Language) and it could very well change the way we relate to multimedia. It's a script description language being developed by Japanese researchers for use in producing full "TV programs" in real time virtual environments by using computer generated (CG) characters, a voice synthesizer, and familiar multimedia conventions. With this system a user should be able to dictate actions within a virtual space simply by generating a text-based script in real-time. In a TVML script, the contents and actions of a virtual space can be controlled by text-based commands such as "show title#1" or "character walk". The possibility of using voice-to-text capabilities makes this even more interesting. Written or spoken, TVML could be a very compelling way for people to script interactive virtual spaces and simulations using natural laguage approaches. It could also significantly lower the barrier to entry for a good many creative minds and allow for the rapid and low cost development of interactive virtual environments for entertainment, education, and training.

TVML was initially developed by R&D teams at NHK (Japanese Broadcasting Corporation), Hitachi Kokusai Electric Inc., Hitachi, Ltd., Central Research Laboratory, and Keio University. In 2001, the project moved entirely to the NHK where the effort is being led by Hayashi-san and his team and in collaboration with researchers at NICT (The National Institute for Information and Communications Technology). The good news is that they are now working to develop a TVML API and interface module for Croquet!

The first implementation of a TVML-emabled Croquet technology is intended for a Kyoto tourism information and support system. The idea is that a character will respond to tourists questions and guide them to points of interest in a virtual Kyoto. The virtual Kyoto will also be tied in with real-world locations and the technology is therefore being developed for use on multiple real-world display devices. Click here to learn more about TVML.

Sunday, December 19, 2004

Random Acts

We're working to come up with an approach to enable Croquet-based simulations involving ‘random’ events to be replicated on multiple machines. This is an interesting problem for us because of the fact that replication of computation would also replicate generation of the random numbers to be used in a simulation. This would usually be undesireable. For example, if we create a virtual coin toss simulation in Croquet that is intended to produce a random outcome (the outcome of either "heads" or "tails"), we would have to ensure that what might come up as “heads” on my instance is also “heads” on all other clients in the TeaParty. The problem is that if all of us are replicating the calculation of a random outcome, there would be nothing to ensure that what appears as “heads” on my machine would not be “tails” on yours. Solving this problem has deep implications on making the somewhat non-deterministic ODE (Open Dynamics Engine) integration with Croquet both deterministic and collaborative. Setting aside the obvious philosophical treatise that the act of structuring a form of deterministic randomness in cyberspace might warrant, we're presently considering two practical approaches to this issue.

One approach is to generate results on a master machine (the initiator of the event) and then replicating the random number computation (actually a pseudo-random number computation) on all other machines in the TeaParty (one machine simply tells all the other machines in the TeaParty that a new final result has been produced). In this way, when the triggering event or gesture happens on a particular machine, then that machine consults its own random number generator to produce a result. When the same event or gesture occurs on another machine, the random number generator on that machine is consulted to produce the result. For moderately complex simulations, there will be little guarantee of uniformity across ones that are moderately shared.

Another approach would be to get all participants to behave as if they are using the same random number generator. This would involve creating one random number generator that produces a well-distributed sequence of random values, regardless of which machine originates the request for any one of these values and the resulting sequence would be shared by all members of the TeaParty. In so doing, each request for the next random number would be shared as a TeaParty-wide event by all participating machines and no machine would be permitted to request an additional random number on its own that is not seen by all the other machines. This does not necessarily mean that there would be one generator for all purposes in all simulations running in the TeaParty. There could be one shared generator per ball in a billiards simulation, or one shared generator per billiard table in a simulation, or even one per TSpace. The point being that each of these shared generators is individually a single conceptual generator that is shared by all machines participating in the TeaParty.

Sunday, November 21, 2004

User Centered Design

To ensure success in designing ease of use and a level of design sophistication into the total user experience for Croquet-based learning applications, we're following the principles and best practices of user-centered design (as we do for all of our software development projects). This helps us provide for the needs of all potential users and adapt the user interface to meet their expectations, while at the same time freeing users from the need to overcome unnecessary obstacles to their use of the software.

In user centered design of educational applications you generally align learning objectives to user goals through a three-step iterative process: 1) information gathering and analysis, 2) information architeture and prototyping, and 3) interface design (implementation, testing, launching, growing). All three of these can (and should) be applied to any interactive software product.

User centered design also involves 1) making visible a series of navigational aids that readily define constraints and help users predict the effects of their actions, 2) reducing memory load by making interface elements meaningful and consistent and relating new items and functions to ones the user already knows, 3) providing immediate feedback when users perform actions, 4) facilitating the chunking of information into schema that are meaningful to users and that can allow them to skim and scan large amounts of data easily, 5) helping orient users by providing descriptive information about things, maps, and visual cues to location, 6) providing a high level of tolerance for user error, and 7) maintaining a high-quality visual design and text legibility. There are all pretty simple and basic - but you'd be surprised at how much software is developed without adequately considering some of these (but then again, a lot of you reading this probably wouldn't).

Friday, October 29, 2004

Welcome Howard!

Howard Stearns has recently joined the UW Croquet development team as our full-time lead developer. Howard has 20 years experience in systems engineering, applications consulting, and management of advanced software technologies. The CAD integration products he created for expert system pioneer ICAD set the market standard through IPO and acquisition by Oracle. The embedded systems he wrote helped transform the industrial diamond market. Howard was Technology Strategist for Curl, the only startup founded by WWW pioneer Tim Berners-Lee. An expert on programming languages and operating systems, Howard created the Eclipse commercial Common Lisp programming implementation. He has presented at technical conferences, been published by Dr. Dobbs Journal, and was on the board of the international Association of Lisp Users for five years. He has written extensive developer documentation as well as creating the XML systems to produce it. Howard has two degrees from M.I.T., and has also directed family businesses in early childhood education and publishing. We are very excited to have him on the project!

Monday, October 25, 2004

Care to See a Menu?

Croquet technology is so flexible that it can be used to develop any sort of graphical user interface that can be imagined. This presents a wonderful challenge for us as we tackle the task of defining the GUI for the first release of Croquet. However, does developing this new technology mean that we should also develop a completely different 3D GUI than the 2D ones we are currently accustomed to using? After all, what place do menus, pop-up panels, dialog boxes, and right-click menus have in a 3D collaborative space? At first glance, you might consider the development of a different type of GUI than the ones in our more traditional applications to be an appropriate thing for us to do first. From a personal perspective, it is what I would prefer to do. However, I am torn on this issue.

My experience as an educational technologist here at the University of Wisconsin-Madison has taught me that getting anywhere near a majority people to explore and use new technology is harder than one might imagine. That is because it is not uncommon for most people to have considerable difficulty dealing with even the most subtle changes to how they are accustomed to using computers. Because of this, the University of Wisconsin-Madison commits significant resources toward helping its faculty and instructional staff transition to the use of new and emerging technologies that improve teaching and learning. And because of this, I also must consider that a simple and familiar GUI is what we must develop for the first release of Croquet. We must lower the barriers to entry as far as possible. Only then will we be able to harness the power of the creative commons in the manner we have described in our papers.

Since everything in Croquet is fully modifiable, it is possible for many different GUIs to be developed as applications are built. However, we still have to start somewhere. Here at UW we are designing and developing the first iteration of a simple and familiar default interface for Croquet v1.0. that can allow technologically naive people to quickly and easily access the power of the underlying technology. The idea is that, through a simple and familiar interface, educators and others will be able to access the power of Croquet easily and efficiently and develop collaborative learning environments and simulations (and with out the need to program in Squeak). In this way we will truly open up the power of this technology to the broadest collaborative user base at institutions of higher education. Once people have success with the system, they will then be able to then easily progress to deeper levels of scripting and programming. We hope that by developing an easy to use interface, we will stimulate the more rapid development of interesting, exciting, and useful exemplars. Just imagine what can happen when all kinds of subject area experts (not just programmers) can easily implement their ideas in Croquet spaces...

Thursday, October 21, 2004

Looking Back on ViOS

My efforts with ViOS have been mentioned in several of the previous postings. Since my experiences there are relevant to my work with Croquet, a bit of a description of ViOS is probably worth a mention now. The basic concept behind ViOS was to take the virtual world of the ENTIRE Internet and adapt it to a physical representation of large lanscape, complete with mountains, rivers and cities. I took this approach because of my belief that a virtual landscape resembling our physical world is more conducive to exploration and social interaction than the flat and abstracted world of the current page-based Internet. By organizing virtual cities and specialized regions with particular themes in a very large contiguous ViOS space, users could discover sites and people that they may never have found through conventional web surfing. Users were able to travel directly to cities/areas of interest through special 3D portals, maps, or by using a keyword. Objects within the ViOS world were essentially pointers to web-deliverable resources. When you interacted with such objects, you would bring up the webpage assoociated with it. ViOS information was therefore organized visually. We seeded the space with 420 cities and communities that appeared as 3D places. We populated these with approximately 15,000 objects representing the best of the web. Keep in mind that all existing web sites were still available at some place on the enormous landscape, but their location may not have been close to these initial communities. Also keep in mind that users could also just browse the web in traditional 2D browser-based ways as well.

Our business model was based on the desire for owners of such outlying sites to relocate their site's representation to “better” locations within ViOS in order to gain traffic to their sites (traffic that was measurable). We made it possible for a company to set up a site anywhere on the 3D landscape, whether it’s next to Yahoo, Amazon, Disney or all three. This was done by allowing them to lease locations through a pricing structure based on location and commercial density. In this way, the economics of location and commercial density could be transitioned to the online world because of its representation of a physical space. Private individuals could also publish to the ViOS lanscape at lower cost structures. A key concept of ViOS is that it enabled representations of internet-deliverable information to self-organize and optimize through the decentralized activities of its participants. In other words, owners of web sites could relocate objects pointing to their sites and thereby build meaningful communities. Such communities made it easy and enjoyable for users to explore specific areas of content and information while at the same time opening themselves up to the delights of serendipitous discovery within an ever changing landscape of people and resources.

Wednesday, October 20, 2004

A Lost Edu-Cause?

Sometime last spring Mark McCahill and I submitted a proposal to debut Croquet at this October's EDUCAUSE conference in Denver Colorodo. We were turned down. That was a bit of a surprise since Mark and I were invited to present on Croquet as featured speakers in higher-education technology innovation at The EDUCAUSE Center for Applied Research's (ECAR) Summer Symposium for Higher Education IT Executives sponsored by Hewlett-Packard on July 7-9, 2004 in Sedona, AZ. There we discussed the future of the Internet, planetary-scale network applications, and the application of Croquet as a social computing platform and tool set for use in higher education. The presentation was very warmly received by an audience that included EDUCAUSE executives who afterwards expressed their interest in the project. One of them even encouraged us to be sure to submit a presentation proposal for EDUCAUSE's next annual meeting and said that "the membership would really be interested in seeing this". So, we are left to ponder why the EDUCAUSE presentation review panel felt that a multi-institutional initiative with the scope and scale of Croquet would be of limited value to the larger membership of this leading academic IT organization. Mark is quick to point out that he has submitted five papers at EDUCAUSE over the past years and has never been rejected. Ironically, this year's EDUCAUSE did accept another proposal from Mark for a show and tell about a Squeak application that makes it easy to compose and update web forms with database backends. Check out Mark's abstract:
"The University of Minnesota's Squeak FormBuilder application allows nontechnical users to create and modify database-driven multipage Web forms via a drag-and-drop user interface on a PC. The FormBuilder application automatically versions the form and updates the Web server, insulating the designer from the XML, XSLT, SQL, and HTML implementation details."
So, the bottom line is that Mark and I are in Denver this week to do a number of informal and "under-the-radar" Croquet presentations at EDUCAUSE.

Tuesday, October 19, 2004

Meta Rules in Cyberspace?

I just came across an interesting Croquet-related post on This is likely from someone I met in Washington D.C. earlier this year while giving an invited seminar at the Institute of Humane Studies, an organization that assists undergraduate and graduate students worldwide with an interest in individual liberty. It turns out that a former Accenture analyst, Max Borders, who was familiar with my earlier work at ViOS thought that the institute would find both my past and present work to be of interest. Now, if your anything like me, you might be wondering why a libertarian organization would be interested in hearing me talk about my work with ViOS and Croquet. Well, consider that the creation of "open" and globally scalable social computing spaces can cause some to ask the following: To what extent will we need to impose "rules" on peoples behaviors in such spaces? What types of "rules" are necessary? Who will come up with such "rules" and how will they be enforced? How can we find a balance between personal liberty and the need for regulating behaviors in "open" cyberspaces? All very interesting questions - and as it became clear to me during my seminar, they are especially so to libertarians. Here are some quotes from the posting:

"The future is here, and I've seen it. Today I met with Julian Lombardi, a director of technology of some sort at the University of Wisconsin-Madison. A few years ago Lombardi ran a start-up, ViOS, that aimed to create a new way of navigating, creating, and accessing content on the internet. This is a pretty lame description. In fact, ViOS, and his newer, and much more robust Croquet system are new ways of living on the internet. Think Neil Stephenson's Snow Crash.

At its basic level, Croquet - a pre-Alpha version of which I saw demoed today - creates a new way of navigating the internet by creating a virtual world that can be populated by all kinds of content - from webpages (with static, audio, and video content) to avatars that represent users to objects that operate according to scripts.

Croquet is massively extensible and scalable - meaning it could eventually support billions of users creating billions of worlds. The worlds are huge - I do not know in detail the theoretical limits of world sizes, but since users can instantaneously create new worlds, there seems to be no practical limit. (Incidentally, some of this stuff is really metaphysically interesting. So what does it mean to have a virtual world that is essentially infinitely big, but also infinitely small - meaning that one can get from one point to another instantaneously? I don't know, but it makes meatspace seem a whole hell of a lot less attractive. Oh, also, scarcity in this world is going to be reputational and not linked to spatially-oriented issues as it is in the real world.)

Croquet allows virtual-real-life social interaction with voice-over-IP and the full range of content interaction that currently exists. Croquet is fully stateful and deploys a language called Squeak that is GUI-driven and allows even fairly unsophisticated users to create objects - from virtual buildings to animals to representations of physical objects - and share those objects in Domain Name Server-like servers around the world so that other users can use and modify existing objects to create even more complex features of the world.

Ok, so that's all very cool. Imagine if documents on the web were arranged spatially so that you could "walk" or "teleport" to a coordinate on this world to access documents AND around those resources would be resources offered by other people or organizations that appealed to you because of your shared interests. Ok cool enough.

But there's something even more fundamentally different about this technology and that is the ability for users - simple users, not corporations or governments - to create virtual worlds and exist within those virtual worlds and invite others into those virtual worlds and have those virtual worlds be only subject to the limitations of the technology and the RULES created by that owner. In other words, a fully privatized virtual space for every single user wherein every single user could establish the rules for social interaction within his or her world.

Why is this important? At a basic level, this technology allows us to test out rules of just conduct to find out which sets of institutions, norms, and rules operate most effectively online AND, by extension, in the real world. I can imagine social science, for instance, being made much more rigorous by testing out certain propositions about human interaction on humans, or at least, representations of them.

But at a more concrete level it makes the world(s) far more efficient. Let's imagine we have 10,000 worlds each created by 10,000 users (there could be many more). I create my own world which features very strict rules against blaspheming god. These rules require Avatars when they enter my world to pray to Jesus and to watch a video extolling the virtues of Southern Baptism. I forbid swearing, do not allow sex-oriented behavior or talk, and forbid the posting of advertisements in my world that are pro-choice.

My world, it turns out, is very popular for Christian homeschoolers because, in addition to having those rules, I also have featured lots of resources (much of it authored by other people, but filtered by me) for that audience. Other Christians in the real world find out about my world and, through some identifier akin to a domain name, know how to find it among the 10,000 other worlds out there. It's very popular among that audience. But curiously, metrosexuals find it all off-putting (incidentally, I realize metrosexual is so 2003). Fortunately for them, there are other worlds tailored to their tastes, preferences of social interaction, and so forth. If you can imagine such a world - all graphically sophisticated and easily modifiable by a fairly novice user - you can begin to see the power of Croquet.

Incidentally, authentication will be built into the croquet system which is essential to preventing abuse (worms etc.) and encouraging the development of social norms so that, for instance, the Christian world owner that I described above can exclude people from his world who violate his sets of rules. Croquet is stateful, meaning that your "connection" to the world persists. (On the web, your connection to a website does not persist. You request a webpage, your browser gets that page, and that's the end of the interaction. If you click on a link, your browser gets that page, but that second interaction is distinct from the first. Web technology attempts to mimic statefulness through the use of things like cookies that retain information about interactions, but it's a poor kludge)."

"This is super cool technology. One of the questions that Julian Lombardi had today was essentially about the kind of meta rules that ought to govern the worlds and the commons. My argument to him was that the meta rules should only be limited by the technology and that he should not, under any circumstances, limit the number of domain names. ICANN is a creation of corporations and government designed to limit our freedom on the web by liming the allocation of domain names and it is supremely inefficient, political, and authoritarian. But the internet didn't have to be that way - it's an artificial result of a failure of the initial designers to anticipate the popularity of the web and to fiat in 10,000 top-level-domains.

So my advice to Julian was:

1. Make sure people can be fully authenticated - allowing the evolution of social norms.
2. Allow people to fully create, share code, even code that essentially is not anticipated by the Smalltalk on which Croquet is based.
3. Allow full, exclusive ownership of worlds."

"I really do believe that Julian and his colleagues have done something truly remarkable and that 10 years from now when we're living in these world(s) virtually, we'll have him to thank. As for me, I'm going to learn Squeak, the high-level language that allows one to create experiences and objects in this new virtual world so that I can be ahead of the curve when the crush for the next generation of "web-designers" comes.

It was thrilling to see the technology. One of the disheartening aspects was that I have very little to contribute intellctually to a project like this. It seems to me that sufficiently interesting things have been written about the evolution of norms - by Hayek and others - about transaction costs and the unimportance of the initial distribution of "property" in the world - by Coase and others - and about existence in a world like this might be like (by Neal Stephenson).

This is really pie-in-the-sky, but could SUFFICENTLY meaningful social interactions in the virtual world make the real world somehow less contentious? In other words, if people can act out aggressions - real aggressions - in the virtual world, will they do that less or more in the real world? I don't think there's going to be a problem of people getting sucked into this virtual world - there's somethign about physical existence that can't be duplicated - but I do think it could profoundly alter how we interact with each other face-to-face."

Sunday, October 17, 2004

Video Avatars

Another thing we're now working on is the integration of video into Croquet. Imagine doing away with the stilted and often silly avatars in the current build and replacing them with a video derived from the web cam of each participant of a Croquet space. By making this possible, we can move toward enabling peer-to-peer video conferencing within Croquet spaces - without the need for a server! So far, we have been successful in integrating two-way video (showing both your own live video and that of a peer as textures on two avatars in a Croquet space). Right now the performance could be improved a bit. We're getting refresh rates of about 3-4 refreshes per second for the textures applied to an avatar (while the frame rate of the space is largely unaffected). The refresh rates are much higher when video textures are applied to static objects. At this time, we're not quite sure where the bottleneck of the refresh rate might be. We could probably improve performance via a more complex sort of video than sequence of individual images (although a 1,000 Mbit network could theoretically carry about 1,300 aggregate frames/second at the largeish 160x120, 32 bit depth we are using). Assuming that the clients are arbitrarily fast, which they are not, there would be enough LAN bandwidth after various overhead for many to many broadcast of perhaps 100 10 frames/second videos at 96x96 pixels. That means that a conferencing approach might not need optimization in a LAN environment with fast switched connections to peers running fast and well-optimized Croquets. We're hoping that it will perform about as well as any other Croquet visual data set manipulation. Still, our preliminary work has been done in the pre-Jasmine build. Right now we are getting our stuff into Jasmine for some demos in early November. This means that method names and such may change and require some re-writing. I am also designing the TV set-like 3D objects in Max that will carry the video textures in a Croquet space.

Friday, October 15, 2004

Croquet and Signet

The Croquet team at the University of Wisconsin has just been invited to join the Internet2 MACE Signet Early Adopter program (see ). Signet is a tool for managing fine-grained authorization and role information. The Signet Working Group is led by Lynn McRae at Stanford University and seeks to explore a privilege management system from Internet2 MACE Signet. Their approach seems well suited to a P2P world, and there is software available in a month or two.

This invitation will bring Croquet and Signet development teams into a collaboration centered around privilege management in a VO (that's "Virtual Organization" in the sense of the term popularized by the Grid community) featuring a peer-to-peer interactive environment. Signet appears well suited to managing fine grained permissions on objects in a distributed environment. Involvement between Signet and Croquet Project efforts would highlight new areas of work for Signet because of its decentralized, peer-to-peer model and its unique provisioning challenge--how privilege information infrastructure can be extended to help manage users' access to objects and their services in Croquet space.

The first thing would be to explore mapping Signet privilege delegation trees and lattices to a Croquet-based peer-to-peer community. Imagine a collaborative educational effort that brought the subspaces of several participating developers at multiple institutions into a single Croquet world. I guess you can call this a virtual organization (VO). Signet would have to treat each developer in the VO as a root authority for permissions on objects they create, leading to an array of relatively small and short privilege trees when compared to a privilege management systems that covered financial, organizational and academic hierarchies across a single large research university. In addition, there is a limit to scale when permissions have to be granted to individuals one by one. As the VO grows, the authors of services and resources will eventually find it necessary to develop a shared VO-wide vocabulary of roles and rules in order to keep privilege granting manageable. The Signet team recognizes this as an area for future work. The Croquet project will now provide one driver for that effort.

Wednesday, October 13, 2004

Surviving the Slashdotting

Earlier in the year, David A. Smith and Andreas Raab put a download package containing an earlier version of the Croquet software (known as "Solar" Croquet) on a previous version of the Croquet Project website published on the Squeakland server. It quickly became necessary to shut the server down for two reasons: The first was that they were "slashdotted", that is, the web site mentioned us and our former low-capacity server. The site was immediately overrun. Since that earlier site was intended to be lightly used, the immediate widespread interest that we received became somewhat of a problem. The other reason is that the version that had been posted there was only intended for small scale distribution in order to get some comments from a few people. It was never intended that the earlier site and its download package would serve as a launch pad for the project.

In July of this year, I committed to a complete redesign and implementation the Croquet Project website and have been hosting it here at the University of Wisconsin since then. For most of that time it's been in the back of my mind that once the Jasmine developers' release was made available for download, a subsequent slash-dotting might bring our server to its knees. The obvious solution was to set up BitTorrent as an alternate download option for each file on the site. This would decentralize the traffic and make it possible for us to scale up to any level of demand for the files. For those of you who are unfamiliar with this great new technology, BitTorrent is a peer-to-peer protocol, that allows users to connect to each other directly to send and receive portions of a file. Imagine that, using BitTorrent to distribute a legitimate file...what next?

On the evening of October 11th (which was the promised date for the "Jasmine" developers' release), Mark McCahill and I were furiously building, testing, packing, and uploading the platform-specific images to the Wisconsin servers. With the assistance of Dave Schroeder here at Wisconsin, we were able to publish the .torrent files on the site and "seed" two fast Internet2-connected machines with copies of the download packages. All of this before the stroke of midnight. Later the next day, and in the midst of a slashdot effect of about one million hits on the server over the twenty-four hours following a Slashdot posting on the morning of the 12th, David P. Reed was able to perform a 'blindingly fast" download of a 60 megabyte download package to his box at MIT using BitTorrent. No problemo...

Monday, October 11, 2004

What is Croquet?

Croquet ( is an environment for multi-user peer-to-peer collaboration and communication realized through compelling 3D visualization and simulations.

Here at the University of Wisconsin - Madison, we seek to develop an open architecture for delivering an advanced toolset for simulation and online community-based teaching and learning opportunities. We are collaborating with researchers at the University of Minnesota and many other educational and corporate institutions to design, produce, and disseminate an open source implementation of the Croquet infrastructure, a reference implementation of a highly modular client application, and standards-based API specifications to define cross-institutional sharing of user and object data and to support secure communication. This architecture is being developed to integrate with existing CMS technologies by offering a scalable, persistent, and extensible interface to network-delivered educational resources and tools for knowledge management and social presence. Through Croquet, educators and instructional designers will be able to use the client reference implementation’s authentication and interaction APIs to create feature-rich, client applications. Educational researchers will benefit from the assessment capabilities afforded by the Croquet architecture’s broad extensibility.

Who is Julian Lombardi?

I'm one of six principal architects of the Croquet Project who, along with my colleagues Alan Kay, David A. Smith, David P. Reed, Andreas Raab, and Mark P. McCahill, am involved in overseeing the project's implementation. I'm a former biology professor, author, and award-winning software designer with an interest in developing software systems and GUIs that support the gathering, representation, processing, and dissemination of information that is distributed across many individuals. I bring my background in developmental and evolutionary biology and in the study of emergent properties in biological systems to the work I do in information technology. I have also long been fascinated by the transformative potential of new interface technologies. In the late 1980s, and while a professor at The University of North Carolina, I began developing instructional software for biological and medical education. In 1995, I combined my interests in information technology and biology to design and create social computing systems. Based on this work, I was awarded a patent on technologies and processes for visualizing and organizing location-based information and in 1999, I founded ViOS, Inc., a company that developed 3D software for knowledge management and social interaction. There, I served as ViOS's Chief Creative Officer and Chief Software Architect. Over an 18 month period, I oversaw the successful completion of the company's core technology and the company successfully launched its product with an industry award-winning interface. In 2000, I was the subject of a feature article in Success Magazine, was identified as one of the nation's "Thought Leaders" in information technology by Access Magazine Online and the ViOS product won Best of Show at the Upside Magazine's prestigious Launch! event. I provide IT consulting services for companies and institutions in the public and private sectors and also manage a software R&D group at the University of Wisconsin-Madison where I help define and lead university-wide initiatives that seek to transform teaching and learning through the use of technology. Croquet is one such initiative...

Hello world!

Everybody else seems to be blogging - so lets give this a try and see if it has any value...