APIs explained for humans

You are a human. This makes you rather slow and dim witted. Unlike computers, which are fast and smart.

Imagine a website whose only functionality is to give you a random number. Because you are squishy, the website has to give you a User Interface (UI). This consists of a button. Once you press the button, the website displays your number.

Now imagine you are a computer. You have no need for silly buttons. Instead, the website can give you an Application Programming Interface (API). When you send a message to an endpoint (computer language for button), that endpoint messages you back with your number. Much more efficient than buttons.

We can make the API do everything that we can make the UI do. For example, if you want to specify a range of numbers, the human would enter these in input fields. The computer would give them to the endpoint. If we want to add a button that gives you a random color, we can add an endpoint that gives you a random color.

APIs are better than UIs in every way except one: they are hard to use for humans. This is why we make UIs for tasks that have to be done by humans, and APIs for tasks that can be done exclusively by computers.

Desired net vector

What follows is an oversimplification, but that doesn’t make it entirely invalid.

All models are wrong, but some are useful. // George Box

The output of any team in an organization can be represented by a vector. It is comprised of:

  • The quantity and quality of work produced (distance).
  • The degree to which that work contributes to the organization’s larger strategy (direction).

Too often an organization’s leadership will assign teams conflicting vectors. This may result in each team producing stellar individual vectors, which unfortunately contribute nothing to or even detract from the organization’s larger strategy. The vectors cancel out.

 

 

The organization’s leadership should instead work to define and communicate the larger strategy, mathematically represented by its desired net vector. Only then are teams empowered to produce work that contributes to that strategy by making sure the direction of their vector contributes to the organization’s desired net vector.

 

 

When forced to choose, teams should prioritize directional alignment over total distance.