10 Designing user-friendly, interoperable operation flows
This chapter covers
- Designing concise, error-limiting, flexible flows
- Designing flexible data-saving flows
Imagine that buying 10 copies of The Design of Web APIs using the shopping API involves searching for products, listing promotions, merging these two operations’ data to show accurate prices, adding the product to the cart 10 times, and failing to check out due to insufficient stock. Such an operation flow leads to a cumbersome experience for developers who are creating applications that consume the API and also for their end users. Even built with user-friendly, interoperable operations, the flows needed to achieve use cases can be complex, require heavy data processing to transform previous output data into the following input, or lead to complex and inflexible UI flows. Optimizing API operation flows can limit such annoyances and ensure a smooth experience for developers and end users.
This chapter examines what makes operation flows user-friendly and interoperable and explains when and how to optimize flows to take these concerns into consideration. We then illustrate how to optimize a flow to make it concise, error-limiting, and flexible so that it is easily usable in various contexts and minimizes effects on consuming applications and end users. Finally, we show how to optimize a flow to enable flexible partial and one-shot complete data saving.