Part 2 User-friendly, interoperable API design
Designing a reusable API that does the right job is already an outstanding achievement. However, we can enhance our design so developers and their consuming applications can use our API quickly and seamlessly without complex thinking and coding. This will increase developers’ productivity and make them feel as though they have superpowers. For instance, it could be unnerving that with the SOCNET API, adding a friend requires a user ID, whereas sending a message to a friend requires a friend ID, although they represent the same concept: a user. We must also ensure that our design contributes to building an outstanding end-user experience; for instance, we don’t want end users to face an unhelpful error message like “Can’t create the account.” The icing on the cake is that handling all these concerns increases the reusability and flexibility of our API.