The API-Centric game: be ready to be Player One
Just like video games, we all enjoy some good old’ fashion web product engineering although nowadays you probably won’t take the risk of releasing an 8-bit gaming console offering solo adventures only in a world where 4K UltraHD connected smart TV are queens. At dailymotion, we believe that going 100% API-centric is a key decision to become the next-gen playing system.
From level-1 to final boss
For 20 years developers have tried to decouple data from representation using such as MVC design pattern, a technique which allows page-based flows to be efficiently engineered to ease system maintenance. It also helps people develop specific skills and has created new job positions ranging from front-end and back-end to full-stack engineers.
But this decade has bought on its own new challenges. Because people have turned to mobile, content needs to be more accessible, available through new layouts, on different platforms. On the other hand, complex & distributed backend systems built as stateless micro-services for easier scaling have started to surface, often in cloud providers.
It’s hard to scale a system designed to produce such varied presentation layouts and satisfy different consuming platforms while maintaining a coherent information system in one software.
If we can draw a modern app requirements checklist, it would look something like this:
- Multiple, flexible & complex user interfaces that run entirely on the client side (SPAs, Native mobile applications, TV apps…)
- A constellation of multiple internal systems & external services used as back-ends.
- Since our business requires external services to access our internal data, we need to give our users the ability to grant access to our personal information.
As a leading video discovery & technology destination, it’s not surprising to see dailymotion constantly challenge and embrace technological progress in order to stay one step ahead of the game.
Ditch the dusty joystick
Here is the API-centric approach to product development. You code once and simply open the door to distribute the information on each one of the channels you want to cover. Instead of having only products targeted to humans, we focus on building an intermediate communication interface which any platform or external service is able to use.
You can of course build your own products on top of APIs to target a specific segment or purpose, but don’t shut out other business opportunities by letting other companies or partners build their own products on top of your information system.
Our API is our new core product, and all designs have become simple extensions of this core interface. Being API-centric is to build an entire business model around this method.
It allows us to define a common and stable interaction with the whole of dailymotion’s information ecosystem. By embracing flexibility, both on the front-end (consuming side) and back-end (sub-services side), we have entirely re-built the dailymotion user experience across all our platforms and concurrently built a new geo-distributed GraphQL API on a highly scalable hybrid multi-datacenter architecture.
Chances are, your company won’t need to make massive changes like we did. But becoming API-centric will definitely let you initiate multiple UX experiments on a subset of your products without breaking the other ones. You can also tweak your back-end services without ruining the experience of your users.
Building an API as a real core product of your company can be quite challenging. Like any other product, it won’t function if you forgot to consider every aspect of the product lifecycle:
- Requirement gathering: Your API will be at the center of all you and your partner’s business needs. Being able to clearly identify what problems your API will solve and how it will behave is as important as drafting end-user interfaces.
- Engineering: Crafting a well-designed and performant API will allow you to deliver data efficiently across your digital channels. Moreover, your partners will expect your API to become increasingly reliable and stable over time.
- Marketing, communication and community management: If you decide to go all-in and open your API to the world, then you probably should allow resources to actually spread the word and help people understand how your product can benefit them. No one will use your product if you can’t give it exposure.
- Documentation & customer support: Integrating your API inside external products shouldn’t be rocket science. Supporting users from the beginning of their adventure and being present along the way if they encounter problems is crucial to the success of your product.
- API evangelism & coordination: Last but not least, choose a skillful conductor to connect different stakeholders: developers, architects, business managers, partner account managers, communication managers, support agents, etc. Adopting an API-centric approach in a company requires a fine coordination between every parties in order to deliver a coherent project at the end.
A collaborative Easter egg hunt
We often hear about a new kind of internet where people connect with each other through increasingly clever technical ways: decentralized internet, peer to peer data exchange, blockchains… At dailymotion we strongly believe that this evolution could become a real revolution only if we collectively choose to rethink how companies work together.
The goal is quite seductive: what if the future of the tech industry is to go beyond company walls? What are the long term benefits from cross-company knowledge and data and how does it build more powerful products with extended added value for end users? A “planet-scale API Centric technology business”?
This is not utopian or dystopian. We’ve already seen multiple actors open their data and re-build their entire product lines with open APIs at their core. This is why we’ve put so much dedication into building a top-notch technological stack. We’ve hired the best talents and focused on staying an API-first company at dailymotion.
We want to inspire others around by explaining how we create awesome features for our end users, maintain our engineers’ happiness and how we intend to keep the door open to great third-party collaborations in the 20 years to come.