On Friday I held a talk at CMP’s Life 2.0 Summit in Second Life, entitled “Evolving Useful Objects –
An Evolutionary Approach to Maximizing Object Utility”. The talk went very well, and I want to thank John Jainschigg, Director of New Business at CMP for his invaluable help, and coordination, without which the event would not have been the success it was.
I was able and produce quickly the transcript of my talk, and all the various formats that come with it:
Slideshow on Slideshare.net and slidecast as well;
(This is the first time I used the recently introduced tools for synchronizing audio with the slides on Slideshare.net, and I found them very nicely designed, easy and convenient to use. I don’t think it would have been practical to do a lot of this type of work before, but now, since I do have the audio recording of many of my presentations together with the slides, I will put them all online with this method. I am also proud that Slideshare.net chose my presentation as a spotlight on its homepage.)
Podcast, for those who prefer audio only, or listening while driving;
Transcript on Scribd as a document in various text forms;
and I provide the transcript here as well:
Welcome to the talk about the evolution of useful objects in online worlds! My name is David Orban, and you can read about my activities in Second Life on www.davidorban.com.
- We are going to cover today a brief overview of diverse design spaces. From those of physical objects, to those of software algorithms, to those of social communities.
- We will see how the application of recursive analyses can help achieving our goals, maximizing our utility functions, when we join the three spaces together.
- We will also talk about a few examples of this approach.
The objective of the presentation today is that of showing how the measure of success in a community in online worlds is the level of interaction. Also, that the advantage we can obtain by measuring the interaction levels does not stop at the mere metrics of an area or community, but if we carefully choose the categories of the objects that we measure, and introduce variations in the populations of objects through the use of genetic algorithms, then the value of the objects to the community increases. This co-evolution of objects and communities is the heart of the value of online worlds.
While very ambitious, it is not clear yet how to optimally implement the possible changes to the form and function of the objects, eliminating a priori variations that certainly detract from their value.
Let’s see now the three separate components of our joined design space, before we put them all together…
The traditional system of industrial production, which has been in place for the last two hundred years, served us well, and fundamentally contributed to the wealth of our societies. Still, the system is sub-optimal, and at each step of the process that brings mass-produced objects to the markets there are unavoidable inefficiencies.
An inventor has an idea, and asks an angel for money to enable her to build a prototype, and if this works, after small focus group consultations, a VC for more money, to send the first order to China for a million pieces of the gizmo. The marketing campaign is started as the ships bring the products half way around the planet, and trucks around the country, to be put on shelves, in quantities, which per definition exceed the projected sales volumes, to assure that they stay visible.
Very, very inefficient, based on luck, from start to finish…
So this is hardware… and how is it with software?
Alongside the original approach of software production, perceived by many to be as much an art as an engineering effort, in the past several years a new method of solution development has emerged: genetic programming.
Computationally very intensive, while originally introduced already in the ’50s, it is only since the ’90s that genetic programming has become feasible, and started to produce either original solutions to the stated problems, or actually independently re-discovered patented inventions.
It is also possible to imagine evolutionary approaches to the design of genetic programming systems themselves, which lead to an interesting theoretical explosion of recursive improvement: but that is the subject of an other of my favorite talks… the Technological Singularity! 🙂
So let’s see instead the third component of our system, the social spaces…
For several years now the online world–including the traditional web–has achieved a great speed of change in proposing a series of more and more valuable functionalities for managing personal and professional relationships, and groups.
Instead of concentrating on a single solution, if we look at the set of possible competing social networks, we realize that they compete for our attention, and it is the varying degree of our attention that makes them successful, not only through the data we provide to them daily.
The same is true in online worlds, with the added value of built-in interaction and creativity.
We have been fascinated by the three dimensional nature of Second Life, and other online worlds, and the integrated development environments it offers (as much as we would like them to be more productive, and better integrated with other tools we use).
But, as we have seen from the reports of the press lamenting the desert-like nature of too many places in-world, the main value of the online world resides in the communities that form, which in turn are precious because of the interaction they offer, and the creativity they unleash.
What we also know, is that within Second Life every object created is connected to the internet, per definition. If it were not so, we would not even see it! This is the opposite of the physical world, where our desire of connecting every object is a long and difficult task, which will take several years, or decades to be realized.
So, let’s now put it all together!
We can take advantage of the natural desire of Second Life communities for interaction, and creativity, seeding them with objects, which communicate their usage levels to a database, similarly to web pages communicating their visitor data via weblogs.
Different groups receive variations on the objects, which then have to prove themselves, to survive to the next generation, by showing to be useful.
Variations can be relative to shape, size, color, movement of components, means of interaction. The source of variation can be, depending on the nature of the parameter, a table of preset values, or, in case we want to change the functionalities of the objects as well, sets of algorithms.
The definition of usefulness, our utility function, must also adapt to the nature of the object, to the realistic expectations of how, when, and how frequently a given object is used. This function is also not necessarily linear, since the specific community’s adoption of the object, or even its dependency on it can change.
Taking the best performing variations, and providing further changes in the successive cycle of seeding takes the entire process one step ahead, towards the goal of maximizing the utility function.
Let’s see a couple of examples, of objects being evolved on Vulcano!
One of the most popular activities in Second Life is communication itself (of several kinds), so taking this activity as the subject of our experiments is natural.
The button bar for meetings enables a participant as she listens to a speaker to show agreement, disagreement, not understanding, or asking to talk, via balloons over her head which are visible to all participants. The speaker’s adaptation to these visual clues, changes the audience’s reactions, and all of this is recorded, to make sure that better speakers have the chance to talk. At the end of the meeting a transcript, similar to the original soundtrack of chemical films, is available, only this time the symbols track the level of understanding among the participants, and let the group pinpoint problem areas in the collaboration.
The 3d mind maps are an analogue of traditional bidimentional mind mapping software, and let a group collaborate through complex concept visualizations, where nodes, links, colors, shapes, all represent meaning, and where the various participants enrich their understanding of the subject matter through the common work of shaping the 3d mind map.
In both cases the variations in the objects’s nature and behavior can be analyzed, having a positive or negative impact on their use. In the case of the button bar, the frequency of the use of the visual clues during a meeting can be chosen as a value we want to maximize. In the case of the 3d mind map, not only the size of the map, but at what level of collaboration it has been designed, how eagerly the people part of the group intervene to add parts to the map themselves.
These are naturally just two examples of the evolutionary approach, where much more further research is needed…
There are several areas where we need to go further:
We want to properly map, and classify object categories, to better understand what are the indicators that make them a suitable starting point for the evolutionary approach. If possible, encompass further and further categories, via changing our methods themselves.
Make sure that we do not bias our evolutionary trees because of the relatively small sample size we work with today, of a few dozen participants, but by virally propagating objects that are attractive in form and function to start with, we can learn from a larger statistical pool.
We need a better understanding of how to automatically link the changes in the form of the objects to functional algorithmic changes. Since we are today restricting ourselves to objects that are useable at human scales, and via well known methods of interaction, this limits the freedoms of expression in object shape of the eventually emerging algorithms.
The approach must remain scalable as more object classes participate, and we need to keep an eye open for eventual emergent properties, which repeatedly show up accross the classes.
So we have a lot on our hands, but there is also a farther our vision…
Could it be true that, once we set the threshold of our utility function high enough, and we carefully choose our object classes, that we could find communities that deem them to be so useful that they would not be able to be effective without?
Can a given evolved object be then turned into its physical equivalent?
The technology of 3d printers for personal fabrication is rapidly emerging, with dozens of firms working on solutions, quickly approaching consumer prices, and enabling the physical creation of ever more complex objects.
What would be the advantages of our evolutionary approach to the production of physical goods?
We would be able and actually eliminate many of the inefficiencies that I mentioned at the beginning, when I described the limits of the industrial mass production system. Ideas would start to be tested, on vastly larger groups than the focus groups of today, in numbers that are unaffordable now. Production would not start, unless an object has proven itself not only useful, but actually invaluable, and it would be produced at the people that would want, and need them, eliminating the costs of transportation in the meantime.
The perspectives of a similar system to emerge can be several years, but as the consumer classes of China and India emerge, and aim to achieve the levels of consumption and material wealth of the Western societies of today, the resources of the planet are not enough to sustain a wasteful process!
The communities that will form around the needs, and creative experimentation of groups formerly called consumers, are going to be enthusiastic, and energetic, similarly to today’s bloggers documenting the unpacking of the latest gadget,, but on a much more effective level. The co-design of products will blur further the distinction between producers and consumers, and the universal access to the creations will add considerable welth to our societies!