contact us

Use the form on the right to contact us.

You can edit the text in this area, and change where the contact form on the right submits to, by entering edit mode using the modes on the bottom right.


Chicago, IL
United States

This is a place for me to dump my occasional musings. Most of them will be about technology and software development but there might be the occasional random topic.

My hopes are that this blog will make me a better communicator and a better developer. I hope that at least a few people stumble across it, a few of those actually read it, and that a few of those gain something from it.

 I want this to be a learning tool for myself and others, so if you can add something to the discussion please comment.

Moore.su

A software engineer, technologist, and aspiring entrepreneur. Currently spends his days coding coupons and the color green at Groupon.

Multicellular Economics and the Mechanization of Cooperation

Matthew Moore

Everything As A Service

It seems that you can get just about everything as a service today.

Need a software platform but don't want to build one? Heroku, dotCloud, Azure, and countless others have got you covered.

Ok with building your own software platform but not a datacenter? AWS, Rackspace, Linode, and a half-dozen more come readily to mind.

Need to mail or print something but hate licking stamps and unjamming the printer? Never fear, Lob is here!

Hell, you can even get employees as service with things like Mechanical Turk and CloudFlower.

All of these companies sell pretty distinct products but I would argue that at a more fundamental level they are all selling the same thing and they are not doing anything new, only imitating a pattern that someone else invented a very long time ago. By looking at the what the original inventor of this pattern has done we can gain valuable insight into what the future looks like.

Why is Ignorance Bliss?

Ignorance is bliss because knowledge is misery; let me explain.

When creating a system to solve a problem engineers, regardless of their field, are faced with two type of complexity: intrinsic and incidental.

Intrinsic complexity is complexity that is inherent and irremovable from the problem at hand. For example, when designing a system to remove oil from the earth there is no way for the engineers to remove the need to pass through several kilometers of earth to reach the oil.

Incidental complexity is complexity that is introduced by the implementation of the system solving the problem. Continuing with our oil example, all of the drilling equipment is an incidental complexity. The complexity of maintaining a drilling rig was not introduced until we used it to solve our original problem, getting oil out of the ground.

When I fill up my car with gas I don't want to be required to possess all the knowledge required to get that gas from its crude form into the highly combustible form I need it in. I'd rather be blissfully ignorant of that and only be required to understand my interface to that resource, the gas pump. I'll come back to this analogy later but for now let's circle back to those As-A-Service companies I mentioned earlier.

Selling Ignorance

The product they are really selling ignorance or rather they are selling you something that allows you to still accomplish your goal while being ignorant to the complexity of some part of that process. For example, AWS allows you to be ignorant to the ceomplexities of running a data center and Lob ignorant to complexities of printing and mailing.

Functional Specialization

Functional specialization is something that all of us are familiar with even if we've never heard it called that. We interact with dozens of functional specialists everytime we leave home and you are probably one yourself.

The most obvious examples of people who are functional specialists are those who have their specialization in their job title. Bus drivers, auto mechanics, mailmen, airline pilots, music teachers, and software engineers are just a few examples of the many kinds of specialists that we have in our society.

We humans specialize because it is advantageous to do so. We accomplish far more as a collective of specialists than we ever could if everyone was a generalist. But before get too full of ourselves, we didn't invent this idea, we copied it from mother nature.

Totipotency

Cell potency is the terminology biologists use to describe the ability of cell to differentiate into a new, specialized, kind of cell. Cells with the highest potency are called totipotent and they can differentiate into all the different kinds of specialized cells and form very complicated organisms capable of doing far more interesting things than a single celled organism like a bacterium.

Just like the cells that differentiate and eventually form our bodies, we are totipotent members of society. Each one of us has the potential to differentiate, specialize, and fill a societal need. Humanity stole this idea from mother nature who had been using functional specialization for billions of years; multicellular organisms are the ultimate example of functional specialization.

We, humanity, reached the analog of cellular differentiation somewhere between 4000 B.C. and 5000 B.C. in Sumer, where we have the first records of the division of labor among specialists.

Morphogenesis

Morphogenesis, latin for "beginning of the shape", is the biological process that differentiated cells undergo to arrange themselves into the organs and structures that make up complicated organisms. All of the cells that specialize in transporting get together and form the circulatory system and all of the cells that specialize in data processing get together and form the nervous system.

Humanity imitated morphogenesis in the late 16th and early 17th century with the invention of the corporation. The most iconic example of this was the East India Company founded in 1600. Corporations gather together specialists into groups to be able to perform even more specialized tasks by allowing individuals to become hyper specialized. For example, a sailing specialist becomes a specialist at sailing between India and the Cape of Good Hope making trips faster and more profitable.

We have come a long way since the East India Company but I think we have only now just finished our "morphogenesis"; so what is next?

Maturing

As an organism matures, the separate organs organs that are made of differentiated cells take a step back towards unification. A side effect of being a specialized cell or organ is that you depend on the other specialists to do what you no longer can for yourself. You need to be able to communicate things like, "I need more oxygen" so that you can get what you need.

To accomplish this communication you body has an incredibly complicated set of signals and feedback loops that communicate the state and needs of various parts of your body to all the other parts, a chemical code. Despite all the complexity of the system as a whole each cell need only understand the signals it needs to send and the ones it needs to respond to.

gas_pump

Back to the Gas Pump

The gas pump is my interface to a resource that I need to accomplish my goal, let's dig a little more into that interface.

First, it is standard. The gas pump interface is more or less the same whether you fuel up at Shell or BP.

Second, it is a simple abstraction that hides complexity. I don't need to understand how the oil is found and brought out of the ground, how it is refined, how it is transported, or how it is stored below ground before I pump it into my car.

The modern gas pump replaced station attendants that were necessary before because the older pumps weren't as simple or standardized and had no way to collect payment; the modern gas pump is better solution to the same problem. We've seen many examples of this interface improvement as a form of automation at the consumer level over the years with machines like the ATM, vending machine, and the telephone, but only now are we starting to see this kind of automation at the level of corporations.

API: The Digital Interchangeable Part

In 1801 Eli Whitney went before the US Congress with 10 guns he had manufactured using identical parts. He disassembled them, mixed all the components together in a pile and then reassembled them all into working firearms. Congress was so impressed with the demonstration that they ordered all US military equipment be standardized. The advantage is obvious, if a part of something breaks it can be replaced with another identically functioning part instead of having to discard the entire device.

The interface is all that matters to the user of an Application Programming Interface (API); they can be ignorant of the complex inner workings. We can swap out components behind that interface or even switch to an API from by an entirely different provider. As long as the interface remains constant we can be confident that the system will continue to work, just like Eli Whitney's guns.

APIs are the interchangeable part of the digital world and just like the interchangeable part drove mechanization of manufacturing the API will drive the mechanization of cooperation. The API will become the standard method for business to business cooperation.

Mechanical Cooperation

It used to be and often still is the case that when to organizations want to purchase a good or a service from another there is a time consuming manual process required to make sure that each party understands the others needs, when they are needed, and payment is arranged. This manual interaction, much like the station attendant, will soon be a thing of the past.

With increasing frequency companies are exposing their goods and services via APIs; codifying their business processes and increasing efficiency and speed. These APIs will evolve to be like the gas pump, small differences in the interface but not in very significant ways, minimizing the friction for businesses to switch from using solution provider to another. This decreased friction will encourage competition and foster innovation for the mechanisms behind these APIs.

Higher Function

Just like the cells in our bodies became more complicated and higher functioning by differentiating, organizing, and codifying communication so will humanity itself. The ability to handwave over entire processes and instead interface with an API will lower the barrier to entry to almost every market and allow for innovative new businesses to be created with ever increasing speed.

This has been going on in the world of software for sometime; one need only look at the sheer volume of new business being born and dying in Silicon Valley every day to see this. As software eats the world and APIs become the standard business interface this rapid innovation and commoditization of common problems will apply to every industry, no exceptions.

We will be able to conceive, design, and build things on a higher plane of thought because the details have been turned into building blocks that we need only snap together, remaining ignorant of their inner workings.

Buckle Up...

So brace yourselves, we are on the verge of another surge in technological innovation and like every technological revolution that has come before it won't be without its bumps. Entire categories of jobs will be destroyed and replaced by new ones.

..but Smile

It will end like all the other too, we'll make it through and be better for it.

I'll leave you with this quote:

"Everything should be an API." - Steve Van Roekel, FCC Director