Thursday, March 29, 2007

Mark McCahill at Duke



I am quite pleased to announce that Mark McCahill is leaving the University of Minnesota for a position here at Duke University as our architect of e-learning and collaborative systems!

Mark has been developing and popularizing a number of Internet technologies since the late 1980s. He will bring to Duke the benefits of his deep background and rich experiences in collaborative systems development, large scale information system development and deployment, and 3D visualization.

After receiving a bachelor's degree in chemistry at the University of Minnesota, Mark took a job doing analytical chemistry and analyzing the results on the campus mainframe. In 1989, Mark led a team at the University of Minnesota that developed one of the the first popular Internet e-mail clients (POPmail) for the Macintosh (and later the PC).

In 1991, Mark led the original Internet Gopher development team and helped invent a simple way to navigate distributed information resources on the Internet. Internet Gopher's menu-based hypermedia paved the way for the popularization of the Web and was the de-facto standard for Internet information systems in the early-to-mid 1990s. In 1994-95 Mark's team developed GopherVR, a 3D user interface to Internet Gopherspace.

Working with other pioneers such as Tim Berners-Lee, Marc Andreessen, Alan Emtage and Peter J. Deutsch (creators of Archie) and Jon Postel, Mark was also involved in creating and codifing the standard for Uniform Resource Locators (URLs). Most recently Mark has served as one of the six principal architects of the Croquet project and was instrumental in founding the Croquet Consortium.

I look forward to working closely with Mark as we apply the lessons learned from first generation Internet information systems to next generation collaborative systems including enterprise-integrated applications based on Croquet.

Tuesday, March 27, 2007

Croquet SDK 1.0 Released!



Nonprofit ‘Croquet Consortium’ Releases Open-Source Software Tool Kit to Promote Collaborative 3-D Virtual Environments

DURHAM, N.C. – March 27, 2007 – A nonprofit consortium of academic and corporate partners today announced the release of a free software toolkit for developers to use in creating 3-D "virtual environments."

"We’re seeking to enable the creation of a rich series of interconnected 'Croquet worlds' where people can engage in productive collaborative interactions in support of learning and commerce – worlds that can be created, maintained and continually modified without the constraints of proprietary computer code," said Julian Lombardi, assistant vice president of Duke’s Office of Information Technology.

The Croquet Consortium’s new "3-D Virtual Environments Software Developer’s Kit" (Croquet SDK 1.0) will promote collaboration among far-flung research teams working on everything from cancer cells to hurricanes, as well as active learning among students and their instructors. These networked 3-D teams from research, education and industry will be able to work together across a variety of computer platforms and devices, from laptops to cell phones.

"This will change the way people think about software and computation, from today’s device-oriented perspective to a perspective of computation as a persistent, pervasive service," said Patrick Scaglia, vice president and chief technology officer of HP's Imaging and Printing Group.

Croquet 3-D virtual environments can support live discussion among worldwide collaborators who come together in "real time" within a 3-D virtual space. They may view, manipulate and revise documents, dynamic visualizations or large amounts of data from sources such as laboratories or supercomputing centers.

Added Greg Nuyens, chief executive officer of Qwaq Inc., "we have found Croquet to be a compelling platform technology for developing very large scale, richly featured and interlinked virtual environments. With the release of the Croquet SDK, we are excited about the new possibilities for using Croquet in our products and see benefits for developers everywhere."

For example, public health officials and epidemiologists across a country could use the Croquet environment to track the spread of an infectious disease by sharing a dynamically changing display of infection data. Similarly, architects and engineers could collaborate on a building design, or chemists and biologists could prototype different chemical compositions for a new drug.

The free kit provides developers with a flexible tool to create virtual spaces with built-in networked telephony and a "late-binding object-oriented" programming language that allows multiple users to jointly create, animate or modify 3-D objects and dynamic simulations. Developers can also import and share resources, such as 2-D web applications or multimedia content, from their own systems. Working together across multiple locations, they can change simulations while they are running and work together to create new applications – all in "real time."

The kit can be downloaded from the consortium’s website, http://croquetconsortium.org.

The newly formed Croquet Consortium is a 501(c)3 not-for-profit organization dedicated to developing and promoting the widespread adoption of open-source, Croquet technologies for research, education and industry. Its institutional supporters include Duke University, the University of Minnesota, HP, 3dSolve Inc. and Qwaq Inc. Croquet was initiated by Alan Kay – winner of the Kyoto Prize and the Turing and Draper awards – working in collaboration with David A. Smith, Andreas Raab, David P. Reed, Mark P. McCahill and Lombardi.


A Croquet Consortium



Today, HP, Duke University, The University of Minnesota, and Qwaq, Inc. jointly announced the formation of The Croquet Consortium, Inc., a 501(3)c non-profit foundation dedicated to promoting the continued development and widespread adoption of open source Croquet technologies for use in education, research, and industry. The launch of The Croquet Consortium coincides with the Consortium’s release the open source Croquet Software Developer’s Kit 1.0 -- as free software under the Croquet Open Source License.

The Croquet Consortium provides an organizational base for the Croquet community of developers and users. Open to institutional and individual members, the Consortium offers an avenue for academic, corporate, and individual members ensure the long-term viability of the community by federating their Croquet software development projects mobilizing distributed resources on their behalf.

With the launch of The Croquet Consortium, Inc., the development and adoption of scalable Croquet-based applications for use in education, research and industry enters a new, expanded, and highly-inclusive phase of multi-institutional collaboration. The Consortium 1) establishes a legal home for the Croquet community, 2) coordinates the management, definition and release of core interoperable Croquet architecture, 3) provides a clearinghouse for the collection and distribution of freely available Croquet open source software artifacts, 4) supplies a management structure for the solicitation and mobilization of distributed development resources, and 5) creates a focal point for outreach activities, including the Consortium Website, Annual Conference, training workshops, fellowships, and sponsored projects.

For more information about the Consortium, click here.

Wednesday, March 21, 2007

Changing Times



In a recent Point of View article in The Chronicle Review, Cathy N. Davidson expresses her opinion on the Middlebury College History Department's recent snubbing of Wikipedia and why academic institutions can no longer ignore the changes that are being brought about by social software technologies and the types of creative dynamics they enable. The issues discussed in Cathy's piece have relevance to social collaborative tools such as wikis and the types of co-constructed knowledge spaces that Croquet-based educational environments make possible.

Today's co-constructed 3D environments provide us with the potential to disseminate ideas as visual and dynamic objects in the way that text-based facts and ideas are constructed and disseminated via today's Wikipedia. This capability will have a profound effect on the academic world in that it has the potential to fundamentally change to how we communicate and learn. The changing legitimacy of Wikipedia is only the tip of the iceberg. The advent of social software and self-regulating large-scale group dynamics stands to challenge traditional models of instruction, authorship, copyright, and the value of static auteur-generated scholarly works.

Monday, March 19, 2007

Democratizing Content



Michael J. Freedman recently gave a talk on "Democratizing Content Distribution" at the Duke Computer Science Department Colloquium. The work that Michael is doing is relevant to several of my earlier postings - including the ones around metaverse scalability, metaverse economics, and the problems associated with centralized control of large scale information systems. Here is the somewhat academese abstract of his talk:

In order to reach their large audiences, today's Internet publishers primarily use content distribution networks (CDNs) to deliver content. Yet the architectures of the prevalent commercial systems are tightly bound to centralized control, static deployments, and trusted infrastructure, thus inherently limiting their scope to ensure cost recovery. This talk describes a number of techniques (and the resulting systems) that realize highly-scalable cooperative content distribution. I show how to build a fully self-organizing CDN that efficiently delivers content using unreliable nodes, describe how to transparently dispatch clients to nearby servers, and touch on how to securely leverage even untrusted resources. These ideas have been implemented, deployed, and tested in production systems currently serving several terabytes of data to more than a million people every day. The view of the Internet gained from deploying these systems answered long-standing questions about network configuration, while providing important insights that helped evolve our systems' designs.

Michael is presently a doctoral student at NYU, visiting Stanford since 2005. He received his M.Eng. and S.B. degrees from MIT. His research interests span distributed systems, security, networking, and cryptography, with a focus on both principled designs and real deployments.

Saturday, March 17, 2007

Productive Social Networks



Marshall Van Alstyne and co-authors Sinan Aral and Erik Brynjolfsson recently completed a five-year analysis of how IT makes people more productive. Their study was sponsored by The National Science Foundation, Cisco Systems Inc. and Intel Corp. and analyzed 1,300 projects and 125,000 e-mails to see how IT influences individual productivity. They were particularly keen to understand the factors predicting revenue generation and project completion. The study found that IT didn't necessarily make projects faster but that it did dramatically increase productivity by facilitating multitasking. They also concluded that IT-supported social networks predicted productivity better than experience did. This is encouraging news to those of us who seek to develop infrastructures that support collaboration and personal productivity. Click here and here for abstracts of the study.

Van Alstyne's overall research program at MIT includes studying the economics of free software and platform innovation in which he explores socially optimal licensing of information goods in order to promote 1) adoption of and 2) complementary investment in an information platform by 3rd parties. His work has received an NSF Career Award, two best paper awards, and has appeared in Science, Management Science, and the Harvard Business Review.

Thursday, March 15, 2007

Antimonopolist Threads



Below are links to reflections on the notion of media control by a single company. They are relevant to what we are trying to do with Croquet since we are seeking to develop the technology foundations to support a global interlinked metaverse (a medium) that people can freely contribute to and use. As a way of ensuring this, we have developed a soon-to-be-released and relatively exotic-but-powerful open source technology infrastructure. We are now also in the process of setting up a not-for-profit foundation that is free from the burden of turning a direct profit for any investors. The success of such an effort will be related to our ability to attract and empower a viable community of developers, users, and sponsors that will join in the mission of ensuring that the future common metaverse is in everyones hands.

http://thisvirtuallife.blogspot.com/2006/10/future-of-internet-is-not-secondlife.html

http://metaverse.acidzen.org/2007/more-on-the-race-for-the-capitol

http://www.techcrunch.com/2007/01/08/second-life-goes-open-source-should-it-be-non-profit-too/

Wednesday, March 14, 2007

Scoble on Croquet



Last May, the well known blogger, technology evangelist, and author Robert Scoble saw David Smith and I give an early public demo of Croquet at the 2006 Metaverse Roadmap (MVR) meeting that took place at SRI International in Menlo Park. Here is what Scoble had to say about what he saw.

Tuesday, March 13, 2007

Croquet Spaces for the Enterprise



The Palo Alto-based startup Qwaq Inc. has just released Qwaq Forums, the world’s first secure virtual workspace application. Based on Croquet, Qwaq Forums significantly enhances the productivity of distributed teams by bringing critical resources together in a virtual place, as if they were in an actual physical location, and providing them with the tools and collaboration capabilities they need to work more effectively together. With Qwaq Forums, users can work together to establish workflow steps, create or review information in software applications, and evaluate designs in 2D and 3D, all while discussing topics using built-in text and voice chat. Further enhancing employee productivity, Qwaq Forums virtual workspaces are always available so users can return to a forum at another time to access and view changes that have occurred since they last visited the virtual space.

Qwaq Forums is easy to set up, use and navigate. Users can “drag-and-drop” content into a workspace from desktop and laptop computers, corporate servers or other locations. Information can be created, edited or reviewed using Microsoft Office and other productivity tools; corporate applications such as SAP, Oracle, or Salesforce.com; design and 3D modeling tools; web browsers; or Enterprise 2.0 applications. Qwaq Forums provides GUI controls that enable users to access remote applications and 3D portals to other virtual environments.

Qwaq Forums is available immediately as a hosted service. A version of Qwaq Forums that can be deployed in the enterprise, behind the corporate firewall, will be available in the second quarter of 2007. This is only the beginning...

Monday, March 12, 2007

Metaverse Scalability



Back in the mid-1990s, while we were designing ViOS as a large-scale commercial server-dependent and massively-multiuser metaverse application, I was deeply concerned that its success as a widely-used platform would be its undoing. Thats because, unlike the web, multi-user immersive environments require relatively constant interactions between clients and servers - and those interactions don't scale well for large numbers of users.

Virtual environments such as multi-user flight simulators and first-person shooters rely on many independent server sessions that are limited to a relatively few users at any one time. Massively multi-user metaverses, on the other hand, require the client to be updated as fast as things happen within the environment. This means that large-scale metaverses need a lot of horsepower in the server layer since every move and every action of every avatar must be conveyed to every client. This puts a tremendous load on a few servers for even the most trivial of interactions. The approach simply doesn't scale to support the widespread global information systems that the Croquet architecture is being designed to make possible.

Our strategy back at ViOS, Inc. was to simply re-tune the system and put up more servers as the loads increased - hoping for the best. That approach would work well for Intranet applications that serviced relatively small numbers of clients. It even worked well for ViOS' initial user base of around 15,000 unique users. Problem was that once we had several thousand simultaneous Viosians tooling about in the landscape, they began to overload our interactivity servers, resulting in performance problems and service interruptions. Since there wasn't a lot of cash flow or investment capital during the 2001 post dot-com financial downdraft, we were unable to add servers at a rate that could meet the demand. If we had, it might have led to another few years of success for the ViOS metaverse platform - but sooner or later we would have been brought down by fundamental flaws in our approach as a bottlenecked client-server based architecture.

The Croquet technology has been developed with these lessons in mind. It is designed to scale in support of interconnected multiverses of millions of users without the need for any dedicated server infrastructure. Croquet's architecture makes it possible to develop metaverse applications in which, anyone can freely put up content in islands of any size, interlink those islands with any number of other islands, and control access to those islands.

By contrast Second Life makes money by controlling who can create islands and how those islands are linked to each other. It also has a very similar technical architecture to that of ViOS - a vintage twentieth century client-server architecture with with single points of failure, inertia, and control. It's been interesting to watch Linden Lab's struggle with the inevitable technical problems faced by Second Life as a result of its recent popularity, constrained architecture, and non-scaling technical approach. For details on some of those struggles click here, here, and here.

Thursday, March 8, 2007

Arts Metaverse



Arts Metaverse is an educational 3D immersive environment based on Croquet that provides an opportunity for scholars, teachers, students, and interested individuals to create their own virtual space where they can interact and collaborate with others. Initiated by the University of British Columbia's Arts Instructional Suppport & Information Technology unit, the Arts Metaverse project seeks to provide a rich network of interlinked multiuser Croquet spaces in support of collaboration in the arts. It's really great to see such significant uptake of Croquet even though the SDK is still in Beta! Many thanks go to its creators Tim Wang and Ulrich Rauch.

Recently, Tim posted an entry on his eLearning blog that addresses the reasons for the project's choice of Croquet over the increasingly popular commercial metaverse platform of Second Life. Here is what he has to say:

"I first learned about Open Croquet in early 2006, through a conversation with Scott Leslie. I was coordinating the technical development team on the Ancient Spaces project at the moment. After a few hours of fiddling, I got the beta Croquet installed and working on a Windows machine. However, it took me months to understand and appreciate the power behind this genius system. It then quickly obtained my attention from further developing the Buchanan Island in the Second Life system. Many people have asked me why? Without going into the details of the differences between Open Croquet and Second Life, I can give you two main reasons of this shift: Open Source and high quality 3D modeling. Second Life island cost a lot of money and all objects in the world of second life must be created using the basic primitives. Open Croquet allows me to freely import high quality 3D models from any professional 3D authoring programs like Blender, 3D Max or Maya 3D. Besides these two differences, there are also some other key advantages with Croquet:
  • A powerful P2P net work support. When I run Croquet in my office, it automatically detects other computers around me that are running Croquet.
  • The portal technology allows application sharing between different operating systems. Say I can play a PC game with my Mac friends.
  • Video conferencing and other communication tools without using server technology.
  • Allows users freely define the space being created, this will provide the “land owners” (the academics) complete customizable controls of the environment. (e.g. not just define the gravitational force in the land)
  • Easy to back up the contents published using Croquet, easy to take them on line and off line, this avoid many copy-right issues.
  • From some aspects, a structured p2p Croquet net work is much more secure than a server based large scale metaverse."
Click here for the Arts Metaverse project website.

The above screenshot shows a model of Machu Picchu within the Croquet-based Arts Metaverse.

Tuesday, March 6, 2007

Why not Java?


Why wasn't Croquet done in Java or another programming language that more of today's developers are familiar with? This is a question that often gets asked as people start to assess what it might take to begin training programmers to build metaverse applications using the Croquet SDK. In my experience, the ramp-up time for programmers already familiar with object-oriented languages is about 2-3 weeks - with the biggest challenge being that of gaining familiarity with all the new and unique classes.

Basically, the reason for using Squeak instead of Java as the basis for Croquet is because Croquet required a number of capabilities that could only be provided by a true late bound, message sending language. Croquet's relationship to Squeak gives Croquet the property of a purely object-oriented system which allows for significant flexibility in the design and the nature of the protocols and architectures that have been developed for the system.

Squeak's ability to keep the system running while testing, and especially while making changes, is an essential part of the Croquet collaborative development capability - a capability in which programmers can modify the code running the environment while the environment is running. Another key feature of Squeak is its generalized storage allocator and garbage collector that is efficient in real-time. This allows for; 1) animations and dynamic media of many kinds to be played while the garbage collector is collecting, and 2) reshaping of objects to be done safely.

Here's a quote from Alan Kay taken from a 2005 ACM Queue interview in which Alan addresses the choice of languages:

"Now just to mention a couple of things about Java: it really doesn’t have a full meta-system. It has always had the problem—for a variety of reasons—of having two regimes, not one regime. It has things that aren’t objects, and it has things that it calls objects. It has real difficulty in being dynamic. It has a garbage collector. So what? Those have been around for a long time. But it’s not that great at adding to itself.

For many years, the development kits for Java were done in C++. That is a telling thing.

We looked at Java very closely in 1995 when we were starting on a major set of implementations, just because it’s a lot of work to do a viable language kernel. The thing we liked least about Java was the way it was implemented. It had this old idea, which has never worked, of having a set of paper specs, having to implement the VM (virtual machine) to the paper specs, and then having benchmarks that try to validate what you’ve just implemented—and that has never resulted in a completely compatible system.

The technique that we had for Smalltalk was to write the VM in itself, so there’s a Smalltalk simulator of the VM that was essentially the only specification of the VM. You could debug and you could answer any question about what the VM would do by submitting stuff to it, and you made every change that you were going to make to the VM by changing the simulator. After you had gotten everything debugged the way you wanted, you pushed the button and it would generate, without human hands touching it, a mathematically correct version of C that would go on whatever platform you were trying to get onto.

The result is that this system today, called Squeak, runs identically on more than two dozen platforms. Java does not do that. If you think about what the Internet means, it means you have to run identically on everything that is hooked to the Internet. So Java, to me, has always violated one of the prime things about software engineering in the world of the Internet.

Once we realized that Java was likely not to be compatible from platform to platform, we basically said we’ll generate our own system that is absolutely compatible from platform to platform, and that’s what we did."

Sunday, March 4, 2007

Metaverse Interoperability



For some time now, Laurence Rozier has been developing a message format that, among other things, can allow for interoperability between metaverse environments. Called Remote Actions Packets (RAP), it basically makes it possible for someone to do something in, say, Second Life and have that same action replicated in Croquet - and vice versa. RAP messages consist of an actor identifier, an action name, and an encoded list of stage directions.

In this simple video, you will see a Croquet window (on the right) side by side with a Second Life window (on the left). Each shows a live running world containing a simple cube. When the cube in Second Life is clicked, a script runs that causes the cube to move. Almost immediately, you will see this action replicated in the Croquet world. Next, a Croquet menu select initiates a move of the cube in the Croquet window. After a short delay, the simple cube movement is mirrored in Second Life.

The implications of Laurence's work are that Croquet worlds can now be made to mirror aspects of Second Life worlds - and vice versa. This also means that there's now a way by which actions taken within metaverses such as Croquet can be logged to text files. That particular capability would be of great importance to educators, researchers, and marketers who are interested in understanding what kinds of things have taken place in Croquet environments.

Saturday, March 3, 2007

A Curved Space Explorer



The Collaborative Curved Space Explorer (CCSE) - is an effort by Nikolay Suslov to develop a full-featured multi-user Toolbox for exploring the structure of curved spaces in 3D. It is built using the Croquet 1.0 SDK. The goal of this effort is to build specialized Virtual Learning Environments (VLEs) using Croquet (and OpenGL). Features of CCSE include: 1) The ability to exploring the structure of the curved space by deep interaction with it; 2) The ability to do real-time rendering in curved spaces (using the Jeff Weeks algorithm); 3) The ability to bring personal objects into the environment and ability to visually transform them in different curved spaces; 4) The ability to explore operation schemes on objects allowed by a selected curved space by multi-user interactions in shared spaces; 5) The ability to do 3D content creation in a selected curved space; and 6) The implementation of a curved space database.

This work is also intended to support the goals of the open source Croquet Project itself by implementing an expanded view on the Croquet's 'spaces' architecture and purposes, as per the CCSE vision (where every operation in space or every object presentation is determined by the structure of selected curved space and it's properties [i.e.; in flat, hyperbolic or spherical spaces etc.]). Similar fundamental manipulations of objects and representational spaces cannot be readily done using the existing toolkits for other metaverse envrionments.

For additional information via the CCSE home click here.

Thursday, March 1, 2007

Sophie


Sophie is new open source Squeak Smalltalk-based software application for creating digital multimedia books that are easy to build. A product of the Institute for the Future of the Book, It is in essence a multimedia authoring system. Sophie-generated books can resemble regular books containing text and pictures, or they may also contain video, audio clips, images in a slide show, other books, links out to the web, and allow for reader interaction.

Sound a lot like what the web was supposed to be? You bet. The difference is that Sophie has been developed as a tool to enable non-technical people to assemble digital documents without needing to learn complex computer languages or to rely on programmers. Still, Sophie uses a human-readable distributed XML format to ensure that a user's content remain accessible for decades to come. Should a particular title need features beyond those provided by Sophie (such as performance or databasing) there is little in the way of preventing those systems from being plugged in on a per book or per distribution basis.

The intent of Sophie is to facilitate the shift from page to screen as a means of scholarly communication. Many academics find it difficult to move to the digital medium because of the technical barriers to doing so in a sophisticated manner. That has a lot to do with why the Research in Information Technology Program of the the Andrew W. Mellon Foundation and the University of Southern California School of Cinematic Arts chose to fund this project.

Sophie is device and OS independent - and best of all, because of its implementation in Squeak, it is fundamentally compatible as a powerful tool within Croquet-based immersive environments. In fact, we are currently exploring what it might take to combine these powerful technologies into a single application and in so doing, bring to bear the power of distributed multimedia authoring directly into late-binding and device-independent collaborative immersive environments - kind of like a powerful open source groupware solution with 3D capabilities. To bring these technologies together would be of great value to education and beyond - and would represent an excellent choice for our developing communities. :)

Sophie is available here, and a video demo is here (the demo starts at: 23:32).