Monday, 30 June 2008

Where Microsoft (and the software industry) is going (and why they won't like it when they get there) PART 3


Why is computer software so unintuitive? How many times will we be asked by our computer if something is OK when it is not at all OK? Why do I have to search for the memory stick I just put into the USB port. Why does my wireless connection tell me its busy trying to connect to somewhere useless when I am trying to tell it to go to the right place to connect?

Why does my pictures folder suddenly disappear? Why are their folders at all? Why is the model for a computer screen the desktop? How long have desktops been around? People got along for 100,000 years before there were desktops. Why is that the right idea? There were always people who wanted to talk to you, and things you needed to remember to do, and threats to be dealt with, and goals to be accomplished. Why isn’t that basic human agenda the paradigm for computers and not the desktop and the sharing of folders and files? The caveman didn’t have folders or files, but he sure had issues to deal with that are fundamentally the same ones that we deal with today.

Starting with the assumption that humans have basically the same mental apparatus today that they had thousands of years ago, let’s think about how the caveman might have designed a computer screen, since it is fairly obvious that today’s software designers are out of touch with how people actually think and operate on a daily basis.

Cave men didn’t use folders and they wouldn’t have known how to label them if they had lots of them. We can’t ever find where we put a file we need because files and labels didn’t exist for cave men. They do exist for software designers however. Why?

Programmers misunderstand the world in a profound way. They copy the metaphor of a desktop as if that metaphor was a basic human concept. Since desktops, paper, folders and such haven’t been around that long, the question is: what indexing scheme did cave men use? How could the caveman’s indexing scheme be harnessed to make our lives on a computer easier?

Does the mind have folders? It seems obvious that it does not. The mind must have some way of storing information that makes it easy to find. And, it is obvious that whatever means the mind has, was the same means that the mind of the cave man employed. Or, to put this another way, programmers would make easier to use software if they understood how the cave man’s mind stored information.

Do we have to dig up some petrified cave man brains to figure this out? Of course not, our own brains are the same. But examining our brains will not help. We are interested in the nature of information, as our ancestors saw it, not in the structure of meat.

Cave Men did not Point and Click

Neither did they drag and drop. This seems a silly point, but it isn’t. When a person approaches a sentient entity they expect that entity to have some goals of its own, and some knowledge of who they are and what the interaction is likely to be.

Computers are seen by their users as sentient, but somewhere along the way the user comes to the conclusion that stupid would be a better choice of adjectives. But, why are computers stupid? Simply put, there are three reasons.

1. Folders

Cave men don’t use folders. Computers do. People try to use folders but this means they need a filing system. Cave men had filing systems. Without them they would never find prior experiences to help them process current experiences and we know they would have had to be able to do just that in order to survive for tens of thousands of years. Those filing systems were not alphabetical, sorted by date, or sorted by size. How they worked and continue to work in modern man is a very important question.

2. The Lack of Expectation

Cave men had expectations about what would happen next. When these expectations failed, they tried to modify them so they would be smarter next time. One thing cave men expected was that those they interacted with also had expectations. They expected that others knew what they might want and it made interactions easier and faster.

Computers seem to have no idea who is using them. They don’t know that I am writing this, why I might be doing so, and what I might want to do next. Tomorrow, when I start again, the best the computer will be able to tell me was what I did most recently. This may have been reading e-mail or checking what was on TV at night, so this may not be very useful to me. Why doesn’t the computer know more about me? A cave man expects that it does.

3. The Missing Goal and Plan Structure

Of course it isn’t just me. People have clear goals and plans to achieve those goals, and they are, for the most part, well known types of plans and goals. Shouldn’t a computer have enough domain knowledge of the domains its owner works in to be helpful in knowing what to do next? Shouldn’t it know more about the user’s domain than the user does in most cases? Cave men knew about the available plans and goals in their world. Computers that cave men can easily use would know what there user was trying to accomplish, how he accomplished it the last time he tried and would suggest doing it that way again unless the user had a better idea.

In the era of the cave man, it is safe to assume, your average person didn’t know all that many people. So, conversation was personal. People didn’t seek help or advice from people they didn’t know. This matters because when people seek advice they usually imagine that the information they receive has somehow been tailored for them and their particular situation.

Socrates remarked that he was against books because they would say the same thing to everyone regardless who was reading them and without the possibility of interruption. He knew that the mind of the cave man needs information that is given with him in mind.

When you ask a stranger for directions, do they know how fast you walk, or how good your sight is, or what landmarks you know, or how hungry you are? All these factors would help someone give good advice. Instead we get generic advice. In the world of cave men there probably was not all that much generic advice, so we expect to get advice suitable for us, but it usually isn’t.

This is why travel agencies, and in particular, travel web sites, are so difficult to use. What do these agents know about you besides how much money you want to spend and where you say you want to go. You may not even know where you want to go. Perhaps you heard about a place on television or in a magazine that looked interesting. But, of course, that information was absorbed as if it were meant for you, because cave men think that way, despite the fact that the author doesn’t know you at all.

A Caveman Example

Andrew has a family sailing boat. His family has been using it since the kids were young. His son Paul want to use the boat now that he is 22 and an up and coming geopolitical analyst working at his first job at a major consulting firm. But Andrew does not see his son as a yacht owner since he doesn’t have the funds to maintain this hobby. He prefers to see him rent a yacht. So he lets his son use it if he can rent it and sustain the expenses. Paul has his first guests on board. He cooks a nice meal for the guests that evening and when he is finished he feels like he just finished running “desert storm”.

He ponders the problem and realizes that part of the problem was opening hatches and getting stuff out of storage including the second can of tomato paste, a water bottle and cooking wine out of the bilges via 2 different hatches. One choice is to plan everything and bring it to the kitchen ahead, in which case he is stepping over mustard jars while cooking and he has to ignore the guests in case he loses concentration and messes up dinner.

The second choice is a bigger boat.

The third choice is to get his sister to bring the stuff from the bilges, and possibly help in the cooking. For this he will have to replace the hired hand. This choice seems better since his sister has been sailing in the boat since she was 3 years old, she can assist in mooring, sailing, cooking etc, and she can fit in the crew quarters with Paul.

Now let’s transfer this plan to the world of software. To work in an intense space-restricted environment, Paul can try to plan every move and practice this for years to get it right, knowing exactly where everything is and having thought of all contingencies.

Or he can have an expert assistant.

If the choice isn’t obvious, add to this that Paul’s charter guests are the most important people in his life and they are very chatty. Does Paul want to be the perfectly organized yacht captain (which would require years of practice? Does he want to ignore the opportunities to take advantage of social/career opportunities while using the boat? Does he want to be thinking of cooking and boating contingencies all day? Wouldn’t it be better to hire his sister as an assistant who is also a yachting expert in this particular boat and cares about him accomplishing his goals?

Now imagine that the sister was actually a good piece of software. Software does not take up space or take vacations. A service oriented expert service would costs no more than trying to configure and learn how to use a software product that knew nothing about your boat, but was intended to do everything for everybody.

Or, to put this another way, cave men knew how to use expert assistants to help them in the hunt or in war. They knew better than to try to configure a general purpose newcomer to the tribe to go into battle.