Object Oriented Thinking

In these early stages of virtual worlds, everything is new and changing. To be creative in this environment requires a special type of thinking that is normally not used in the conventional, mainly predictable real world.

As you will no doubt appreciate, the process of thinking is no simple matter; thinking about thinking is especially complicated. Normally we do not have to think about the way we think; the brain seems quite capable of working out its own strategy. However, for many purposes in life it is quite beneficial to work out before hand the best way to think about a situation or solve a problem.

To over simplify, we can consider the brain to choose between two possible strategies when a problem presents itself - an object oriented strategy or a structured strategy. Which strategy the brain chooses is not necessarily a conscious decision process as the brain seems to be able to make the appropriate choice between the two automatically (in fact it is highly likely that the brain is capable of using both strategies simultaneously).

In essence, the brain chooses to use an object oriented thinking strategy when it is dealing with uncertainties or being creative and a structured strategy when it is dealing with known facts or organising a situation which has no important unknown variables.

The difference between structured thinking and object oriented thinking can be examined by considering how one might design and plan a project.

With structured thinking you would start by forming a skeleton framework of an overall plan and, from that plan, work downwards to sort out all the structural elements at an ever increasing level of detail.

With object oriented thinking, you need have no fixed or definite plan of the final structure, but, might start anywhere, building up a structure from small self contained subsections which are fitted together as you go along.

This difference between structured thinking and object oriented thinking can be illustrated by considering the two writing strategies of a historian and a creative novelist.

A historian would probably have full knowledge of all the subject matter which will form the basis of the total content of the writing. The historian might sub divide this available material into categories such as date periods, economics, politics, war, social conditions, etc.

Probably, the historian will use some form of outliner to divide and sub divide all the available information into suitable hierarchically structured sections; into these the historian can enter further relevant facts and observations. This would be a sensible and efficient method to proceed when writing an account of the history of a particular period, with the structure and organization being predetermined from the outset.

A creative novelist on the other hand would be unlikely to work out the full details and structure of a novel before starting to write the story; the novelist may have only the vaguest of ideas as to what the content or even the outline is going to be when the writing commences.

It is more likely that the novelist will begin by creating a character and then imagining that character in a situation. As the novelist visualizes how the character might react in the situation, the character will be developed and fleshed out. New characters will be introduced into the situation, who will react with the first character in the novelist's imagination to trigger and initiate new directions and events.

As the story proceeds, new situations, characters and developments will be introduced and the resulting interactions within the novelist's mind will be written down to produce the content of the novel (many novelists have talked about this phenomenon of characters in their novels seeming to develop a life of their own and for the novel to take its own directions).

You will readily see that the historian is limited to the structure and organization decided upon at the start of the project. The novelist, by contrast, can develop the content in any conceivable direction and build in all kinds and levels of complexity.

Object-oriented thinking is not technically difficult to understand, it is just a matter of getting the conceptual framework to click into place. Creativity can be conceptualized as an object oriented process because you start off with a few small constructs and progressively add to them as inspiration and opportunity allow.

With structured thinking, the results are predictable. Using an object oriented approach, the resulting creations can often go beyond the creators initial imagination - often the results are of as much of a surprise to the creator as to the people who admire the creator's creativity.

Of course, thinking need not be (and seldom is) confined to a single strategy. Object oriented thinking could lead to bizarre results if left unrestrained. Usually an object oriented process will be constrained, either by a limiting outline or from continual feedback, which hold the wanderings of an object oriented design to within a sensible but flexible envelope.

In its very general sense, object oriented thinking is about objects reacting with each other and their environment. Interaction between objects is facilitated by linkages which provide hierarchies and precedence; allowing objects to communicate and send messages to one another. The power of this modular system is that it can be continually changed and extended to any degree of complexity and the final complexity does not have to be visualized from the beginning: it can just emerge, grow and evolve.

Also, unlike structural thinking, the complexity of the resultant outcome of an object oriented structure need not have to be understandable in its final stage; this allows the design of a structure to become so complex that it can exceed the capacity of even the designer to comprehend the final outcome.

The Internet and the World Wide Web are typical of the structures which can evolve in an unrestrained object oriented environment. Perhaps you can see how totally inappropriate it would have been to design products in such an environment in its early stages of evolution using a structured design technique?

This is why object oriented techniques are essential in the environment of Second Life. The final form of creations cannot be visualized at any initial stage. They will emerge out of experimentation, in a changing and evolving environment - achieving a degree of complexity which would be beyond the capabilities of any single designer to foresee from the outset.

Biological structures evolve in an object oriented fashion to adapt to their environments. They grow and adapt by adding and mixing communicating modules at all levels of complexity. To see the power of object oriented design in action one has to look no further than the examples of meiosis and metamorphosis in nature.

Meiosis is the processes whereby two cells recombine their genetic material to produce a genotype which is a mixture of the genes of the two cells. This is how humans are formed at the time of conception, when some of the genetic components of the father's sperm is mixed with some of the genetic components of the mother's egg to produce an unique individual from the resultant reconfiguration of the genetic modules.

More dramatically, the results of re configuring organic modules can be observed in the metamorphosis of invertebrates. An example of which is the caterpillar, which re configures its component parts to turn into a butterfly. Cleverly designed object oriented scripting programs can exhibit similar powers of metamorphosis simply by re configuring message paths between objects.

The ubiquitous nature of object oriented strategies and design is only fully realized when you take into consideration that objects can also be abstract concepts. In a sense, writing is a form of OOPS - with the words representing objects. One message path links the objects together in their sequential arrangement on the page and another meta path is reconfigured by the brain to connect the words together in a different arrangement for comprehension. Recombining words in different ways along different message paths create new meanings.

The magic comes from realizing that a system of virtual objects need not be rigid - objects can be re configured into completely new configurations resulting in totally different sets of virtual objects (simply by changing the pattern of the objects and the information information paths).

Combining various different talents can be thought of in this way. Second Life is an ideal environment for people with different talents and experience to meet by chance and join together on a project of some kind. The outcome of the project will depend upon their mix of abilities. Different combinations of people might come up with totally different approaches to the same problem, which result in totally unexpected outcomes that are nowhere near the same.

Object oriented thinking is about polymorphing structures, whose shapes you can change at will - it is a weird thing, both to describe and to imagine.

Project Strategy

This object oriented strategy will be the way in which our Second Life project will be approached. The starting point is a few key concepts gleaned from the study of biological systems.

Stigmergy tells us that individuals will respond to an environment by making additions and changes; seeking to improve it.

Studies of the human brain tell us that all people are independently different: in the way their brain functions; their emotional reactions and the type of knowledge they hold. These differences cause people to come together to share knowledge and information; to combine and cooperate.

The objective of our Second Life project will we to create an environment that will enable a collective source of information to emerge organically out of these basic principles.

Peter Small (SL: Eliver Rang)

December 2007