2006-05-30

Software is worthless

What is the value of software? The expense of software is easy to see, you must spend money on labor to produce software, to test it, and to maintain it. Where is the value?

Certainly, you spend money on software when it comes in cardboard boxes. Does this imply the value of software? No, that is only what you are willing to pay for software. What about software that lives on a website that you use, does that have value?

Software costs us to create it, but it is without intrinsic value. Why do we make such a thing then? The value of software is in its utility. As long as a task can be completed using a piece of software then the software has utility. The value of the utility is completely independent of the cost of creation for the software.

Some companies have traditionally tied the value of software to its production cost. These companies will estimate the number of boxes with software in it they can sell and amortize the cost of the production of the software across the projected sales. This leads to amazing profits when sales exceeded the projections.

The realization that software is itself worthless prompted other companies to adopt a subscription model. These models rely on some consumable that must become obsolete in a predictable time frame. The concept of a digital consumable is clearly counter the infinitely reproducible nature of the digital world.

With the maturation of the internet software companies have begun to sell the utility of their software components as services. Data is transmitted out to a service, transformed at the service, and received back by the client application. The elements that are charged for are now the transmission, reception and the processing. This is more at ease with the natural order of digital systems but it still is suffers from some ambiguities.

The processing of the data at the service end represents two elements of value. Firstly we have the utility of the software that performs the mathematical, linguistic, or heuristic transformation and this is the value of software. We also have the problem of the computation. The service executes on a computational strata and this strata has a utilitarian value independent of the utilitarian value of the software. When paying for the service is the user paying for the software or the computation? Is there an important distinction?

Software is worthless when it sits on a medium inactive. The software possesses potential utility and the value of this utility is independent of the value of the computational device that might execute it. The software's utility can be actualized on any compatible device and that property divorces its value from the value of the device.

The computational device certainly has a value independent of the software. The hardware can actualize a variety of software utilities and therefore has a value in that function. Along with the wonderful distinction of actually being a physical object and therefore being imbued with all the properties of a real object.

The problem with the application service provider model or software billing is the not quite unnatural coupling of the computational utility and the software's utility. This leads to a class of problems dealing with security, privacy, and continuity of service. The client of the application service provider now requires assurances about the security of their data in transit, the privacy or confidentiality of the data at the service end, and the continuity of the service over time.

To date the application service provider model provides one of the best matches between utility and value in software systems. We can spot some ambiguity in this model and a few invented problems, but, it is still a much better fit than the shrink wrapped box model. To get a better fit than this we might consider something very radical.

If we didn't charge for the software at all there would be no disconnect between the utility and value of the software. No charges, however, means no profit. No profits means no next generation of software. To overcome this problem we introduce profit back into the software business by introducing support services.

The free software and pay-per-trouble-call services means that you don't make money of the value or utility of the software anymore. The software becomes a platform for building a service company on top of. If the utility of the software matches demand then there will be call for services. The problem is that there is an great deal of force on the software provider to make certain that there must be a call for services.

The disparity of demanded utility versus the need for service calls can cause a software vendor to develop a product that while not flawed is unwieldy. The drive for simplicity of administration is removed from the software. The impulse to create easy to administer systems found in the shrink wrapped model of software business is there because in that model service calls are a drain on profits. In this model they are revenue. The company walks a knife edge too good and you don't get called enough, not good enough and you don't get used and then you don't get called. Fortunately, most of the energy of start-ups in this model is spent on getting good enough to get used.

There must be another model out there. One that gets the developer paid for finding the way to fill the utility that people want. There must be a way to fill utility and get paid for filling that utility without charging for shrink wrapped boxes or rented computational power. I'm not sure what that model is yet.

2006-05-23

Information Technology

Information Technology has existed ever since humans began writing things down.

2006-05-21

The word

The word is a powerful invention. With the word it is possible to refer to a thing without the physicality of the thing. So powerful is this ability to refer to things in the abstract that it leads to another form of existence for whatever it is we are talking about.

Imagine a world without words. In this world you can only point to an object. You can only learn by example. This is a short lived world. Each generation must learn over the lessons of the past generations. But if you have words, things are different.

When an idea is attached to a word, the idea's own existence is liberated from the single mind which created it. The idea can now be spread to another mind. This transfer of knowledge between minds is the birth of society because now knowledge need not die with the individual.

The better we construct words and build languages the more powerful and complex the ideas that we can transmit. Eventually, humans sought a method to store information outside of the speaker's mind in a way that would persist even if nobody could remember what the speaker had said. We invented the written word.

The written word had the power of the spoken word and it did not die on the wind. The written word could persist and could be replicated with exacting precision because it had a true atom. The written word could be replicated with such accuracy because it was composed of "digital" components called characters. Generations upon generations could copy the written word exactly without alteration as long as they adhered to the same character set.

As humanity built upon its ever more complex heritage of thoughts and ideas it built for itself mental devices to help organize ritual games of thought we might call mathematics. We found ourselves faced with describing things that were extremely abstract and yet very real in their own right. Mathematics enjoyed a time where it was seen as much as religion and spirituality as it was a tool to understand the more complex limits of human understanding.

In time we formalized these mental devices, augmented them with physical devices such as the abacus and mechanical calculators. And, finally, in the last few hundred years we have built for ourselves machines that could encompass in their behaviors all the rules of some systems of theory. We built for ourselves machines that we could speak to, machines that would react to what we spoke to them, and would follow whatever rules we laid out for them in a pantomime of human thought.

We created the computer, a machine we speak to, a machine that holds ideas.

Currently, the pinnacle of human achievement the computer can only now mimic the thoughts of the persons who speak their specialized languages. These languages are devised in layers to compile or break down from a human readable language to a machine language. In the same way a written word can be reconstituted to form a spoken word and become a thought in a new mind.

In the way that the spoken word gave birth to society, the written word gave birth to civilization, the computerized word will give birth to something equally profound. The spoken word allowed a person to communicate a thought to another person. The written word allowed a person to persist a thought beyond the immediately living sending that thought through time. The computerized word allows a person to communicate a thought outside themselves, through time, and think it inside the machine.


The word is the vessel of ideas. The written word is the preservation of ideas. The computerized word is the execution of ideas. Idea become reality independent of the thinker.

2006-05-19

There has never been anything like Software

I am not the first to note that there has never been anything quite like Software before. I may be one of the few that would contend that the advent of software is as significant to human history as the advent of the written word. I believe that we are only just beginning to see the impact of what software is on human society.

This blog will be about my personal journey with software.