Apps Are Machines That Provide Cognitive Advantage#
A machine is a device that provides its user with the ability to multiply force. A lever, for example, is a machine that allows us to multiply the vertical force we apply to lift a weight.
The wheel and axle allow us to multiply rotational force:
Applications are machines too. Instead of providing physical advantage apps provide cognitive advantage.
Apps are machines that provide cognitive advantage.
I posit that we've grown accustomed to software that divides our effort instead of multiplying it. Take Internet Explorer 8 for example. Released in March of 2009 the controls of IE8 took up more 15% of the screen in a typical 800x600 window. Later that same year Google, the masters of minimalism, showed us the way. They released Chrome (beta) which use less than half as much space, leaving room for more content.
Minimalism is our guide.
I gave this talk to a room of engineers working on some legacy software recently. The team lead interrupted me, "You can't just sweep complexity under a rug! Our app solves complex problems. Complex problems require complex tools. Humans need to be taught how to use those complex tools."
You can't just sweep the complexity under a rug!
I disagree.
To illustrate let's consider robotic arms. Not long ago programming a robotic arm in a high-level language was considered state of the art. What follows is code that initializes the interface to a robotic arm, sends a single instruction to a robotic arm, then closes the connection:
Fine motor control of a robotic arm is a complex task. A human must be trained to operate that machine, right? Wrong. In the video below you see Dr. Peter Kormushev of the Italian Institute of Technology teaching a robotic arm how to flip pancakes.
With the aid of modern machine learning and computer vision the robotic arm was able to learn how to perform this complex task without complex manual programming.
This machine learned to interact with humans using familiar kinesthetic techniques instead of forcing humans to learn to interact with it.
We will make technology that learns how to interact with humans.
This is the big idea. We will make technology that learns how to interact with humans instead of making humans learn to interact with technology. No more training. No more certifications. No more armies of implementation specialists.




