Wednesday, January 25, 2006
The upcoming version 1.0 release of Croquet has been code named "Hedgehog". I know that many of you have been waiting for news of its release date. The committee has been working hard to make it publicly available early this year - part of the reason that things have appeared so very quiet on the blogs and user's forum. The silence is the sound of intense work. We (actually mostly Andreas and David) are debugging the code and Mark and I are working with the Wisconsin and Minnesota teams to prepare a download package for eventual publication on the Croquet Project website.
Hedgehog constitutes a major enhancement and, in some cases, reworking of the core system. Important changes have to do with the following concepts:
Islands and their replication
Routers/controllers with time-based replication
Incorporation of Tweak
Modifications to the graphics engine
Use of 3.8 Squeak
Many of these new features have already been discussed in papers presented at the OOPSLA 2005 conference. These topics will also be discussed by David Smith and Andreas Raab at the upcoming C5 conference to be held this week at Berkeley. The really good news is that all of these are functioning in the present snapshot. Now its a question of debugging.
I regret that we are unable to announce a precise release date at this time. Nor is the committee able to provide any support for the open source system once it is released (we all have day jobs). That is to be the role of the Croquet Consortium - presently being organized at the C5 meeting in Berkely. The idea behind the consortium is to move the project from a relatively closed group of people developing open source software to a broad based community effort to develop an open source system backed by a not-for-profit community-led organization. This will be a significant and much needed development for the project. That will be the topic of my next post....
Thursday, January 19, 2006
During my tenure at the University of Wisconsin we were engaged in technical collaborations with Mark McCahill's group at the University of Minnesota, researchers at Kyoto University, Ed Boyce at Boston University, Frank Wattenberg at the United States Military Academy, Maic Masuch and his students at the University of Magdeberg, and Rieko Kadobayashi Japanese National Institute for Information and Communications Technology. With my recent move to Duke, all of these collaborations continue and now also involve emerging efforts at Duke University.
A good bit of what continues to happen at UW-Madison is centered around the development of prototype applications built on Jasmine technology. There are now over thirty UW-Madison academic staff members with whom the UW-Madison Croquet team has been developing project plans with. They have produced a dozen proposals (intramural and extramural) for Croquet-based applications. Three of these have already been funded and development is presently under way. In 2005 alone, just under $250,000 in grants have been awarded for projects at UW that are centered around Croquet (that number does not include the significant ongoing financial support that the UW-Madison CIO's office provides for the project).
The technical work and the overall project management for UW-madison efforts been carried out by Howard Stearns (technical lead), Joshua Gargus, Jack Keel, Martin Scheutze (a graduate intern from the University of Magdeberg), and students from the programs of our collaborators within the School of Education.
Saturday, January 14, 2006
It's well worth it for those people interested in working with Croquet to spend a good week or so learning about Squeak. Squeak is a modern, open source, highly portable, fast and full-featured implementation of the powerful Smalltalk programming language and environment (the original object oriented language). You may be familiar with other open source languages like Ruby or Python, but Squeak takes these concepts much, much further offering a true uniform fully reflective environment - real live objects. Croquet's relationship to Squeak gives Croquet the property of a purely object-oriented system. This allows for significant flexibility in the design and the nature of the protocols and architectures that have been developed for Croquet. There are many books and tutorials to find out about finding senders (alt-n) and implementers (alt-m) of methods, saving images (click-on-desktop-to-get-world-menu-then-'save-as'), etc. The best of the books is Squeak: Object-Oriented Design with Multimedia Applications by Mark Guzdial, Prentice-Hall, 2000.
Tuesday, January 10, 2006
Monday, January 9, 2006
In an online posting, the Brazilian programmer Américo Damasceno reminded me that the best way to learn something is to try and teach it. Américo certainly took this assertion to heart and decided that the best way for him to learn Croquet technology was to prepare a series of three of step-by-step online tutorials on Croquet and Squeak programming. The first of these is an Introduction to Basic Croquet Programming. The second is called Basic 3D Programming in Croquet. The third is a Step-by-Step Tutorial on Squeak 3.6.
In addition to the undoubted benefit that Américo has received by putting them together, many folks have told me that they can be quite useful and informative to those who wish to get started with Croquet (production value not withstanding). I know that there are a lot of readers of this blog who are programmers interested in getting their feet wet with the system. My advice to you is to walk through these tutirials as a way to begin exploring programming approaches in Croquet (that is, until someone prepares official tutorials for the v1.0 release). For those of you who are not programmers, there is a solution currently being developed that allows users to develop meaningful and interactive content in Croquet worlds without the need to program the system. It is code-named Brie. More on that in a future posting...
Please keep in mind that Américo's tutorials are based on the Jasmine developer's preview of Croquet and much of what they contain may not apply to v1.0 (which includes some very fundamental differences from the Jasmine developer's preview). Nonetheless, I direct people there since some programmers will unoubtedly find the tutorials very useful. Thanks to Américo for providing the emerging community with this valuable resource!
Friday, January 6, 2006
In Jasmine, there are two ways to get a browser. One way is to use the Scamper browser that comes with Squeak. For the code that brings this up in the fish world, see senders of
#makeWebPage:extent (e.g., in TeapotMorph>>makeUnderwater3:
For those in need of more robust browser capabilities than those built into Scamper, you may want to try VNC. Here you bring up a window whose contents are a shared Virtual Network Computing viewer. VNC is an open-source technology analogous to X or PC-anywhere, that lets a remote machine see and control the desktop of another machine on the network. The proof-of-concept version in Jasmine lets a whole set of Croquet users share such a viewer. You then bring up whatever remote desktop application you like, including Internet Explorer, Mozilla, etc. There was some mail about VNC on the discussion list recently, but basically you can get it by clicking the upper-right button on the set of overlay buttons that comes up when click on the background within Jasmine Croquet.