The array of complex options available to us reminds me a bit of when I first got into backend web programming in the early 2000s and the various API schemes that I was told I needed to learn out to use. The ones that come to mine are XML-RPC and the even more complicated (and supposedly better and more robust) SOAP. You could hardly think about talking to another server without the help of a library to navigate the nuances of the protocols. It was complicated mess of tag soup… but that was just the way things had to be, right?
Then REST came around, along with terms like Plain Ol’ XML. Simpler formats like YAML and JSON started being used. We started using the technology that we had in front of us—in this case HTTP verbs—appropriately and the way it was intended to be used. At first people said that it was too simple and that we’d never be able to create rich APIs with such a simple, limited toolkit. But we’ve been doing just that for ten years now and guess what…? Our APIs are simpler to interact with and simpler to maintain.
We need a similar thing to happen on the web. We need to look at the tools we have available to us, start using them properly, and take advantage of our toolkit is good at and stop trying to coerce into something that it is not. There are a lot of people talking about this (Jeremy Keith has been on this well before this was as big of a problem as it is) but we need more people doing. We need to show more people what the web is good at. I plan to part of that group, will you?