Wednesday, September 15, 2010

Pro-NIH?

One of the pitfalls an organization can fall into is NIH, "Not Invented Here": the unwillingness to use products developed elsewhere. The result: wasted time and effort taken away from one's real goals, and reinventing the wheel badly.

Case in point: LSL. Was it really necessary to invent yet another scripting language and implement it in-house, ignoring all the other work done on development environments, efficient compilation and optimization for languages that already existed? (Not to mention instructional material... "python tutorial" turns up over two million results from Google, and "java tutorial" over twelve million; "lsl tutorial" about 57,000.)

Now that meshes are coming to Second Life, among the various complaints that have arisen is that there's no in-world way to create meshes. Maya, Blender, Wings3D, and so forth? Darn it, they weren't invented here! Never mind that vastly more effort has been put into them than Linden Lab could muster, or even could have mustered before laying off so many people.

Yes, in world development tools are good to have. Nobody seems to gripe about people creating textures outside of SL, but it would be nice if one didn't have to, or better still,. could do what one really wants to, i.e. paint in-world directly on the shoe, shirt, wall, or whatever. But is the immersion really worth having a so-so emulation of real life techniques? (I don't know about you, but I'm so-so at just painting a wall in real life, much less painting in the artistic sense. I doubt I'd be any better at it in SL.)

Now, perhaps there is a way to avoid NIH and still give the appearance of creating meshes in world--map the in-world actions to commands fed to an existing 3D program running on the resident's computer, and keep uploading the result so the resident can see what he or she is doing--but is it really worth it?

If the choice is between having the advantages that meshes provide and either not having them (another argument is that they shouldn't be allowed for fear of driving prim wranglers out of business) or having a mediocre in-world way to create so-so meshes, I know which I'll choose, thanks. (Not to mention that one of the groups you'd think would take to SL like ugly on an ape, architects, are VERY familiar with 3D creation tools and, according to some, are quite put off by the primitive building tools in SL.)

"I am endeavoring, Madam, to construct a mnemonic circuit with stone knives and bear skins." --Spock, "City on the Edge of Forever"

P.S. Prims are only simpler than meshes if you are only interested in simple shapes, like the proverbial child's lollipop "tree". Yes, in theory you can come arbitrarily close to any shape with only boxes, or only spheres... if you're willing to devote an unbounded number of them (and an unbounded amount of effort in positioning them) to the purpose. Sculpted prims are/were a compromise between meshes and the limitations of the original prims, but they have their drawbacks... just ask anyone who works with them.

P.P.S. Re LSL: remember the speedup by over 200 times reported for scripts compiled for the Mono VM? That wasn't around at the very beginning of SL, but many other virtual machines were that could have similar speed advantages over the home-grown VM.

No comments: