|Research, training, consultancy and software to reduce IT costs|
The ideas amplifier
Computers don't just automate our ideas, they make them bigger.
I have often wondered why computer systems work. I have been developing a new data load feature for our software. It involves a fairly complex mixture of data management, dependency resolution, change detection and version control. I have designed it carefully and am testing it as I go. But how do I know it will work when I have finished?
I have had this thought many times before. I have written lots of computer systems and by-and-large they work. They do what I want. The design and programming achieve the aims set out for them. But, philosophically, why is this? What is it about computers that allow us to translate our ideas into machines that meet our requirements?
In part, computer systems work because of the sort of people we are. IT attracts people with systematic, consistent minds. We work over problems in our heads and find ways through. We translate those methods into computer programs, and out come working computer systems.
It is not just the sort of people we are. I was trying to mend a garage door the other day, and only succeeded in jamming it and needing to take a hammer to it. I might have a mind to get computers to do my bidding, but not the physical world. In what way are information systems different from physical systems?
The nature of information partly explains why computer systems work. Computers store, process and move information, and information is a much more flexible and forgiving medium than garage doors. We can fiddle around with the rules for storing, processing and moving information until we get a recipe that works. But there is more to it than that.
The final part of why computer system work is their ability to repeat our recipes tirelessly. Computers can consistently and efficiently repeat the instructions we give them, and so apply our ideas to much larger problems.
This amplification allows us to develop small programs that do big things. In my example load program, I need to synchronize large, interconnected structures across two instances of the software. But although that is a big requirement, I only have to think through the rules for a single piece of data, and can rely on the computer to apply my recipe reliably to large and complex data sets.
As well as helping us deliver technically, computers allow us to amplify business ideas and exploit them in whole new ways. Take Twitter for example. There's nothing particularly clever about noting down a few thought for other people to read. But by using computers and the Internet, this simple idea is amplified into something which is not only much larger but different in kind. The simple idea of writing down thoughts has turned into a responsive and inclusive global news and opinion system.
When we think of how computers add value, we need to think of this amplification effect. I often write how computers are just machines that store, process and move information. But maybe I am guilty of oversimplification. Their ability to do this quickly, reliably and on a large scale gives a whole new dimension. Computers don't just automate our ideas, they make them bigger.Next: Problem density
Minimal IT: research, training, consultancy and software to reduce IT costs.