BWC

View Original

Croquet has gone beta...

Here's some great news: Croquet has gone beta, with a developer package available for download.  Croquet is pretty much the single coolest bit of technology I know of. Cooler than Google Earth OpenGL 3D screenshots, cool than even our Shopbot. It's so neat it makes me want to drop everything, go back to college, get a Computer Science degree and jump right in. It's so cool it makes me sad that so much of it is over my head, and that I can't do something useful with it, for I'd love to pitch in and help out.

I'll try to explain what it is, and why it's cool, and keep it short. On the surface, Croquet looks like it's just some kind of interactive 3D world built using an obscure language.

But it's oh so much more. See, it's more or less what happens when a small group of really bright geeks try to answer the question: "What if we made an Operating System for today and tomorrow, knowing what we know now, and using what we have now?".

The common OS'es and programming languages we all use today have 20-year-old roots (or more). There's a fair amount of stuff that's done simply because it's the way things are done, or because of old compromises, or old limitations, or old ways of doing things, or because things like the Internet weren't even considered when the foundations were laid. When you start over, clean slate, one version of what you get is Croquet.

So, for example, everything and anything can be accessed by multiple people at the same time. I can be drawing within a drawing program, and you can network on over and start drawing in the same drawing using the same program (even tho said program isn't on your machine) while we chat with each other via voice streaming and see each other's changes instantly (and can edit each other's lines).

And then let's say there is something about that drawing program we don't like, and would like to change. A quick click, and we've opened up the actual, running code of that program, which we can change live, while it's running, and have that change reflected immediately. And seeing that everything is an object, in the computer-way of being an object, that change echoes everywhere instantly, so we both get it, and if we break something everything else keeps running right along and the thing that's broken starts talking to us, helping us to fix it. Kinda like doing brain surgery on a live person.

And then, also, all of this is written in itself, meaning that all of the code and objects and voodoo is written in the same programming language that it runs, and it's all running on a tiny, super efficient kernel of a virtual machine, so it runs bit-identical on all systems everywhere at the same time and never needs compiling (it's late-binding, compiling-as-needed) or gets trapped in .DLL hell or dependency hell or library hell. And we can change anything about it, anywhere, at almost any level, using the same tools and language throughout.

And then, also, the whole language and system is designed to be as accessible as possible, as flexible as possible, and is simple enough to be used to teach kids how to program. One of the fundamental ideas is to allow everyone to manipulate and program the system the way they need it to work, on the fly. Any part of any program I write can also be used by any other part of any other program I also write, so that I can pull in anything I find useful, and share anything good I come up with.

Now image all of this sort of thing in 3D, and you've got Croquet.

One of my favorite quotes from their lit:
"Existing operating systems are like the castles that were owned by their respective Lords in the Middle Ages. They were the centers of power, a way to control the population and threaten the competition. Sometimes, a particular Lord would become overpowering, and he would declare himself as King. This was great for the King. And not too bad for the rest of the nobles, but in the end -- technology progressed and people started blowing holes in the sides of the castles. The castles were eventually abandoned" - David A. Smith

(all images from The Croquet Project's website, and obviously are theirs. Go there and learn more about them!)