Think as UX: OpenSooq Designing APIs

The user experience (UX) is what a user of a particular product experiences when using that product. A UX designer’s job is thus to create a product that provides the best possible user experience.Designers spend a decent amount of time to make sure that they make every interaction, every UI element as delightful as possible. Reflecting this on The APIs, designing APIs using concepts and processes which are used to design beautiful User Experiences, make these API’s easier to used by the end client’s and it provides great experience to them.

Design is not just what it looks like and feels like. Design is how it works. — Steve Jobs.

On opensooq The API UX is mainly processes -the processes that we use to make sure that our API design is valuable , desirable and usable to the API Clients. It is not just about providing a data , We make sure that in the design process all stakeholders are involved so that there are no sudden surprises towards the end. We also do enough research, testing and prototyping to make sure that all the ideas we are generating, those resonate with the target API clients. onate with the target API clients.

. . .

Opensooq API Life Cycle

API life cycle in opensooq contains a set of stages like Designing, Debugging, Automated testing, Documenting the API, Monitoring and Publishing the API so the end clients can start consuming it. So the Designing step is the first and most important step in API life cycle, giving this step enough time , it will avoid us to building the wrong API , or API in the wrong way , also changes made to the API in this stage are easy and cheap to perform.

. . .

Design an API with a great UX

To make sure all our APIs that we design follows a consistent pattern, and when new people joining our team do not reinvent the wheel of making design decisions about API, we have a process of API design similar to the one UX designers employ. In order to design an API with a great UX, we follow the usability rules defined by Peter Morville known as UX Honeycomb which is rules for UX

The UX Honeycomb

Let’s talk about the above rules from opensooq point of view

1. Useful: Every opensooq API created for a specific purpose , to make it useful for the end clients. Like listing API, the purpose of it return list of posts.

2. Usable: We make sure that our APIs are easy to use , we don’t but a lot of attributes to start using its functionality. On listing API end client can start using it without any parameters , or they could send simple parameters to get more specification response.

3. Desirable: We Make sure the API functionality return what the end client expects. For example on listing API the end client expect list of posts with title and description and image and price.

4. Findable: API documentation is very important , and this...