Chapter 12

Enhancing the human brain

 

An example emerges

Just after I'd sent out the last chapter to the people in the virtual cafe, I had a real life meeting with one of the readers, Dan Winchester. Dan lives just a few miles from me and we often meet for a beer and a chat in a local pub. Dan's specialty is databases and the design of backend systems that provide Web sites with their organisation.

Dan was somewhat bemused by the strategy I was suggesting. He didn't see the need for bots or personal agents as he felt everything that needed to be done could be handled from the server side. He considered it would be far less complicated if clients simply complete a form on a Web page and leave everything else up to the Web site – which could use a suitable suite of programs, coupled to a database, to provide all the functions the clients would need.

When I explained how it might be preferable to put the programming on the client side if the client's help were needed in obtaining the solution they wanted, he immediately raised the objection that this was different from the way everyone else was using the Web. He was of the opinion that because the approach would involve having to teach clients to do something new, there would be a resistance to its use. As he explained," People don't want to learn anything new. They like intuitive applications that are simple to use and to understand. They want everything done for them".

Although this is a valid argument, it applies only where it is possible for computer programs and algorithms to satisfactorily perform the tasks that are needed by a client. For many client needs, particularly those involving highly volatile data, it just isn't economically possible to create a server side solution because too much human input is required. This makes it imperative that the solution is handled on the client side, where a human is available to handle the parts of a solution that are not amenable to any algorithmic approach.

Dan Winchester wasn't convinced. He couldn't imagine a situation where clients would need to be an integral part of a solution – and, at the time, I had no specific example to give him. However, the very next week, an ideal example did arise: when I was invited along to a special meeting in the UK Houses of Parliament.

Here was an instance of developments that seemingly arise out of the blue when pursuing an opportunity. Prior to starting work on this book, I'd never had any contact with the medical business. Yet, after the question about a cancer database coming up in the virtual cafe, I'd found myself discussing with several people in the oncology division of a major drug company the possibility of applying the people space concept to help cancer patients find cancer treatment trials. These contacts saw a great value in this approach, not only from the point of view of the patients but also from that of the drug companies, who were having to spend quite considerable sums of money trying to find suitable patients for their treatment trials. These communications with the drug company resulted in me getting an invitation to the meeting in the UK Houses of Parliament.

The meeting was called for 5 PM, Tuesday 27th February 2001, in committee room 21 in the House of Commons. It was entitled "Developments in Information Technology and Cancer Care" and the subject matter to be discussed was "How developments in information technology will affect the quality of care received by cancer patients". In the chair was the Member for Parliament: Dr. Ian Gibson MP.

These kind of meetings are regularly used as one of the means by which the British Government obtains information about the various areas of specialty the Government has to deal with. At this particular time, there had been much press comment on reports that the standard of care and treatment for cancer in Britain had fallen below that of some of the other countries in the European Union and the Government had declared their intention to catch up within five years.

There were three main speakers who had been invited to the meeting to describe the approaches they were taking in using information technology to help improve the quality of cancer patient care.

One of these speakers described how his department was in the process of creating a registry of all cancer patients in the UK. They had recorded the details of some 8 million patients already and were attempting to add to this registry the 250,000 new cases that occurred every year. The speaker produced some graphs to illustrate how they'd used their database to deduce that patients who were treated by more experienced physicians did rather better than patients who were treated by less experienced physicians. Not exactly a startling revelation to come out of such a gargantuan amount of data.

Another speaker, who was a project manager for the National Health Service Information Authority, described how they were setting up a database to record the treatment of every cancer patient in the country. An outline was given of the many practical difficulties that were involved in getting this information into a database.

The most ambitious scheme was proposed by the third speaker, who was attempting to set up a Web site to advise cancer patients of the various treatment options that were available. It was explained that many patients wanted to be informed enough to play a part in the decision making concerning their own treatment and needed a reliable source of up to date information.

The literature handed out by this speaker to the attendees of the meeting explained there were 20,000 medical journals in various languages that between them publish 2 millions papers every year. These papers were said to contain details of many clinical trials but some were too small to give clear answers and most reviews of the evidence presented in the papers tended to be highly biased. Additionally, it was pointed out that a search for "cancer" on the Internet search engine GOOGLE.COM produced 5,960,000 references. The speaker told the meeting that this amount of information would be confusing and too ambiguous for most patients to be able to make any use of.

The speaker explained that there were multiple decision points in a patient's journey. Questions needed to be driven by patients as well as their carers. There would be a requirement for various levels of information to allow shared decision making between patients and their physicians. This would create a need for unbiased, systematic reviews of all cancer treatments, which would have to be continuously kept up to date. The suggestion was for there to be "kite marks" given to papers, to provide indications of their authenticity.

All through these presentations there were murmurs of support and approval for this work, with many of the attendees making copious notes. Nobody seemed to be aware of the practical limitations of these proposals. It seemed to be assumed that the mysterious power of the computer could overcome the horrendous problems associated with dealing in enormous numbers of people and vast quantities of volatile data.

After the presentations there was a question and answer session, where I was able to ask the speakers about the practical realities. I asked about the costs of collecting and categorising all this information. It may be cheap to manipulate once it is in a database, but, didn't every single piece of information have to originate from a human entry? I asked if the proposers of these schemes were taking into account that the nature of most patient's condition was continuously changing as their disease progressed or went into remission as they were put onto different treatment schedules? Could this highly volatile information be kept up to date on millions of different patient files?

I asked about the practicality of any organisation being able to judge the contents of 20,000 journals; differentiating between the merits of 2,000,000 articles every year: removing bias and selecting those to kite mark. There was a stunned silence as the reality of the situation dawned upon everyone at the meeting. They weren't dealing with a finite amount of stable data. All this data was highly volatile and even if it could be put into a database it was likely to be out of date by the time it came to be used. This would seriously compromise the value of any conclusions that could be drawn from any analysis.

I pointed out that what they were proposing as new British initiatives in the fight against cancer, appeared to be new initiatives only because there was little evidence that any of these proposals were already in existence. However, it was extremely unlikely that nobody had thought of these ideas before. And, if they had been proposed, surely the funding would have been available if the proposals had been viable? Certainly these ideas would have been an attractive proposition for Venture Capitalists if they were practical possibilities. The fact that these proposals weren't already in existence would seem to indicate that the cost and the practical problems involved had ruled them out as realistic approaches to improving the quality of patient care.

The inescapable conclusion must be that an organised, server side approach cannot provide a solution. The only possible way for this information to be organised and made useful would be if it were possible to engage the coordinated help of millions of people, sharing the work such that each could look after just one small section of the database to keep it up to date and make sure that it interacts appropriately with all the other information in the database.

Here was a real world example to explain to Dan Winchester the need for a client side solution. If every patient handled their own data and if each could individually control the database to get results specific to them, then it would be possible to deal with this vast amount of volatile information and use it to make a difference to patient care and treatment.

The trick would be to get such a system into operation. Clearly, trying to organise such huge numbers of people would be an administrative nightmare. The only possibility of success is to create a self organising system of self motivated people, where people take part because it is in their best interests to do so.

 

Client side control versus server side control

To appreciate what is involved in handing over the running and control of a database to clients, it might help to have a few diagrams. Figure 12.1 illustrates a conventional Web site where data is collected, categorised, stored, sorted and processed on the server side. Clients receive the processed information upon making requests to the Web site.

Figure 12.1

A conventional Web site providing clients with sorted and processed information from the server side

In situations where there are vast amounts of volatile data, the Achilles' heel of this kind of system is the cost and practicality of collecting the data and keeping it up to date. This weakness can be overcome if the responsibility for entering and updating the data can be transferred to the client side.

Such an arrangement is shown in figure 12.2, where the database on the server side does very little other than hold data provided by clients and allows them to retrieve this data without any added processing.

Figure 12.2

A Web site that stores client information for them to retrieve and process for themselves

If each client is responsible for their own data and their own processing, all the work necessary to create and maintain a database of volatile data will be shared amongst many. More importantly, each client's specific needs can be catered for individually because each client will be able to take part in the processing of their own information: able to control and customise their own results.

The paradigm shift is to see how the total system has acquired real intelligence. It is no longer a robotic system that relies entirely upon non intelligent algorithms. Humans are now included in the system: to take care of any parts of the data processing that computers and algorithms are not able to handle satisfactorily.

The pertinent question then seems to be, "How can we train clients to use databases and to process their own informational requirements?" The answer is surprisingly simple: we make it as easy as filling in a form on the page of a Web site. To illustrate, let's go through an example.

 

Bot parties

In the book "Magical A-Life Avatars", I described a scenario where it would be possible to clone your personality and character onto a bot and send it out across the Web to look for other bot clones to bring them back to your own computer for a party. At these virtual parties, your own bot clone could socialise with these other bot clones to find those whose owners would be the kind of people you would like to be friends with or who might make useful contacts.

Although this might sound highly implausible, it was based upon an actual business experiment I'd tried out a few years previously. As this will apply directly to the linking of a client side application and a server side formatted space, it may be worth while running through the background and some of the details of this idea.

 

How it started

In the mid 1960's, I was watching a science program on television where they were describing imaginative new uses for the latest wonder of modern science, the electronic computer. The application being described was an experiment in computer dating that was being carried out at Harvard University (this was at a time when the only computers in existence were at government research establishments, universities and a few very large companies).

As I'd been involved in computer research (at a government research and development establishment as part of my student training) I could easily understand how such a system could be programmed and immediately recognized the commercial possibilities. In those days, computers were designed with thermionic tubes and low level programs were fed in via punched cards. It was all very primitive but quite capable of reading in the results of questionnaires, then comparing and matching the answers.

I decided this might make an interesting entrepreneurial business venture and set to work to design an appropriate questionnaire and a suitable computer program. The questionnaire was quite lengthy and asked many questions, but, in practice the basis of matching the people was limited to very basic considerations such as sex, age, height, interests and educational backgrounds. Although it was not a great commercial success for me as a pioneer, others took up the idea later and turned it into highly profitable businesses.

In fact, somebody who started a computer dating agency by copying my questionnaire, went on to turn the business into an international company with a turnover of several million dollars a year. I was always a little peeved that I'd missed out on this great opportunity, but, the idea of matching people by means of a series of punched holes in cards continued to fascinate me.

 

The biological connection

Several years later, I became interested in evolutionary biology. I was amazed to find that the complete design of the human body, including the human brain, was described by a biological form of punched card – the human genome. The human genome may look very different, but, in essence it contains nothing other than binary information – equivalent to the holes and spaces on a punched card, albeit a punched card that contains three billion holes.

Three billion holes isn't that big a deal in the current world of computer technology. It's only seven hundred and fifty megabytes: not much more than the information carrying capacity of a CD-ROM (650 megabytes) and easily contained on the gigabyte hard disks of even the cheapest of today's home computer systems.

The thought then struck me that somewhere on the human genome there had to be a series of binary digits that described a neural arrangement in the brain that would help a human to selectively choose a partner to mate with. Assuming there are no metaphysical phenomena involved, the design specification of this neural mechanism must be totally describable using no more than a punched card (or bits in computer memory).

The thought intrigued me. I then set out to try to find the connection between a series of binaries and the complex set of emotions that cause people to be attracted to one another.

 

Kurt Godel and John Holland

The first clue came from the work of Kurt Godel, a Czech mathematician who in 1930 described how statements and rules could be represented by numbers. Together with the rules of logic, Godel showed how it was possible to represent any complex, rule based processing system solely by numbers. It was this work that had inspired Alan Turing to build the Turing machine: the basic mechanism underlying the design of all modern day computers.

Godel's work also described how tangible as well as intangible entities could be represented as numbers, allowing any kind of system to be modelled in binary form as a computer program. The inference to me was that this could also include neural mechanisms and the esoteric and intangible phenomena we describe as emotions.

The second clue came from the work of John Holland, a computer scientist, who in the 1980's discovered the mathematical mechanism that causes biological organisms to evolve. He called his mathematical device a genetic algorithm. The essence of this deceptively simple mathematical mechanism is that it provides a fast way of optimising any system comprised of a large number of dependent variables: a task impossibly difficult for conventional mathematics.

The principle of genetic algorithms is that you start off by making wild guesses at what the variables of a system should be and then breed different versions of the system to see which work best. At regular intervals (generations) the systems that work best are selected to "breed", whereby new systems are created using various mixes of the most promising variable values.

It is similar to the way biological organisms evolve – survival of the fittest – where the fittest get to pass their genes into the next generation. In the case of John Holland's genetic algorithms it is numbers that survive to reproduce, but, thanks to Godel's theories, these numbers can represent any kind of entity both tangible and intangible from physical assemblies to rules and statements.

There is no question that this technique is effective because variations of genetic algorithms are now used extensively in the design of all manner of complex systems.

 

Representing emotions on a computer

Godel's work suggests you can represent emotions by numbers. Holland's work suggests you can evolve these numbers to respond appropriately to any given situation. It was with these thoughts in mind that I set out to design a bot that would have a mechanism to emulate the human brain's ability to emotionally choose a suitable partner.

The idea is basically very simple. You represent an emotion by a variable. Whatever number is put into this variable represents the strength of that emotion felt by the system. If the number is positive the emotion is positive. If the number is negative the emotion is negative. To obtain a range of different emotions you simply have a number of different variables. Figure 12.3 shows a bot with ten different emotions, each of which can be focused upon a particular characteristic or feature of a target.

Figure 12.3

If we provide a bot with ten variables, we are effectively giving the bot the ability to express ten emotions. These can each be tuned to correspond to a particular quality or characteristic that the bot is looking out for. In other words, a bot can be trained to have emotions relating to ten features of a target.

As an example, let's consider a bot that is looking at the profiles of many different people. One of its emotions might be specifically allocated to provide a response to people's heights. An emotional profile would arrange for a suitable value to be placed into the "height response" emotion according to what height is "seen". Perhaps this might be strongly positive to one particular height, but, variously less strongly to others and in some cases even negative (see figure 12.4).

Figure 12.4

A bot can be set up with a profile to respond to height. When it "sees" a height, this emotional profile will place an appropriate value in the emotion variable corresponding to its "reaction" to height. In this example, the bot's profile is set to "like" people of height 1.7 metres in preference to people of other heights.

Another emotion might be set to respond to age. Similarly it can be set to respond strongly positive to one particular age range, variously less positively to others and some variously negative. Combining the two "emotional" variables together the bot will respond in a characteristic way to all combinations of ages and heights. If the bot encounters an age and height that together correspond to a maximum positive emotional value, the total emotional response would be at a maximum: telling the bot that it had found someone with an optimum combination of age and height.

By setting other "emotions" to respond to other significant features or characteristics the bot's aggregate emotional response can be obtained as a summation of all of the emotions. This can be explained by means of an example.

 

Creating a clone

In 1993, I decided to test out these ideas in real life. I advertised in my local newspaper for single people looking for partners to try out a computer experiment where they could use a personal digital agent in a computer program designed to bring compatible people together. The experiment involved each participant creating a digital clone of themselves to mix with other clones to search for optimum partners.

To create the clones, a questionnaire was devised to allow people to provide various details about themselves. Besides the obvious physical and tangible characteristics, the questionnaire also carried many questions that might provide clues as to their attitudes and personalities. This questionnaire is shown in figure 12.5.

Figure 12.5

An example of the personality and attitude questions on the questionnaire. The responses to these questions are then turned into a binary string

The applicants were asked to tick the characteristics on this questionnaire they thought applied to them. From these responses, an array record could be created to correspond to the way people had answered the questionnaire. This record is shown in figure 12.6.

Figure 12.6

An example of the record that is created from a questionnaire. Besides carrying information coded for physical and tangible characteristics, it carries a series of binaries to indicate how a person had responded to the personality and attitude questions

Figure 12.6 is the computer record of a person called Jane Morrison. It codes for her age (born 11/11/62) and height (5 feet, 8 inches) together with her answers to the questionnaire that are recorded in binary form. It is effectively an electronic clone of this person, representing many of her physical characteristics, attitudes, tastes and preferences.

 

Creating a personality

It is unlikely that single questions would be reliable guides to a person's overall personality and character, but, the average of a number of questions might be more significant. The questions were then arranged into groupings according to very broad categories. It was then very easy for a computer program to count the positive or negative responses to the questions in a particular category and give that category a score or rating. Such a record for a particular person is shown in figure 12.7, where the marks in each category are expressed as a percentile.

Figure 12.7

A generalized clone personality, arrived at by grouping the answers from the questionnaire into various categories

Once you have a clone defined in this form, it is easy to make rules relating to the categories and give weightings to those rules. This is shown in figure 12.8.

Figure 12.8

By grouping questions into categories, you can devise rules to relate those categories to attractions between different people. The relative importance of each category matching rule can be specified by giving each rule a weighting

One you have a system that can describe people by means of categories, you can set up rules of attraction (or repulsion) based upon these categories and use weightings to specify the strengths of the rules (using negative weights to reverse the rules where necessary). This can easily be translated into the form of variables that represent emotional responses to the characteristic profiles of different people. In other words, bot clones can be designed to "feel attractions" to other bot clones, analogous to the way way humans are attracted to each other, i.e., a complex set of emotions that when summed together give an overall impression of liking or not liking a person.

 

Human and computer combinations

Common sense tells us that such an automated system of computer matchmaking would have a limited amount of success. There would be many other factors that would need to be taken into account besides those included in the questionnaire. Even if it were possible to incorporate an extensive questionnaire with thousands of questions, the system would still be reliant upon the rules and the weightings – which have no logical basis and certainly wouldn't be universally applicable.

The situation could be greatly improved if humans are introduced into this system of matchmaking to assist in processing their own results. For example, if clients were able to choose their own rules and provide their own weightings, they could arrange for the system to select potential partners that were more specifically matched to their unique, individual requirements. Using the principle of Holland's genetic algorithms, they could then try out different combinations of rules and weightings to see which delivered the best results. This would undoubtedly give better accuracy than a universal set of rules and weightings that applied to all.

For a conventional Web site, the problem with this arrangement would be in dealing with the complexity of having thousands of clients effectively running their own programs on the same computer system. This would require sophisticated Web side programming and hardware, and would be a nightmare to organise and control.

The alternative would be to give everyone their own copy of the database, and provide them with the necessary software to run the selection process on their own computers. In this way, everyone would be free to create any rules they like and play around with the weightings to see which combinations gives them the best results in their search for a suitable partner.

On first thoughts, this might seem totally unrealistic. If there were very many people involved, transferring a copy of the complete database to every single person over the Internet would be impossible. However, it could be practical if some form of preselection were made on the server side: reducing everyone's choice to a chosen sub section of the full database that included only the candidates most likely to be of interested to them. By reducing the number of choices each person would have to consider, the size and sophistication of the client side database could be drastically reduced.

Figure 12.9

If a large server side data base is sub divided into small sections, appropriate sections can be sent to clients for them carry out their own custom processing

Perhaps the reader might see the connection here between these sub sections of a database and the meeting places in the people space described in the previous chapter. The meeting places are effectively sub sections of the total data base that group together people who are most likely to be of interest to each other. This saves the client having to consider every single person in the database.

Having only a few people to deal with at a time, the data processing facilities needed on the client side can be relatively uncomplicated. Such a database could then be incorporated into a small client side application – something like the virtual cafe – that will help the client make final selections.

 

 

The problem of the final choice

The idea of dividing a database up into small sections of people who might be of interest to each other might be more clearly understood with another example. For this, let's return to the real world, matchmaking experiment I tried out in my home town.

In that experiment, it wasn't possible to provide client side data processing and selection software because very few of the people owned computers. There was also the problem that in human matchmaking there is no program that can be devised to replace the natural way humans can judge each other through face to face interactions in real life.

As a solution to this problem, a space was created in the memory of my own computer to simulate the local town. Into this space were placed representations of all the town's pubs, bars and other social meeting places. I then randomly distributed all the clones (records of questionnaires) into these virtual meeting places.

A program was then devised so arrange for each clone to "look" at the records of all the other clones in the meeting place it had been assigned to and compare them with its own. Through a system of rules and weightings, the clones could assign a compatibility value to each of the other clones they were grouped with – calculated in much the same way as described for emotional responses (see figure3 12.3 to 12.8).

By adding together all the compatibility values and dividing by the number of people at the meeting place, each clone would be able to calculate a value to indicate how generally compatible it was with the average of the whole group. Those clones whose compatibilities were furthest away from from the average were judged as "feeling out of place" at the meeting place and were moved on to a different meeting place where they might find clones that were more compatible.

By repeating this process with all the clones in every meeting place, moving the misfits around and repeating the whole sequence many times over, the population of clones in the simulation gradually sorted themselves out into compatible groupings: each clone moving around the meeting places until it found itself in a "comfortable" environment.

This is very similar to real life. People sample various social venues and choose to frequent those where they feel most attuned to the people present. This results in social meeting places becoming "cliquey": catering for people of a similar type.

The idea was that at the end of this computer processing, the owners of all the clones would be told which of the meeting places their clone had ended up in. The owners could then be given a specific date to visit the real life meeting place to meet the owners of all the other clones that had favoured that particular venue. In this way, the clones were making a rough selection based upon rules and weightings, but, the final choice was left to the humans.

This real life example illustrates the principle of a people space that is divided up into compatible groupings. Computer programs cannot make a final choice, but, they can do the donkey work, helping to create short lists of the most promising prospects from a large number of possible choices. This makes it possible for a human to concentrate upon only a relatively small number of people: a number low enough for the human brain to be capable of dealing with efficiently.

It was with this experiment in mind that I started to write the book "Magical A-Life Avatars". It led to a completely new way of thinking about the Internet.

 

A system of objects

In 1997, when I began working on the book "Magical A-LifeAvatars", I had no idea what the contents would turn out to be. I simply set out on an adventure of exploration into the world of the Internet - writing about it as I went along.

My starting position was a good grasp of object oriented, computer programming, which I'd developed while writing "Lingo Sorcery". This saw me starting with an empty space in the memory of my computer. The idea was that I could fill this space with software objects to perform various functions.

I began to experiment by creating simple objects that passed messages to each other. I got them to ask each other questions such as "What is the time?" and "What is the date?". The objects could answer these questions by getting information from system software. This was quite easy because I was programming in the formatted space of a multimedia authoring package (Macromedia's DIRECTOR), which has hundreds of ready made functions that software objects could use.

Technical Note

Although this may appear to be very technical, it is surprisingly simple once you begin to get the hang of it. An object is created by going to a menu and and selecting a menu item called "New Object". This will create a space in memory which can be given a name. Let's say the name is "greenFrog". Having created this "greenFrog" memory space (known as the object), it can be sent a message simply by adding the name "greenFrog after the message name. For example, you can ask this "greenFrog" object to tell you the time by including the following message in a code that is activated when a button is clicked on the screen:

tellMeTheTime greenFrog

This "tellMeTheTime" message will go to the place in memory that has been allocated to the "greenFrog" object.

For the object to be able to respond to this message you have to place into the object's memory space a little description of what the object has to do when it receives this "tellMeTheTime" message. This takes the form:

on tellMeTheTime

put the time into field "greenFrogsReply"

end

When the message "tellMeTheTime" reaches the object space in memory, this little bit of code is triggered, causing the object to get the time from the system software and put it into a box on the screen (the box is given the name "greenFrogsReply").

The beauty of this object style programming is that you don't have to worry about how objects do whatever it is you want them to do. You just send them messages that contain key words (built in functions). Hidden software, from behind the scenes, does all the difficult part for you – so you don't have to know how it is done. In this instance, the key words are "the time". The behind the scenes software recognises this phrase and knows that it has to supply the object with the current time. The behind the scenes software also recognises the phrase "into field" and will place the time into the field named after this phrase. It is all very pedantic and mechanical, but, does not require any any arcane techno-wizardry.

With these authoring packages, which may contain thousands of built in functions, you can create objects that will do almost anything. In essence, all the programmer needs to do is remember the names of the key words that call the functions.

Before very long, I was getting the objects to tell each other jokes and play simple card games with each other. I got them to carry out mathematical calculations, sometimes splitting a problem between the objects (so they had to cooperate with each other to produce a result).

As I got more ambitious, I started to investigate the built in functions that allowed software objects to communicate with a Web site. I set up a Web site with a local ISP (Internet Service Provider) and although it took a couple of frustrating hours, sorting out the right parameters and passwords to include with the functions, I soon had objects creating files on my Web site. I then created other objects to download them back again onto my hard disk.

Then I found I could get my objects to download files from anywhere on the Web. All I had to do was to send a message to an object giving it the URL (Web address) of the file and it would use the necessary built in functions to place the file in a designated folder on my hard disk. Experimenting further, I had one object download a file from the Web then pass it on to another object to process the contents. I then found I could set up an object to download a list of different Web pages and send these pages to different objects where they could process the contents in different ways.

It then dawned upon me that I was creating a system that was extending out beyond my computer to the whole of the Internet. In effect, the Internet had become an extension to my hard disk and I could create all kinds of objects to process and deal with information from anywhere on the Web.

I began to introduce emails into this system I'd created. Objects were arranged to read the contents of e-mails and act upon any messages they contained. I then made myself part of the system. I'd read emails and if I found something of particular interest, I'd drag my mouse across the text and send the selected piece to an object that would either act on any instructions it contained or file the content away under any category I chose to define.

Taking an overview of what I was doing with my computer, I was using the computer as an artificial extension of my brain to communicate with the Web. This gave me a new perspective on this world of objects I was creating. I was enhancing the capability of my brain to deal with the vast information environment of the Internet.

I didn't have sufficient natural mental ability to rapidly sort through the information on hundreds of Web sites without some kind of aid; I hadn't the memory to record and categorise thousands of facts. I couldn't remember hundreds of names and relevant details of the people I was exchanging emails with. I had a normal human brain – a brain that hadn't evolved to deal with information of this magnitude – but, my software objects were helping me to overcome this handicap.

This perspective is illustrated in figures 12.10 and 12.11. The conventional notion of using a computer to access processed data from the Web is replaced with the idea that information is downloaded from the Web to be processed by the client – with the aid of client side software objects.

Figure 12.10

The conventional idea of using the Web is that the client side is passive, with all processing arranged on the server side

Figure 12.11

Client side software can be thought of as an enhancement to the human brain, assisting the client to process the information available on the Web

Once I'd made the paradigm shift to see these objects I'd created in my computer memory as an extension to the capabilities of a normal human brain, I began to explore further possibilities. I created an object that simulated a cafe, that could keep a list of everyone I knew and selectively choose amongst them to sit at tables where I could have [e-mail] discussions with them.

If I wanted to speak to programmers, I'd have an object search through my list of contacts and bring all the programmers into the cafe. Similarly with business contacts, social friends and a host of other categories: all I needed to do was to ask an object to produce a particular group of contacts according to a number of selection criteria and they'd be placed at a table ready for me to communicate with.

The advantage of using this object based system was that I could design objects to look out for profiles of particular types of people in much the same way as the matchmaking program described previously looked for partners. It would be different from conventional database searches because the profile searches could choose people on the basis of overall nearness to a fit (rather than be limited to an exact match that would greatly limit the number of criterion that can be used in a selection process).

Note:

Conventional database matching techniques involve selecting against particular criteria. Each step of the selection process considers one criterion at a time, eliminating part of the database at each step until it gets down to just a few possibilities . This is a fast way to select but allows only a relatively small number of criteria to be used and doesn't balance out good points with bad. Using the "simulated emotion" technique of selecting or matching allows any number of criteria to be taken into consideration at the same time, selecting for the best compromise between all the factors taken into consideration.

Despite the apparent complexity of this system of objects, the programming used a fairly small amount of memory. This meant that I could send this brain enhancement software across the Web for others to use. I could also use it as the basis for a myriad of different business ventures.

 

Cafes, objects and parallel worlds

Working within the environment of the Internet, there can be far too many possible contacts for our brain to cope with efficiently. We need help to remember all the names and the different ways in which different people might be of interest to us. We need an efficient way to bring the right contacts to our attention whenever there is a need for particular assistance or information. Such help can be arranged by making appropriate use of the computer.

As humans and computers have totally different ways of dealing with information, an interface is necessary for humans and computers to be able to communicate with each other. Computers communicate across this interface using sound and visual images on a screen; humans by using a keyboard and mouse.

As most humans cannot communicate with computers at a programming level, the interface has to take the form of a metaphor of something that a human can easily relate to in the real world. Clever programming and graphics can create these metaphors and translate the human interactions into the binary language that computers can understand.

The virtual cafe is such a metaphor. It is a conceptual image that helps in the handling of a large number of Internet contacts. After all, it is far easier to think of inviting people into a cafe to have discussions than to think about a complex environment of records and algorithms. This is illustrated in figure 12.12, where an auteur (director of operations) or an entrepreneur visualises themselves in a cafe where, at the various tables, sit the contacts they need to help them create an e-business.

Figure 12.12

This is how the cafe might appear to an auteur or entrepreneur whose contacts are selected to help create an e-business

An on-screen representation of a virtual cafe may look quite different from the mental model carried by the auteur. It might consist of a list of contacts and a means of bringing selected people into a "cafe" area, which may be represented as a grid. Particular choices of people selected to sit at "tables" would be names highlighted in this grid. Such a screen view of a cafe is shown in figure 12.13.

Figure 12.13

On screen view of a table being created in a virtual cafe

In reality, the virtual cafe is a sophisticated database. Each listed contact name is created as a record. Software objects can search these records to find people whose interest or knowledge coincides with any particular subject the cafe owner is interested in discussing.

Each record in the cafe database will contain a list of attributes and characteristics that have been assigned to a particular contact. Effectively, these records are clones of the contacts, representing who they are, what they know and what makes them interesting. Seeing these records as clones of the people they represent, it is then only a short step to think of these individual records as separate files that can exist independently of the database. As separate files, they can be sent to a software object, which can then send them to a Web site or include them in an e-mail to send to other people.

Visualising these records as transportable clones, if a person created a record of their own characteristics, they could send this record to their friends and contacts. Figure 12.14 illustrates such a facility that might be included with the virtual cafe software to enable cafe owners to make a clone record of themselves that they can send out to all their contacts.

Figure 12.14

An individual, with a small software application for creating clone records, can send copies to all friends and contacts

Such a cloned record, would be created similar to the way in which the clones were created in the match making experiment previously described. People would simply answer some form of questionnaire – with the questions chosen to relate to a specific area of interest depending upon the purpose of the clone.

If the people who receive a clone record also have a virtual cafe – with a software object that can insert clones records into their virtual cafe's database – it would save them the trouble of entering that clone owner's details themselves. Figure 12.15 illustrates a cafe with an object that can accept clone records from other people and insert them into a virtual cafe's database.

Figure 12.15

A virtual cafe with a software object that can insert clone records into its database

A software object on the client side can also be designed to transfer clone records to a Web site. This is illustrated in figure 12.16, where an individual creates a clone record of him of herself which is then passed to an object that will send it to a Web site. In this way, it can be arranged for many different cafe owners to send their clones records to particular meeting places in a people space (which might exist as a file on a Web site). Such gathering of clone records can be organised completely from the client side by the cafe owners themselves without the server side having to be involved at all (other than to facilitate the inclusion of a clone record in the designated file).

Figure 12.16

Individuals can make clone records of themselves that can be sent to designated Web sites. If the Web site is a people space, these clone records can be sent to selected meeting places

If cafe owners have objects that can send their clone records to a particular meeting place in a people space, they can equally have objects that download the clones at a meeting place into a virtual cafe in their own computer. This is illustrated in figure 12.17, where one object downloads copies of the clone records at a particular meeting place, then passes these to another object to insert into the cafe database.

Figure 12.17

An object can download the clone records of a particular group of people and pass them to another object to insert into the virtual cafe database

 

In the match making experiment I tried out in my home town, people had to physically go to the meeting places in real life to make their final personal selections. In this virtual world, the meeting place can be transferred to everyone's own computer: for them to inspect the clone records of everyone else and decide who to make actual contact with.

Just as in real life meeting places, one to one communications can take place or small groups can be brought together for discussions. The big difference is that every person has their own personal copy of the meeting place and can use it in any way they wish. It is this aspect of virtual meeting places that is so difficult to comprehend because there is no equivalent of this situation in the world of bricks and mortar.

The conceptual jump is to get away from the idea of there being a single meeting place and imagine each meeting place as being duplicated in a number of parallel worlds: where the interactions may take all kinds of different forms and directions. This may seem like something out of science fiction, but, it is through understanding the bizarre and counter intuitive nature of the Internet that breakthroughs can be made.

A self organising system

Understanding how software objects on the client side can create clone records and send them to designated meeting places makes it possible to appreciate how a low cost, self organising database can be created through all the users entering their own data.

The server side need not cross link any of the records, the users themselves can create appropriate links by sending duplicate records to different meeting places where appropriate. A simple addition to a clone record can be used to cancel its appearance at a particular meeting place thus eliminating the need for any server side house keeping duties. Alterations to records can also be arranged by the users themselves: simply by modifying their own clone record and sending it off to replace the previous record. Thus no updating need be carried out on the server side.

The only creative work required on the server side is in deciding upon the initial questions that are used by the clone making objects (these correspond to the initial categories decided upon when creating the people space). It is this seed that starts off the process of self organisation and is the initial input provided by the entrepreneur.

 

An extension to the brain

Figure 12.18 shows how all these elements fit together. Although the tasks may be carried out by different software objects, this division of tasks would be transparent to the users. They would simply see a single application that allows them to send out clones to meeting places and bring back clones of other people into their cafes. On screen buttons would activate the various objects, allowing the users to examine, sort and select amongst the records to find a particular contact or group of contacts they might need to help them solve a problem - or create a business.

Figure 12.18

The virtual cafe and its associated software objects combine to enhance the ability of the human brain to cope with the complexity of the Internet environment

From the user's point of view, this virtual cafe would not be seen as a complicated programming construct, but, as a useful aid that allows them to take full advantage of the Internet to build and organise a powerful network of contacts. It will be like an extension to their brain, allowing them to use the Internet environment efficiently to turn them into super individuals who are positioned at the centre of a personal hub of "need to know" information sources. Thus, the figure 4.4 of chapter 4 will now be transformed into figure 12.19.

Figure 12.19

An individual's power and capability can be substantially enhanced by having an application that allows them to take full advantage of the Internet to acquire and maintain a network of contacts

 

 

### End of chapter 12 ###

Back to index

Note: This book lead to the creation of the stigmergicsystems.com website

Copyright 2001 - Peter Small

E-mail: peter@petersmall.net

All rights reserved by Pearson Education (Longman, Addison-Wesley,Prentice Hall, Financial Times for FT.COM imprint