Sounds Good

One of the general internal themes of Croquet is that everything ought to just work, and work well. Most practicing software developers aren’t fortunate enough to be able to create artifacts like this because the software is aimed at addressing a very specific problem. That tends to lead to tools of limited scope and interaction.

Consider sound. If you only want to make voice chat work, you can use a low fidelity encoding on a lossy transport. It will do what it does well, but only that. Now suppose you and someone else are watching a movie and discussing it, using separate programs for the movie and VoIP. Either program might work well, but use them together and everything is likely to go to hell.

Continue reading

Small But Potentially Significant Spectrum Ruling

Unnoticed by most folks, the FCC’s Enforcement Bureau issued a public notice on the legality of cell phone jammers. (They aren’t.) Oddly, this may have very significant impacts for users of unlicensed spectrum.

Continue reading

components status

I had hoped to have a usable version of the components framework by now. Instead, I have a reasonably self-consistent set of scaffolding that illustrates a lot of the concepts. It isn’t at a critical mass of functionality, and it has a lot of bugs and mis-steps. I was sure that copy semantics, multiple views, and event handling were going to be hard, as would getting enough corners tacked down so that I could start to cut the cloth. But they turned out to be much harder than I imagined. Nonetheless, I’ve now got a stake in the ground as the starting point. Maybe now there’s enough ‘it’ there that I can next report, “made ‘it’ do such-and-such”, or “added X to ‘it’.”

Below the fold is a diary/log of how I got to this point. (I originally called this a “bootstrapping” architecture, because components allow people to build their Croquet models from within Croquet itself.)

Continue reading