Throughout most of my career as a Software Engineer, one constant trend I have seen has been the increasing need to provide context to technical solutions and how to adapt a business requirement to technical limitations. Sometimes the tool was not mature enough to accomplish what was wanted, and a bargain was struck on what was feasible in the short term using the tools on hand. Other times the tools might have existed, but the solution was prohibitively costly in time, money or both. There were countless other causes as well, but the crux of the issue was business was bending towards the will of technology, because computers don’t work the way humans do. It was becoming my job to explain, convince, cajole, and bargain an adequate solution to a requirement instead of working towards the right solution.
History has shown tools which have provided even a small portion of the right solution, have enjoyed vast success by allowing the technical problem to be circumvented to deal with the business requirement. WordPress, the very software this blog is running on is testament to the wild success a human tool can achieve when released into the wild. Salesforce.com has enjoyed massive growth and penetration, despite being largely disliked by the technical community because it satisfies real business needs in a more human way. As a developer who held a salesforce certification as a requirement of employment for a consulting company, I know how painful the experience can be for developers, but I was also able to see how well loved the platform was by users who leveraged its power with great success.
It is absolutely vital to take the next step in APIs that we don’t lose sight of the human perspective. We must internalize the lessons of past success and push towards a human centric API space. We are poised to fundamentally alter the course of human history. Soon we will be able to build distributed systems upon other distributed systems, laying the groundwork functional composability on a unfathomable scale. All of our success hinges on how many people can participate in building these new systems, and involve the most people we need to make our APIs as human as possible.
Every realized dream started with a crazy vision, beyond the realm of possibility and slowly materialized. My vision is to humanize the API space, open the floodgates to the population, and allow everyone to participate. This is where I am pushing, and with my guidelines for hypermedia web APIs, this is just the beginning. The story I am going to tell is a story of inclusion, and I intend to include as many as possible.