Wikimedia Technical Conference/2018/Session notes/Determining use cases and requirements for the APIs that we build

Questions to answer during this session edit

Question Significance:

Why is this question important? What is blocked by it remaining unanswered?

Which client “UIs” do we support with our APIs?
  • How can we support apps, mobile and desktop use cases?
  • What about upcoming platforms (watch, voice-enabled devices, VR, etc.)?
  • Any others?
We want to identify as many potential use cases for our APIs as possible, new or upcoming. These varying use cases constrain possible solutions.
What data should be decomposed and exposed through APIs? How will data be composed into rendered HTML or other UIs?

Any considerations regarding:

  • Where does localization of data (e.g. dates) occur?
  • What about authenticated vs unauthenticated users?
  • What about low bandwidth/intermittent network environments?

Are there any exceptions to decomposing data in this way?

A decision on this workflow is required in order to make decisions on implementation and supporting technologies.

Example pages that can’t be decomposed cleanly: maybe some special pages

To support existing clients, what technologies do we need given the API first and data first architecture? The level of support required for existing clients must be decided so that a solution can be architected. Trade-offs will need to be made in order to support existing clients while still providing support for advanced modern use cases.

Questions and answers edit