Meshed drama

A few weeks ago I took this picture near my home (it’s the white modern house by the river, just slightly to the right). I used slightly higher settings than I usually have as default — my old iMac is nearing collapse (lots of vertical stripes appearing on its LCD screen) and I’m back to the framerates of 2005 or so — but naturally this made me think a bit on how SL would look like on a modern computer, i.e. one bought in this decade. Probably it will look unrecognisable — add shadows and a few filters, which aren’t active on my low-end computer, and it would be a completely different SL experience.

But it will be dramatically different once all content in Second Life is mesh-based. This will be the change of the decade; of course, content creators will have to keep up with the new requirements of working with meshes in SL, but most of them are professionals who are used to it. In fact, for them, it will be far easier to create content for SL; and as I argued in last October, even amateurs will have it far easier.

The recent announcements that meshes are “imminent” have, as always, gotten a mixed review. Content buyers — that is, 90% of the SL population — naturally welcome any new technology that will give them better content and faster frame rates. Sure, it won’t “fix” SL from one day to the other, but if at least you can get the benefits of 250-prim-hair without, in fact, having 250 prims and being banned by the ARC Nazis from attending a sim… then that technology is “good”. Or at least “better”. Among the content producers, however, it’s another story. I can count at least three different groups, and each has a different stance towards meshes.

Professional content creators

Now this word, “professional”, is a problem. Most of my detractors, when I employ it, are always questioning that “professionals” are not always the “best” content creators, and so they create elaborate arguments on how “professionals” are not so welcome in SL at all. I actually agree! But that’s because I use the word “professional” to label someone who makes a living out of their work. It doesn’t imply “quality”, although to run a successful business, it usually means that the quality of your products — or of your marketing — has to be above the average that can be produced by an unskilled labourer. Thus, while it’s true that most professionals will have some qualifications, skills, and even talent, it doesn’t automatically imply that they’re the “best” in their field of expertise. It just means that they are good enough to make a living out of their work, and that they are reasonably good at finding customers to regularly provide them with an income. That’s all that the word “professional” implies. It doesn’t mean that you can’t give your work away for free. It also doesn’t mean that professionals are more “serious” or somehow more “important” than others.

While certainly a lot of content creators became “professionals” thanks to Second Life, and left their day jobs because selling content in SL was more profitable — and way more fun! — than whatever they did, it doesn’t mean that these are the rule. They might be a significant exception to the rule, but you can just take a look at the hundreds of fashion websites (a very simple search, limited to fashion websites using WordPress, came up with not less than 250… so I’m sure there have to be thousands out there!) to take a look at the incredibly detailed quality of the content produced in 2011. These are not created by people who have just found Photoshop a cool application to run, searched for a few clothes templates, and started to make a living out of designing clothes in SL. That was true of 2005 or 2006, but not any longer. Instead, the top SL content creators in the fashion industry have a skill set that includes 3D content creations with a specialised tool, or, at the very least, have a strong artistic background in the Fine Arts and are able to pick whatever tool is more appropriate to their creations. Most have a good business sense or partner with someone who has that skill; most also follow a set of guidelines that allow them a chance to compete in the highly-demanding fashion world of SL. Of course there are no “secrets to immediate success”, but these people are at least aware of some key factors, and have some luck thrown in for good measure.

Being used to mesh-based 3D modelling tools, I’m sure they’ll all welcome the introduction of meshes in SL. It saves them an extra step: the one to export their content from their favourite tool(s) into sculpties for use inside SL — which then requires further tweaking to make them “look good”. Now they can jump straight into SL with their meshed content and limit the amount of necessary tweaking. Of course I’m not expecting billions of items by the time meshes are introduced on the main grid; not all content creators are actively testing the mesh-enabled Preview grid (but a lot certainly are!), and a few will be reluctant to abandon their exquisite work with sculpties, which they have honed to perfection, to quickly adopt a technology that is not available on the 1.X series of SL viewers. They will have to evaluate how their clients are finally adopting the 2.X series (or will that be 3.X when meshes come out…?) to make it worth their time. You can notice that only when the 1.X TPVs started to allow the extra tattoo layer that renders parts of the avatars invisible, thus dropping the requirement for using invisiprims, that content creators actively started dropping those from their shoes. Meshes, to become a successful market for professional content creators to be explored, will need to be quasi-universal; and that means that all TPVs have to upgrade to the 2.X rendering engine. Will that be ready by Fall 2011? It’s a good question; many TPV projects are actively engaged in providing compatibility with the 2.X rendering engine, but not all might be finished by then. So the question will be — how many SL residents can actually view meshes? If the answer, by Fall 2011, is, “over 90%”, we’ll all have a “Meshy Christmas” with lots of meshed content for sale from the major SL brands 🙂

Amateur content creators

Thanks to a pejorative meaning linked to the word “amateur”, this word is somehow connected with “low quality”, “poor support”, or even “lack of seriousness”. All those meanings are not the ones I use when employing the word “amateur”. An amateur, for me, is a non-professional — someone who loves SL and uses it, but doesn’t make a living out of it. It doesn’t mean that the person is not talented, not qualified, or not skilled; in fact, they might have all those characteristics, and produce content that surpasses whatever a “professional” can do. A lot of self-styled artists in SL, who don’t make a living from their art, but put it on exhibitions in SL, certainly have way more creativity, talent, and skills than many so-called professionals that work for a living in SL. And, of course, a lot of them could become professionals, but for some personal reason are not interested in it.

Amateurs are often at the core of creativity and do engaging, paradigm-shifting content. Professionals, because they have a business to run, are sometimes constrained in their creativity, because a brand-new model (or approach) can sometimes ruin their market, if it’s a flop; it pays more to invest in whatever everybody else is doing, and just improve it and market it better (or output content faster, thus increasing the amount of content is for sale). But it’s sometimes the amateurs, who are not constrained by the “requirement” of having successful sales, who come up with a radically new idea, create a few proof-of-concept, spread it around, and start a new trend. This is the kind of thing that happens more often than it’s credited for; we tend to associate “novelty” with a popular brand that first introduces something new, but very often the idea was just successfully inspired on innovation created by amateurs.

Amateurs are very likely going to be the first content creators using meshes, if they have the required skills to use external 3D tools to do so (but, as I wrote in October, even SketchUp might give moderately good results in some cases). They will very likely not worry much if 90% or 10% of the residents will be able to see their meshed objects or not; they will still be tweaking and playing around with it, and happily producing content to baffle us all. In fact, I can very well believe that the largest group of current beta-testers are mostly amateurs (because they will see their content creation as a hobby, and thus not feel that it’s a “waste of time” to play around with it). And as you can see from the many pictures and movies shown by them, their products are of excepcional quality — often surpassing whatever else has been made in SL. That’s not surprising. In spite of the pejorative use of the word “amateur”, most of them are actually incredibly talented, incredibly skilled artists. Many might make a living by creating compelling 3D content in the games or movie industry. They simply never tried to become professionals in Second Life, but that doesn’t make their work “less” important because of that.

A lot of amateurs become professionals. In fact, I’m prepared to guess that most professionals in SL started as amateurs with a lot of talent and highly specialised skills, and, seeing that there was a market for their products in SL, they started to develop it professionally — in the sense of focusing their efforts to make a living out of it.

While a few artists might claim that prim-based SL offers different challenges, and thus discard meshes as being “what every other 3D artist is doing outside SL” and claim that “SL’s uniqueness comes from being basically a prim-based world”, I’d be prepared to guess that these are merely exceptions. They will possibly create a new art form out of prims. A lot of artists still shun sculpties and prefer to exhibit prim torture as being unique to SL, and thus an art form worth pursuing — while sculpties are really simplified meshes and thus not so challenging. So there is certainly a number of members of this group that will oppose meshes with philosophical arguments discussing the essence of “SL aesthetics”: is a SL that doesn’t look like SL something new, or just another variant of all other virtual worlds, which are all mesh-based?

Some amateurs don’t make a “living” in the normal sense of the word, but they definitely earn some income out of SL — enough to pay rent. This is very likely a large group, and they will have a very similar attitude towards meshes as the professionals. In fact, they will only consider remaining in SL — instead of spending their online time elsewhere — if they can at least cover their tier costs. So even though they might not be earning enough to drop their day jobs like the professionals do, they might find their SL income interesting enough to keep investing in SL — in tier, ads, and most importantly, in time. People in this category, while still “amateurs” in the sense that their SL income is not their major source of income, are at least “SL professionals”, in the sense that their tier payments (as well all extra costs coming from running a shop in SL) will come from their sales of virtual goods, as opposed to a casual resident that just buys L$ from the LindeX. I can easily estimate that this group has “tens of thousands” of users.

The self-taught SL content developer

The real world has no third group, but because this third category is huge in SL, I need a new name for it. They’re not professionals because they don’t make a living from selling content in SL; but neither are they true amateurs, because they have not the skills (and often not even the talent…) that makes them competent amateurs.

Instead, they are something specific and unique to SL. They have joined SL and just figured out that in this world anyone can create their own content with the built-in tools on the SL Viewer. SL was their first experience in modeling 3D content; while the experience among people in this group varies wildly, many had never seen a “3D building tool” before SL, and were very far from imagining how fun it could be to create content in 3D. So they got used to SL’s building tools very well. With several years of experience in creating content with SL’s built-in tools, they started to acquire experience in doing so, and have become relatively proficient in what they do. A lot also have understood how the SL market works — e.g. how to promote their goods and services; how to make connections; how to distribute content, and so forth. The most amazing characteristic of this group is that a few have never seriously used a computer before they joined SL…

Now this group poses a problem, and it’s not very easy to explain what the essence of the problem is. I’ll drop to my own field of expertise to try to give a better idea, and I’ll then use an even simpler analogy, in the hope that this makes some sense to you.

I’ve learned to programme computers three decades ago. Learning programming is as hard as learning how to drive: it’s not insanely hard, but there are some concepts to grasp, but after a while, with enough training, it starts making some sense. In those three decades, I’ve never stopped programming one thing or the other; sometimes for long stretches. However, I’m by no means a professional: I don’t make a living developing software applications. While I’m familiar with the “art” of programming, and can pretty much pick up any new programming language after a few days of reading manuals and experimenting, that doesn’t “turn” me into a professional programmer. At best, I’d be an eager amateur. My speciality is to develop prototypes, proofs-of-concept, but I’m not fast enough in developing code to be even minimally qualified to work at a software development house; those developers have to know everything by heart, look at a problem, and solve it without even thinking twice, while I can take days just to fix a simple bug on a line of code.

There is, however, a difference between myself as an amateur and someone who learned to programme on their own: theoretical background. Now this is something very, very hard to explain why it is so important; it also borders on arrogance and snobbyness, so it’s even something I cannot be “proud” of knowing. But to summarise, like any other science, software engineering is based on a theoretical background that was academically studied, researched, proved to be reproducible, and peer-reviewed. This is what you get on a college degree in software engineering: the framework that tells you that problem X is solved best with method Y, because it has been proven to be the best way to deal with it. Now you can argue that there are no solutions for every programming problem ever devised, because simply nobody has foreseen what kind of applications would appear in the future. For instance, two decades ago, nobody would foresee, say, Google or Facebook; so what use is that “theoretical framework” if something completely new pops up? Well, here is where I have a bigger problem in explaining things. While certainly Google and Facebook are new things, with their own range of very specific problems, and certainly nobody back in the late 1980s ever imagined a World-Wide Web where applications like Google and Facebook would one day exist, the class of problems that Google and Facebook developers have to deal with is well-known and well-studied. Putting into other words: while the problems to overcome are very specific and brand new, the class of problems is well-researched. There are frameworks to deal with them. Let me get you a typical example: dynamically generated content, since it loads data from slow databases in disk, is slow to render. Static content, by contrast, does not need to be “rendered” but can be fed directly to the end user. While nobody could predict how Facebook would look like, the issue about how to deliver dynamic content to end-users was well-known in the 1980s: just pre-generate static content as disk files, and cache them. Cache algorithms exist for decades; and depending on the kind of users and the type of content to be delivered, some algorithms are more appropriate than others. Now this is oversimplifying the issue but should give you a good idea on what I’m trying to explain. Computer science builds frameworks to deal with classes of problems; software engineering applies the best framework to the specific problem. Programmers then apply their skills and talent in implementing those frameworks to the issue, and if they’re professional, they will do so very efficiently in the least required amount of time and with a minimum of bugs; amateurs like myself might recognise the problem, even know what to apply to solve it, but they will take a lot of time to get it right, and it will very likely not work the first time.

A zillion of programmers out there have absolutely no theoretical background. This is not “bad” in itself. They compensate with experience: by having tried a lot of solutions to several problems, they get a good understanding on how those issues are solved, and tend to develop similar techniques to apply to them. If they have a lot of experience (and good memory!), they might provide very reasonable solutions to certain problems, and their code might come very close to the one produced by a programmer with a theoretical background. In fact, a lot of programmers tend to claim that they’re “better” than others who might have a lot of theoretical background, but little experience in actually developing code. This is certainly true; I’m a very good example of that! I’m rusty now, but in my youth I could actually look at a specific problem, immediately recognise its class, and even quote the volume of Knuth’s masterpiece on algorithms where a solution could be found; but would implement it very poorly — while a programmer with lots of experience who never heard about Knuth might produce a very reasonable application that would fit the requirements, and do it very quickly in just a few lines of code. A lot of experience can compensate for a lack of theoretical background, even though the results might be suboptimal. One of my major criticisms of the infrastructure on top of which Second Life is implemented is because I believe that most of the original code was created without any solid theoretical background. On the other hand, there is no question that other areas are actually revolutionary approaches based on theories that had been long discussed but never implemented at a massive scale like they were on Second Life, and this astonishing feat gets little recognition (sim crossing with running scripts is one of those areas).

A typical issue with self-taught programmers is that they will only know one tool well, and use it exclusively to develop pretty much everything, even if it’s not the “best” tool for the job. This means usually being proficient with just one or two programming languages, and not having the “drive” to switch to a different programming language, because they don’t see the point of doing so. Having a lot of experience in a single programming language means that they’re very specialised in it, and thus are able to deal with lots of different classes of problems using that programming language (because they have seen so many examples with it), but switching programming languages is a nightmare! All references are lost; it’s like starting from scratch and slowly building up experience again. It’s like learning Chinese and expecting it to help you if you wish to pick up Swahili later. By contrast, the theoretical background behind all programming languages allows a programmer to understand what key points and weaknesses each language has, and pick the one that is more appropriate to the task; also, a programmer with solid theoretical background, when encountering a new programming language, will not panic. They will immediately understand the principles behind that new programming language, and while obviously they will not be proficient in it as with a programming language they’re already familiar with, their “adaptation time” will be quick. Algorithms are not tied to specific programming languages; they’re pretty much universal (I’m not being 100% accurate here, but let’s assume so for the sake of the argument). Learning to identify solutions to a problem is something that you can do without being bound to a specific programming language.

Here goes a simpler analogy. You might be able to drive a car but not have a clue on how it actually works (that’s my case!). A mechanic, on the other hand, might not have any idea on the theoretical background behind a combustion engine, but he will be able to fix your car when it breaks down. At the car factory, however, engineers with a solid background on combustion engines will be able to design an efficient way of propelling a vehicle, test it under lab conditions according to some peer-reviewed specifications, and develop a plan to assemble such an extraordinary design on a production line. But they might not be so good at looking at your broken-down car and explain what’s wrong with it, while the mechanic, with little or zero theoretical background, but just years or decades of experience in fixing cars, might just know what’s wrong with it by listening to the rumbling and gurgling noises of the motor.

Now let’s get back to SL and 3D modeling. Most professionals — I admit that not all — have a background in Fine Arts, 3D design, or even games design. That’s not even related to what tool they actually use to create fantastic sculpties. Instead, they study aesthetics first — a branch of philosophy. Then they might study the principles of design — how function defines form. And finally, if they have picked this career, it probably means that they have some innate talent to create works of art. Only after that has come together will they pick up a tool of their choice and produce content. Obviously, both skill and experience will matter a lot — someone who has taken a 3-year-course on aesthetics might be an expert in the theory, but that doesn’t “qualify” them to produce a excellent-looking pair of boots in SL. They will have to acquire the experience of putting aesthetical and design constraints into actual 3D models — and only then they will become proficient 3D modelers (in SL or outside it).

Just like in programming, however, people can compensate for the lack of a theoretical background by having a lot of experience in using a specific tool. If they have at least some talent and good taste, they might, after enough time spent using the SL building tools, create content that looks “as good as” anything produced by so-called “specialist designers” with a theoretical background.

But, alas, there is a catch. Like the self-taught programmer that panics when they have to switch programming languages, the same thing applies to the self-taught 3D modeler using the SL Building Tools. If those change, they’re at a loss. We saw this happening with sculpties; we’ll be seeing that with meshes as well. And when this self-taught content creator depends on the visual appeal of their content, either to drive sales (if they’re professionals or amateurs), or to exhibit their art (if that’s all they like to do in SL), then they face a serious problem: they might be obsolete overnight and have no chance to recover — specially because the designers with a solid background in 3D modeling will have absolutely no problem in using whatever new “tools” LL gives them.

There is certainly a gap here. As said, 3D modelers will have been working with meshes since the late 1980s at least. They will have a very good conceptual background in them, and will have used several different tools to create and tweak meshes. When they came to SL, before sculpties were available, they might have grumbled and complained about how “limited” SL’s interface was; but after a year or so, they adapted to it, and, while there were limitations, they were still able to produce compelling content in SL. Later on, they got sculpties, which are meshes for all purposes, with a lot of limitations. So they went back to their tools and started to learn how to adapt to these new sculpties. Since they had already a very strong grasp on how this was to be done, all that remained was to see how exactly sculpties would be deployed, what limitations they had, and how to take the best advantage of it. Some of the most advanced sculpties in SL have been created by teams of designers and programmers who have a very thorough knowledge on how the SL Viewer renderer outputs sculpties to the screen, and so they can take advantage of everything they know to produce the best possible sculpties. These are the people that are discovering, as we speak, how to do the same with the new meshes.

Very talented and established self-taught SL content developer have not the advantage of this background. All they know is about gluing prims and applying textures to them. Granted, that took them months or years to learn, and they have acquired expertise in that, producing fantastic results. Some even managed to understand how sculpties work, and have subsequently used a few tools allowing them to export sculpties to SL. But if SL is suddenly abandoning prims and sculpties, forcing them to learn a completely new tool — say, Maya or Blender — they panic. The learning curve is way too high for such a short time; and, while they learn the new tool, they will lose their customers. Meanwhile, the designers with a good background in developing mesh-based content will have a huge advantage — they will be able to offer their mesh-based content for sale or even for free on the first day meshes are introduced on the main grid.

This is what scares off the self-taught SL content developer, and that’s the group from where the most vocal anti-mesh detractors are coming from. I can understand them very well: it’s a paradigm shift that is too big for them to cope, and adapting to it takes way too long for them, and it somehow seems “unfair” that someone that has been for years in SL, patiently learning how to glue prims together, now gets completely obsoleted by completely unknown people who just happen to have been modeling 3D meshes all day long, and suddenly finds that they can import these meshes directly into SL. No, I’m not predicting a huge rush of new content developers, but just that the existing top brands, who already have lots of 3D modelers working with them, will have a huge advantage over everybody else who taught themselves how to use prims… the competition seems “unfair” because of that.

A second issue is obviously  related to validation, as Tateru Nino reports; but on that I’ll refer you to her article, which explains rather well what’s at stake: in order to “protect” intellectual property rights of mesh creators, LL will only allow validated avatars to upload meshes. This is worth an article on its own, so I’ll refrain from commenting on that 🙂

“Adapt or die” seems too hard on the self-taught SL content developer, specially because some of them have been actively contributing to the success of Second Life as a marketplace, since some have been among the first content developers that actually had some success in establishing themselves as businesses in SL. Somehow they expect “recognition” from LL, because they have helped SL so much in the past, well before the first professional content creators had joined and brought their marvelous content to SL. Well, I can only feel sorry for them, because it’s so hard to learn something new from scratch. Alas, while meshes are not “indispensable” for SL, they are nevertheless one of the most welcome additions to make sure that SL finally leaves the “2002” look behind, and jumps straight into the second decade of the second millenium. The “2002” look certainly jump-started the economy and the content marketplace, but it’s really tremendously dated. Even SL has to keep up with the times!

And so do all content developers — professionals, amateurs, or self-taught.