Friday, October 29, 2004

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

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

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

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

I just came across an interesting Croquet-related post on http://amsoapundit.blogspot.com. 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." -amsoapundit

Sunday, October 17, 2004

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

The Croquet team at the University of Wisconsin has just been invited to join the Internet2 MACE Signet Early Adopter program (see http://middleware.internet2.edu/signet/ ). 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

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 http://slashdot.org 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

Croquet (http://croquetproject.org) 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.

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

What is Cobalt?

Cobalt is an open source virtual world browser and construction toolkit application being developed at Duke University. Cobalt makes it possible for people to easily create, publish, access, and participate in a network of linked virtual worlds. Currently in pre-alpha and built using the Croquet open source software development platform, Cobalt uses peer-based messaging to eliminate the need for virtual world servers and makes it very simple to create and share secure virtual worlds that run on all major operating systems.