REST and hypermedia has a lot of benefits but they significantly complicates building both the client and the server API, thus useful only in some scenarios Jimmy Bogard states in a series of blog posts highlighting what’s needed to get a full hypermedia solution from server to client including choosing a hypermedia-rich media type.
To take full advantage of the benefits of hypermedia driven systems, the client must allow the server to take the lead and drive the state of the client, Darrel Miller writes comparing with a couple who can dance, one leads and the other just follows, there is no a choreographed sequence of steps defined beforehand.
Mike Amundsen, author of "Building Hypermedia APIs with HTML5 and Node" and "RESTful Web APIs", has recently announced a new media type design that he's been working on. It's called UBER hypermedia, which stands for "Uniform Basis for Exchanging Representations."
Software developer Evan Cordell initiated a debate about how the hypermedia constraint of REST is at odds with common web APIs requirements in the API-Craft mailing list a few weeks ago.
Amazon has released a new API, the AppStream API, which allows you to programmatically manage apps hosted on the Amazon AppStream platform. For this API, they chose to build it with the HAL media type. HAL is a minimalist hypermedia enabled media type for building machine-to-machine APIs. Amazon is one of the largest organizations to choose hypermedia as a technique for a public-facing product.
"Don't version unless you absolutely must, and it is rare that you absolutely must" says Mike Amundsen in a series of API design workshops he held recently. Amundsen describes the "USE" paradigm for API design focussing on usability, scalability and evolvability. He describes the three most common styles of API implementation and how they compare to these principles.
As the title suggests, in Best Practices For HTTP API Evolvability, Benjamin Carlyle, set out to define priciples and practices for designing systems, that are built around HTTP API’s. Systems, that are extensible and can evolve over time.
In a recent post Mike Amundsen writes about building evolvable systems where he expands on his presentation "Beyond REST : An approach for crafting stable, evolve-able Web applications". The question he hopes to answer in the presentation is "How can we design and implement distributed network solutions that remain stable and flexible over time?"