Watershed du jour – 3D coming of age

While software and hardware have made great strides, some things still remain in the realm of specialized software. One way to look at this is, what can you still not do on the web? I can think of a few things: 3D, sound synthesis, video editing. I have hopes for all of these, but 3D in particular looks to be on the edge of a real breakthrough, and not necessarily from where I expected it.

For years I have been tracking X3D, the XML-based 3D specification that is the successor to VRML. I’ve been watching and working with the open-source FreeWRL tool, and it has been making good progress. However, the Age of Plugins appears to be on the decline. If it isn’t built-in to the browser (or ubiquitous, like Flash, and I have doubts about the long-term viability of Flash), there is little chance of getting viewers to install a plugin for your media format. That’s why I’m excited to see that Firefox is experimenting with a 3D context for the <canvas/> element, which will base its API on OpenGL ES, and significantly will support import of Collada models (presumably Collada Digital Asset Exchange, or .dae files).

But Firefox alone does not make a viable ecosystem. The other things I have come across recently that have convinced me that Collada models are going to springboard 3D into the hands of ordinary users are that Spore patch 5 (available now for PC, coming soon for Mac) supports exporting creatures (with textures and ready for animation) in Collada format, so you can work with them in the 3D tool of your choice, and that the next major release of Mac OS X, Snow Leopard, will support Collada as a built-in file type (scroll down to “Digital Asset Exchange support”). Collada has kept pretty quiet, at least in my world, but the support for it is pretty widespread, including open-source tools such as Blender and OGRE, plus all the usual suspects such as Maya and 3dsMax. Sadly, my editor of choice, Cheetah3D does not yet support it, but I understand they’re working on it.

I, for one, welcome our new 3D asset exchange overlords. Along with improved user creation tools like Spore, SecondLife, and SketchUp, 3D is almost ready for prime time.

Moped Syndrome

[This is an essay I wrote in 2002, found in an old journal]

What do you get when you cross a clock and a computer: a computer. An
airplane and computer: computer. A VCR and computer: computer. [This argument I believe was my summary of something Donald Norman said in The Design of Everyday Things.]

Of course, computer here is used as a code word for Something which is
perverse and complicated, which most computer *are*, but they don’t have to
be. It doesn’t imply that you can program your clock radio with Python, for

These are examples of moped compromises. I owned a moped once. It was too
heavy to pedal and too underpowered to go up hills. It combined all the
worst features of bicycles and motorcycles, with few of the advantages of

These bad compromises are everywhere. When I studied to be an EMT, we learned
some Greek and Latin, a little CPR, but mostly we learned how to cover our
asses in case we were sued. By becoming professionals we would no longer be
covered by Good Samaritan laws, and the nature of the job (trying like hell to
save somebody’s life, often when it’s too late) meant lots of times the
patients died or lost a limb or whatever. Whenever the outcome is less than
optimal, the American knee-jerk reaction is to sue. So we inadvertently
became lawyers.

What do you get when you cross a paramedic with a lawyer: A paralegal.

Now I’m in computing and it seems that just writing code, pretty simple and
harmless code, not viruses or anything like that, can get you thrown in jail
or sued in all kinds of remarkable and unpredictable ways. In fact, you can
break the law without even knowing it, because what you’ve created is already
a secret. Add that to the awesome array of software licenses and we’re
inadvertently becoming lawyers again (or outlaws).

What do you get when you cross a computer scientist with a lawyer: A lawyer.