Thursday, April 14, 2005

Meeting with Croqueteer

Orion & I had a great meeting with David A Smith this afternoon. Croquet always seems so much more real when David is in the room.

Big Stuff Coming
  1. David Reed has extracted TeaTime from Croquet core. He will continue to work on TeaTime and David Smith will be responsible for integrating it in to Croquet as a discrete module. Supposedly TeaTime is working inside it's test environment. I cannot wait for this! It is so painful learning about meta & all its subtleties knowing that it is soon to be replaced.
  2. New Interface approach. DAS is moving all the nutty pointer & event code out of the camera & render loop and putting it into special interface portals, called Filters. This could make the UI work much simpler. He gave us his prototype to poke around in. Very exciting. Especially nice is the idea that the filters can be in the world, or attached to your screen. There is something really sexy about UI's & custom views that you can tear off and drop into the world. And David demo'd ghosts, objects that appear to be in the world but really belong to the filter & can only be seen through it. Could be great for annotations.
  3. Tweak - don't know that much more about tweek than before David came, but it is definitely going to replace Morphic as Croquet's 2D UI & scripting language. We are not so interested in scripting, but we desperately need a 2D UI toolkit that can impersonate windows. Our target users don't want a double click to be exactly what they expect it to be, or they are prepared to walk away. Unfortunately Tweak is not stable yet & David cannot recommend us jumping on it yet. Much pain here. He recommend talking to Andreas about Tweak in general (good luck to us) and Julian & Marc b/c they also have users who need to not be surprised. David thinks a Window's mimicking toolkit is fine, as long as he doesn't have to use it (which is to say, Croquet must be flexable enough to work with other toolkits). This is going to continue to cause us trouble, I think. A clean UI toolkit is an entire project in itself. I wonder if this is something we could through a couple of undergraduates at?
  4. Farther out & very interesting is moving Croquet to a JIT backend. Squeak becomes just one of the platforms that Croquet speaks, including C & Python and maybe more. Huge potential speed increases, which we would love, especially loading big/complex 3D objects.
  5. Nearer term - Croquet will move to Squeak 3.8 (or just possibly 3.7). So it looks like David is going to wrap #1, #2 & #5 up into a new release - Croquet 0.2? Ah but when, that is the question!
Smaller stuff
  1. Probably the best thing we found out in the conversation is that DAS is using feedback from us to help guide Croquet's evolution. Sometimes we feel like we are shouting into the void here. It is very good for morale to know that the void is listening.
  2. Avatar switching - it has worked at some point. FOLLOW UP
  3. WorldBase & file streaming - he has no idea where this is, but thinks we could probably weld on the file streaming without too much trouble if we need it sooner that the whole WorldBase package.
  4. High Res Object - we are having trouble with 10K vertex objects. DAS said to up the depth of the bounding spheres & check out the buffer limit in openGL.
  5. Level of Detail on high-res meshes - DAS has great C++ code to do this, based on paper by Hughes & Hoppe - and would be just tickled if we wanted to take it on.
  6. Lot's o' Text - ditto for dynamic texture management. Maybe once the JIT is in place, he will just be able to use all his old C code?
Lots of info for a short meeting. The really fun thing with DAS - Orion & I are constantly saying to each other "why in the world does it do that?" and then just shrugging. David knows.

Also, David will not be at the May 18th Croquet Consortium, but thinks we should be, if only to get to know the other players.