Upgrade to Pro — share decks privately, control downloads, hide ads and more …

apidays Paris 2024 - Five Essential Design Asse...

apidays
December 22, 2024

apidays Paris 2024 - Five Essential Design Assets for Successful APIs, Mike Amundsen

Five Essential Design Assets for Successful APIs
Mike Amundsen, Author of "Design and Build Great APIs", API Strategist & Advisor - amundsen.com, Inc.

apidays Paris 2024 - The Future API Stack for Mass Innovation
December 3 - 5, 2024

------

Check out our conferences at https://www.apidays.global/

Do you want to sponsor or talk at one of our conferences?
https://apidays.typeform.com/to/ILJeAaV8

Learn more on APIscene, the global media made by the community for the community:
https://www.apiscene.io

Explore the API ecosystem with the API Landscape:
https://apilandscape.apiscene.io/

apidays

December 22, 2024
Tweet

More Decks by apidays

Other Decks in Programming

Transcript

  1. Design Assets Design assets are any digital resources that are

    created or used in the design process. -- Uxcel https://app.uxcel.com/glossary/assets
  2. API Story "Every great design begins with an even better

    story." -- Lorinda Mamo https://womenforwomen.com.mt/lorinda-mamo/
  3. API Story "Every great design begins with an even better

    story." -- Lorinda Mamo https://womenforwomen.com.mt/lorinda-mamo/
  4. API Story • APIs start with a story ◦ "We

    need…" ◦ "Our customers requested…" ◦ "I have an idea…" • Stories are shared understanding ◦ Our brains are wired for stories, not data ◦ Stories are accessible ◦ Stories are repeatable
  5. API Vocabulary "Vocabulary is a matter of word-building as well

    as word-using." -- David Crystal https://en.wikipedia.org/wiki/David_Crystal
  6. API Vocabulary "Vocabulary is a matter of word-building as well

    as word-using." -- David Crystal https://en.wikipedia.org/wiki/David_Crystal
  7. API Vocabulary • All the "magic words" related to the

    API domain • Not just the properties: ◦ id, givenName, etc. • Also : ◦ Actions (create, approve, save, etc.) ◦ Enumerators (status.active, status.inactive) ◦ Containers (item.id, item.givenName, etc.) ◦ Resources/Topics (home, collection, item)
  8. API Diagram • Visual representation of the API • Not

    .. ◦ a state diagram ◦ a flow diagram • An interaction diagram
  9. API Descriptions "Science is descriptive, not prescriptive; it can tell

    us about causes but it cannot tell us about purposes." -- Jonathan Sacks l https://en.wikipedia.org/wiki/Jonathan_Sacks,_Baron_Sacks
  10. API Descriptions "Science is descriptive, not prescriptive; it can tell

    us about causes but it cannot tell us about purposes." -- Jonathan Sacks l https://en.wikipedia.org/wiki/Jonathan_Sacks,_Baron_Sacks
  11. API Description • Why "Descriptions"? ◦ The complete design in

    one place, in one voice. • Who uses descriptions? ◦ Architects, Designers, Developers, Test, Security, etc. • Time Traveling w/ descriptions ◦ Options for the future, replays for the past • Interaction-centric and Operation-centric
  12. API Definitions "Most controversies would soon be ended, if those

    engaged in them would first accurately define their terms, and then adhere to their definitions." -- Tryon Edwards l https://en.wikipedia.org/wiki/Tryon_Edwards
  13. API Definitions "Most controversies would soon be ended, if those

    engaged in them would first accurately define their terms, and then adhere to their definitions." -- Tryon Edwards l https://en.wikipedia.org/wiki/Tryon_Edwards
  14. API Definition • API definitions translate design into implementation •

    API definitions are implementation-specific ◦ OpenAPI (HTTP) ◦ AnsycAPI (Event-Driven) ◦ ProtoBuf (gRPC) ◦ SDL (GraphQL) • Usually API definitions power "generators" ◦ Code ◦ Diagrams ◦ Documentation