API-first design allows you to deliver a consistent User Experience across multiple platforms.
I’ve been thinking a lot about new processes of late. We’re constantly thinking design “content first” – but in digital product design, why not design API first? It’s like designing content in it’s rawest form and provides a perfect guide for future work. APIs and Information Architecture are closely linked, in some ways they’re the same. If you don’t understand one you can’t fully understand the other.
In User Experience terms it gets your team thinking about actions, not interfaces and establishes a data driven product. In an Agile environment this approach would also minimise technical debt as you iterate.
- Simplicity – it’s the most logical place to start and to organise your content types which would lead to…
- Consistency – all objects within your application are defined and controlled in the same way creating a solid…
- Structure – all objects and their relationships with one another are organised in a tree.
Hopefully I will be able to expand on this thinking with some practical examples as a project I’m working on develops. In the meantime here are some interesting articles and links on the topic or related principles supporting an API-first approach.
- “Design interactions on top of your API, not the other way around.” — api-first.com
- How to Design a Good API and why it Matters — youtube.com/watch?v=a…
- Creating an API-Centric Web Application — net.tutsplus.com/tutorials/php/creating-an-api-centric-web-application/
- How the Guardian built their API empire – a very brief discussion with Martin Belam on twitter supported this thinking and lead to this interesting article: Domain Driven Design in an Evolving Architecture