On June 20th, I’ll be presenting a talk at QCon New York on the subject of hypermedia APIs. While the title may sound a bit “heady” for some, we all deal with hypermedia on the Web every day. If you clicked on the links in the first sentence of this blog post, you were using hypermedia.
My role at Layer 7 is to help business leaders, developers and architects design, develop and deploy world-class APIs – ones that work today and will continue to provide value well into the future. While there’s a good bit of material on the strategic importance, drawing power and business opportunities of APIs, I think more information is needed on how to design and implement APIs that will stand the test of time. And that’s what my QCon talk will be about.
The Web was conceived as a “living” system that could easily accommodate new hardware, software and information. The Web’s incredible growth over the last 20 years proves a complex system like the World Wide Web can actually work in this way but it’s rare that an organization’s developer team is able to successfully design and implement an API strategy that exhibits these same characteristics. Too often, API implementations fail to account for the continued evolution and growth of an organization.
But this level of flexibility and reliability is entirely possible, using technologies and methods we already have today. The key to creating a powerful API, it turns out, is in the design of the messages sent back and forth between parties. Reliable and evolvable API design is based not on function calls and shared objects but on hypermedia-style messages.
Two years ago, I started work on a project to analyze and identify important hypermedia factors used on the Web. This work led to a formal definition of “Hypermedia Types” and the creation of a set of H-Factors that can be used in the design process for creating new, powerful APIs that have the flexibility, usability and longevity of HTML pages themselves. In 2011, my book Building Hypermedia APIs with Node & HTML5 was published and – in less than a year – the methodologies and techniques outlined in that book have begun to appear in API designs by Nokia Research, CloudApp, RStatus and others.
My talk will cover not only the basics of Hypermedia APIs but also some of the successes and challenges these (and other) companies encountered in moving from fixed RPC-style application interfaces rooted in local network application models to more powerful and extensible hypermedia-style interfaces that take advantage of the unique aspects of distributed networks and cloud computing.
For those looking not just at the immediate benefits but also the long-term value of a powerful API strategy, QCon is an excellent conference. There are dozens of great talks on all aspects of software development and I’m honored to be participating in this year’s event. I hope you’ll join me there and that you’ll stop by Layer 7′s booth to say “hello”.