Beautiful UI? What about beautiful DI?

APIs are to developers what a great interface is to an end user. Like curb appeal for a house, these APIs should be beautiful and represent the rest of what you’ve built. So why don’t we focus as much on creating beautiful Developer Interfaces (DI) as we do on User Interfaces (UI)?

Most of the points I’ll make here focus on REST APIs, but could easily extend to an Interface in Java, or a .h file in Objective-C. In all APIs, much of our time should be spent agreeing on, polishing, and simplifying our interfaces before we publish them to the end customers; in the case of REST APIs, these end customers are other developers. 

Here are the high-level bits which contribute to a great API:

Here are some reasons for spending time on API design and documentation:

At the end of the day, the API is the only thing a developer (your API’s customer) will see of your work. They won’t likely have access to the details behind, and really don’t want to be in the business of caring how it was implemented. They want to have something that’s easy to understand and feels like a powerful tool instead of something they fight against. They want to be inspired to build incredible features, quickly. Regardless of whether you’re writing this API for internal company use, or 3rd party developers, we should all be shooting for accessible, easy to leverage, consistent and beautiful APIs. Just as we care deeply for creating beautiful user interface experiences, we should also be striving for incredible developer interface experiences. 

Save a Developer today, start, or continue, caring about creating exceptional DI (Developer Interface), just as we do UI (User Interface).  


Now read this

My simple view of web app architecture: Thin Server

What follows is by no means a novel approach to building web apps. It just happens to be the way which I believe allows us to build them in a manner that’s fast, flexible for the future, and mobile app {native or web} friendly. I’m... Continue →