HATEOAS (Hypermedia as the engine of application state) is an essential but often overlooked / ignored constraint of the REST architectural style. Its importance is not that significant if you’re going to define some APIs for one-time use, i.e., the benefits will only gradually reveal over time. So I draft a simple case study of a sample online order management service to show why adopting HATEOAS is so important for minimizing maintenance cost and ensure backward compatibility.
It all started the other day when I was trying to explain the difference between RPC & REST to colleagues. I used “dumb phone” vs. iPhone to illustrate my points, which was well received. Then with more ideas popping into my head, I decided to visualize them all and share with others.
Some statements in the slides are arguable, e.g., I love the Pianist application, truly. But I just couldn’t imagine typing on the screen all day Anyway I deem the content should be very helpful for better understanding of REST as well as UX by changing perspectives.
BTW: I am an iPhone lover, but not iPhone user, yet. So some observations about iPhone might not be 100% correct. And I hope to touch deep into iPhone OS developer experience soon.