SlideShare a Scribd company logo
1 of 81
Download to read offline
Twitter: @apihandyman
Blog: https://apihandyman.io
Book: https://bit.ly/designwebapis
(use code ctwnopp19 to get 40% off)
PART X
Part Title
PART 1
Why API
Design Reviews?
When you attempt to influence
someone [...], the DM might ask you
to make a Charisma (Persuasion) check
Dungeons and Dragons Player's Handbook
PART X
Part Title
PART 1
Why API
Design Reviews?
When you attempt to influence
someone [...], the DM might ask you
to make a Charisma (Persuasion) check
Dungeons and Dragons Player's Handbook
Persuading audience failed
Character sheets
Donan The Designer
API Designer Level 2
Rena The Reviewer
API Designer Level 23
API Design Reviewer Level 5
When you use active
roleplaying, you speak with
your character’s voice, like an
actor taking on a role.
Dungeons and Dragons Player's Handbook
Salutes Rena.
Donan the Designer
Rena the Reviewer
Salutes Donan.
Don’t get whyhis POST
/send-email operation has to be
reviewed.
Donan the Designer
Rena the Reviewer
Explainsreview’s purpose
and reassuresDonan.
Wants to know if everything is OK.
Donan the Designer
Rena the Reviewer
Tells formis almost OK.
Rena the Reviewer
Proposeand explains
solutions to fix problems based
on guidelines.
Thinks the review is over.
Donan the Designer
Rena the Reviewer
Tells that form is not all,
contextis analyzed too.
Describes whyPOST /send-email is
needed.
Donan the Designer
Rena the Reviewer
Continuescontext’s
investigation.
Describes howPOST /send-email is
actually used.
Donan the Designer
Rena the Reviewer
Explainswhy this design is a
problemin this context.
Realizes his mistake thanks to review.
Starts to rethink his plan...
Donan the Designer
But that’s another story...
Persuading Donan succeed
So, why do we need API design reviews?
So, why do we need API design reviews?
Inconsistent
Bugged
Incomplete Non user
friendlyUnsecure
Not fulfilling
real needs
So, why do we need API design reviews?
Inconsistent
Bugged
Incomplete Non user
friendlyUnsecure
Not fulfilling
real needs
Reviewers can help avoid these problems
PART X
Part Title
PART 2
Conducting
a Review
Read the rules of the game and the story of
its worlds, but always remember that you are
the one who brings them to life.
Dungeons and Dragons Player's Handbook
Rule #1 Lifecycle
Early
Review
Cold
Review
Live
Review
End
Sometimes the journey deserves as much
time and attention as the destination
Dungeons and Dragons Dungeon Master’s guide
Conducting a Review
Rule #1 Lifecycle
Early Review
Early
Review
Cold
Review
Live
Review
End
Conducting a Review
Rule #1 Lifecycle
Cold Review
Early
Review
Cold
Review
Live
Review
End
Conducting a Review
Rule #1 Lifecycle
Live Review
Early
Review
Cold
Review
Live
Review
End
Conducting a Review
Rule #1 Lifecycle
Cold/Live Cycle
Early
Review
Cold
Review
Live
Review
End
Conducting a Review
Rule #1 Lifecycle
Explain process
Early
Review
Cold
Review
Live
Review
End
Conducting a Review
Rule #2 Be exhaustive
Your character in the game might explore
forgotten ruins and uncharted lands, uncover
dark secrets and sinister plots, and slay foul
monsters.
Dungeons and Dragons Player's Handbook
Conducting a Review
Rule #2 Be exhaustive
Design makes sense
and is user friendly
Conducting a Review
Rule #2 Be exhaustive
Design conforms to
guidelines and is
consistent
Conducting a Review
Rule #2 Be exhaustive
Design is secure
Conducting a Review
Rule #2 Be exhaustive
Design takes limitations
into consideration
Conducting a Review
Rule #3 Make People Talk
Exploring dungeons, overcoming
obstacles, and slaying monsters
are key parts of D&D adventures.
No less important, though, are the
social interactions...
Dungeons and Dragons Player's Handbook
Conducting a Review
Rule #3 Make People Talk
Listen, Question,
Comment, Rephrase
Conducting a Review
Rule #3 Make People Talk
Context, Needs,
Vocabulary, Concepts,
Processes, ...
Conducting a Review
Rule #3 Make People Talk
Refocus on high level
Conducting a Review
Rule #4 Adopt the Right Mindset
Neutral good alignment:
Folk do the best they can to help
others according to their needs.
Dungeons and Dragons Player's Handbook
Conducting a Review
Rule #4 Adopt the Right Mindset
Teach and Explain
instead of Shame
Conducting a Review
Rule #4 Adopt the Right Mindset
Empathy for
consumers
Conducting a Review
Rule #4 Adopt the Right Mindset
Trust API Team
Knowledge
Conducting a Review
Rule #4 Adopt the Right Mindset
Don’t Block
Conducting a Review
PART X
Part Title
PART 3
Conducting
many Reviews
The game has no real end; when
one story or quest wraps up,
another one can begin, creating
an ongoing story Dungeons and Dragons Player's Handbook
Rule #1 Fill Your Toolbox
Proper equipment can mean the
difference between life and death in
a dungeon or the untamed wilds
Dungeons and Dragons Player's Handbook
Conducting many Reviews
Rule #1 Fill Your Toolbox
API Design Guidelines
Conducting many Reviews
Rule #1 Fill Your Toolbox
Machine Readable API
Description Format(s)
Conducting many Reviews
Rule #1 Fill Your Toolbox
API Description
Format(s) Tooling
Conducting many Reviews
Rule #1 Fill Your Toolbox
Adapted Design Tools
Conducting many Reviews
Rule #2 Record Everything
No one's memory is infallible,
so it pays to keep records.
Dungeons and Dragons Dungeon Master’s guide
Conducting many Reviews
Rule #2 Record Everything
Write Reviews Report
Conducting many Reviews
Rule #2 Record Everything
Record Decisions
Conducting many Reviews
Rule #2 Record Everything
Store all
Interface Contracts
Conducting many Reviews
Rule #3 Govern … But Not Too Much
As a referee, the DM acts as mediator
between the rules and the player
Dungeons and Dragons Dungeon Master’s guide
Conducting many Reviews
Rule #3 Govern … But Not Too Much
Governance Level
Conducting many Reviews
Rule #3 Govern … But Not Too Much
Community
Conducting many Reviews
Rule #3 Govern … But Not Too Much
Committee
vs
Single Reviewer
Conducting many Reviews
Rule #4 Teach and Train
You can spend time between
adventures learning a new
language or training with
a set of tools.
Dungeons and Dragons Player's Handbook
Conducting many Reviews
Rule #4 Train and Teach
Propose help on
design
Conducting many Reviews
Rule #4 Train and Teach
Propose training
Conducting many Reviews
PART X
Part TitleThe End
PART X
Part Title
PART 4
Participating
to a Review
Together, the DM and the players
create an exciting story.
Dungeons and Dragons Player's Handbook
Rule #1 Don’t wait until it’s too late
A fast pace makes characters less
perceptive, while a slow pace makes
it possible to sneak around and to
search an area more carefully
Dungeons and Dragons Player's Handbook
Participating to a Review
Rule #1 Don’t wait until it’s too late
No badge
Participating to a Review
Rule #1 Don’t wait until it’s too late
Implementation can
be hard to fix
Participating to a Review
Rule #1 Don’t wait until it’s too late
Terrible consequences
Participating to a Review
Rule #2 Be prepared
Between trips to dungeons and battles against
ancient evils, adventurers need time to rest,
recuperate, and prepare for their next
adventure.
Dungeons and Dragons Player's Handbook
Participating to a Review
Rule #2 Be prepared
Bring All Knowledge
Participating to a Review
Rule #2 Be prepared
Provide user friendly documentation
Participating to a Review
Rule #2 Be prepared
Provide standard & fully documented
interface contact
Participating to a Review
Rule #2 Be prepared
Pre-check interface contact
Participating to a Review
Rule #2 Be prepared
Read Reviews
Participating to a Review
Rule #3 Adopt The Right Mindset
Neutral good alignment:
Folk do the best they can to help
others according to their needs.
Dungeons and Dragons Player's Handbook
Participating to a Review
Rule #3 Adopt The Right Mindset
Don’t take it personally
Participating to a Review
Rule #3 Adopt The Right Mindset
Challenge and question
reviewer
Participating to a Review
Rule #3 Adopt The Right Mindset
Propose guidelines
evolutions
Participating to a Review
PART X
Part TitleThe End
API design reviews make
everyone grow
If everyone had a good time
and created a memorable
story, they all win.
Dungeons and Dragons Player's Handbook
API Design RPG: Why We Need Reviews

More Related Content

Similar to API Design RPG: Why We Need Reviews

BiowareDesignDoc.ppt
BiowareDesignDoc.pptBiowareDesignDoc.ppt
BiowareDesignDoc.pptHonggangMan
 
Practical level design for F2P
Practical level design for F2PPractical level design for F2P
Practical level design for F2PElad Drory
 
The RPG Dude on Open Display File Technology for your IBM i - Drag & Drop Ref...
The RPG Dude on Open Display File Technology for your IBM i - Drag & Drop Ref...The RPG Dude on Open Display File Technology for your IBM i - Drag & Drop Ref...
The RPG Dude on Open Display File Technology for your IBM i - Drag & Drop Ref...looksoftware
 
7 gate game design document
7 gate game design document 7 gate game design document
7 gate game design document ARshut Syabrin
 
Unreal Open Day 2017 The Art of Robo Recall
Unreal Open Day 2017 The Art of Robo RecallUnreal Open Day 2017 The Art of Robo Recall
Unreal Open Day 2017 The Art of Robo RecallEpic Games China
 
Sewers Map Level Design Document
Sewers Map Level Design DocumentSewers Map Level Design Document
Sewers Map Level Design DocumentSimón Carreño
 
Article Summary Essay Sample
Article Summary Essay SampleArticle Summary Essay Sample
Article Summary Essay SampleLinda Graham
 
Iistec 2013 game_design for id_m_broyles_id13333
Iistec 2013 game_design for id_m_broyles_id13333Iistec 2013 game_design for id_m_broyles_id13333
Iistec 2013 game_design for id_m_broyles_id13333Marie Broyles
 
Action and Adventure Games
Action and Adventure GamesAction and Adventure Games
Action and Adventure GamesZai Lekir
 
Battlefield 2
Battlefield 2Battlefield 2
Battlefield 2Pheonix
 
LAFS Game Mechanics - The Core Mechanic
LAFS Game Mechanics - The Core MechanicLAFS Game Mechanics - The Core Mechanic
LAFS Game Mechanics - The Core MechanicDavid Mullich
 
LocJAM April 2014
LocJAM April 2014LocJAM April 2014
LocJAM April 2014gloc247
 
Jack Fletcher ICA1 'The Chair'
Jack Fletcher ICA1 'The Chair'Jack Fletcher ICA1 'The Chair'
Jack Fletcher ICA1 'The Chair'j45a45ck
 
Game AI For the Masses
Game AI For the MassesGame AI For the Masses
Game AI For the MassesLuke Dicken
 
LocJAM3 Kyoto Workshop March 2016
LocJAM3 Kyoto Workshop March 2016LocJAM3 Kyoto Workshop March 2016
LocJAM3 Kyoto Workshop March 2016Anthony Teixeira
 
Designing for Live Games or How to be a Complete Game Designer
Designing for Live Games or How to be a Complete Game DesignerDesigning for Live Games or How to be a Complete Game Designer
Designing for Live Games or How to be a Complete Game DesignerAnshumani Ruddra
 
Games Unit Final, ( Lost Planet)
Games  Unit Final, ( Lost  Planet)Games  Unit Final, ( Lost  Planet)
Games Unit Final, ( Lost Planet)pilot_kris
 

Similar to API Design RPG: Why We Need Reviews (20)

U72 lesson 08
U72 lesson 08U72 lesson 08
U72 lesson 08
 
BiowareDesignDoc.ppt
BiowareDesignDoc.pptBiowareDesignDoc.ppt
BiowareDesignDoc.ppt
 
Practical level design for F2P
Practical level design for F2PPractical level design for F2P
Practical level design for F2P
 
The RPG Dude on Open Display File Technology for your IBM i - Drag & Drop Ref...
The RPG Dude on Open Display File Technology for your IBM i - Drag & Drop Ref...The RPG Dude on Open Display File Technology for your IBM i - Drag & Drop Ref...
The RPG Dude on Open Display File Technology for your IBM i - Drag & Drop Ref...
 
7 gate game design document
7 gate game design document 7 gate game design document
7 gate game design document
 
Unreal Open Day 2017 The Art of Robo Recall
Unreal Open Day 2017 The Art of Robo RecallUnreal Open Day 2017 The Art of Robo Recall
Unreal Open Day 2017 The Art of Robo Recall
 
Sewers Map Level Design Document
Sewers Map Level Design DocumentSewers Map Level Design Document
Sewers Map Level Design Document
 
Quality code 2019
Quality code 2019Quality code 2019
Quality code 2019
 
Article Summary Essay Sample
Article Summary Essay SampleArticle Summary Essay Sample
Article Summary Essay Sample
 
Iistec 2013 game_design for id_m_broyles_id13333
Iistec 2013 game_design for id_m_broyles_id13333Iistec 2013 game_design for id_m_broyles_id13333
Iistec 2013 game_design for id_m_broyles_id13333
 
Action and Adventure Games
Action and Adventure GamesAction and Adventure Games
Action and Adventure Games
 
Battlefield 2
Battlefield 2Battlefield 2
Battlefield 2
 
Video game proposal
Video game proposalVideo game proposal
Video game proposal
 
LAFS Game Mechanics - The Core Mechanic
LAFS Game Mechanics - The Core MechanicLAFS Game Mechanics - The Core Mechanic
LAFS Game Mechanics - The Core Mechanic
 
LocJAM April 2014
LocJAM April 2014LocJAM April 2014
LocJAM April 2014
 
Jack Fletcher ICA1 'The Chair'
Jack Fletcher ICA1 'The Chair'Jack Fletcher ICA1 'The Chair'
Jack Fletcher ICA1 'The Chair'
 
Game AI For the Masses
Game AI For the MassesGame AI For the Masses
Game AI For the Masses
 
LocJAM3 Kyoto Workshop March 2016
LocJAM3 Kyoto Workshop March 2016LocJAM3 Kyoto Workshop March 2016
LocJAM3 Kyoto Workshop March 2016
 
Designing for Live Games or How to be a Complete Game Designer
Designing for Live Games or How to be a Complete Game DesignerDesigning for Live Games or How to be a Complete Game Designer
Designing for Live Games or How to be a Complete Game Designer
 
Games Unit Final, ( Lost Planet)
Games  Unit Final, ( Lost  Planet)Games  Unit Final, ( Lost  Planet)
Games Unit Final, ( Lost Planet)
 

More from Nordic APIs

How I Built Bill, the AI-Powered Chatbot That Reads Our Docs for Fun , by Tod...
How I Built Bill, the AI-Powered Chatbot That Reads Our Docs for Fun , by Tod...How I Built Bill, the AI-Powered Chatbot That Reads Our Docs for Fun , by Tod...
How I Built Bill, the AI-Powered Chatbot That Reads Our Docs for Fun , by Tod...Nordic APIs
 
The Art of API Design, by David Biesack at Apiture
The Art of API Design, by David Biesack at ApitureThe Art of API Design, by David Biesack at Apiture
The Art of API Design, by David Biesack at ApitureNordic APIs
 
ABAC, ReBAC, Zanzibar, ALFA… How Should I Implement AuthZ in My APIs? by Dav...
ABAC, ReBAC, Zanzibar, ALFA…  How Should I Implement AuthZ in My APIs? by Dav...ABAC, ReBAC, Zanzibar, ALFA…  How Should I Implement AuthZ in My APIs? by Dav...
ABAC, ReBAC, Zanzibar, ALFA… How Should I Implement AuthZ in My APIs? by Dav...Nordic APIs
 
Crafting a Cloud Native API Platform to Accelerate Your Platform Maturity - B...
Crafting a Cloud Native API Platform to Accelerate Your Platform Maturity - B...Crafting a Cloud Native API Platform to Accelerate Your Platform Maturity - B...
Crafting a Cloud Native API Platform to Accelerate Your Platform Maturity - B...Nordic APIs
 
The Federated Future: Pioneering Next-Gen Solutions in API Management - Marku...
The Federated Future: Pioneering Next-Gen Solutions in API Management - Marku...The Federated Future: Pioneering Next-Gen Solutions in API Management - Marku...
The Federated Future: Pioneering Next-Gen Solutions in API Management - Marku...Nordic APIs
 
API Authorization Using an Identity Server and Gateway - Aldo Pietropaolo, SGNL
API Authorization Using an Identity Server and Gateway - Aldo Pietropaolo, SGNLAPI Authorization Using an Identity Server and Gateway - Aldo Pietropaolo, SGNL
API Authorization Using an Identity Server and Gateway - Aldo Pietropaolo, SGNLNordic APIs
 
API Discovery from Crawl to Run - Rob Dickinson, Graylog
API Discovery from Crawl to Run - Rob Dickinson, GraylogAPI Discovery from Crawl to Run - Rob Dickinson, Graylog
API Discovery from Crawl to Run - Rob Dickinson, GraylogNordic APIs
 
Productizing and Monetizing APIs - Derric Gilling, Moseif
Productizing and Monetizing APIs - Derric Gilling, MoseifProductizing and Monetizing APIs - Derric Gilling, Moseif
Productizing and Monetizing APIs - Derric Gilling, MoseifNordic APIs
 
Securely Boosting Any Product with Generative AI APIs - Ruben Sitbon, Sipios
Securely Boosting Any Product with Generative AI APIs - Ruben Sitbon, SipiosSecurely Boosting Any Product with Generative AI APIs - Ruben Sitbon, Sipios
Securely Boosting Any Product with Generative AI APIs - Ruben Sitbon, SipiosNordic APIs
 
Security of LLM APIs by Ankita Gupta, Akto.io
Security of LLM APIs by Ankita Gupta, Akto.ioSecurity of LLM APIs by Ankita Gupta, Akto.io
Security of LLM APIs by Ankita Gupta, Akto.ioNordic APIs
 
I'm an API Hacker, Here's How to Go from Making APIs to Breaking Them - Katie...
I'm an API Hacker, Here's How to Go from Making APIs to Breaking Them - Katie...I'm an API Hacker, Here's How to Go from Making APIs to Breaking Them - Katie...
I'm an API Hacker, Here's How to Go from Making APIs to Breaking Them - Katie...Nordic APIs
 
Unleashing the Potential of GraphQL with Streaming Data - Kishore Banala, Net...
Unleashing the Potential of GraphQL with Streaming Data - Kishore Banala, Net...Unleashing the Potential of GraphQL with Streaming Data - Kishore Banala, Net...
Unleashing the Potential of GraphQL with Streaming Data - Kishore Banala, Net...Nordic APIs
 
Reigniting the API Description Wars with TypeSpec and the Next Generation of ...
Reigniting the API Description Wars with TypeSpec and the Next Generation of...Reigniting the API Description Wars with TypeSpec and the Next Generation of...
Reigniting the API Description Wars with TypeSpec and the Next Generation of ...Nordic APIs
 
Establish, Grow, and Mature Your API Platform - James Higginbotham, LaunchAny
Establish, Grow, and Mature Your API Platform - James Higginbotham, LaunchAnyEstablish, Grow, and Mature Your API Platform - James Higginbotham, LaunchAny
Establish, Grow, and Mature Your API Platform - James Higginbotham, LaunchAnyNordic APIs
 
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations - A...
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations - A...Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations - A...
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations - A...Nordic APIs
 
Going Platinum: How to Make a Hit API by Bill Doerrfeld, Nordic APIs
Going Platinum: How to Make a Hit API by Bill Doerrfeld, Nordic APIsGoing Platinum: How to Make a Hit API by Bill Doerrfeld, Nordic APIs
Going Platinum: How to Make a Hit API by Bill Doerrfeld, Nordic APIsNordic APIs
 
Getting Better at Risk Management Using Event Driven Mesh Architecture - Ragh...
Getting Better at Risk Management Using Event Driven Mesh Architecture - Ragh...Getting Better at Risk Management Using Event Driven Mesh Architecture - Ragh...
Getting Better at Risk Management Using Event Driven Mesh Architecture - Ragh...Nordic APIs
 
GenAI: Producing and Consuming APIs by Paul Dumas, Gartner
GenAI: Producing and Consuming APIs by Paul Dumas, GartnerGenAI: Producing and Consuming APIs by Paul Dumas, Gartner
GenAI: Producing and Consuming APIs by Paul Dumas, GartnerNordic APIs
 
The SAS developer portal – developer.sas.com 2.0: How we built it by Joe Furb...
The SAS developer portal –developer.sas.com 2.0: How we built it by Joe Furb...The SAS developer portal –developer.sas.com 2.0: How we built it by Joe Furb...
The SAS developer portal – developer.sas.com 2.0: How we built it by Joe Furb...Nordic APIs
 
How Netflix Uses Data Abstraction to Operate Services at Scale - Vidhya Arvin...
How Netflix Uses Data Abstraction to Operate Services at Scale - Vidhya Arvin...How Netflix Uses Data Abstraction to Operate Services at Scale - Vidhya Arvin...
How Netflix Uses Data Abstraction to Operate Services at Scale - Vidhya Arvin...Nordic APIs
 

More from Nordic APIs (20)

How I Built Bill, the AI-Powered Chatbot That Reads Our Docs for Fun , by Tod...
How I Built Bill, the AI-Powered Chatbot That Reads Our Docs for Fun , by Tod...How I Built Bill, the AI-Powered Chatbot That Reads Our Docs for Fun , by Tod...
How I Built Bill, the AI-Powered Chatbot That Reads Our Docs for Fun , by Tod...
 
The Art of API Design, by David Biesack at Apiture
The Art of API Design, by David Biesack at ApitureThe Art of API Design, by David Biesack at Apiture
The Art of API Design, by David Biesack at Apiture
 
ABAC, ReBAC, Zanzibar, ALFA… How Should I Implement AuthZ in My APIs? by Dav...
ABAC, ReBAC, Zanzibar, ALFA…  How Should I Implement AuthZ in My APIs? by Dav...ABAC, ReBAC, Zanzibar, ALFA…  How Should I Implement AuthZ in My APIs? by Dav...
ABAC, ReBAC, Zanzibar, ALFA… How Should I Implement AuthZ in My APIs? by Dav...
 
Crafting a Cloud Native API Platform to Accelerate Your Platform Maturity - B...
Crafting a Cloud Native API Platform to Accelerate Your Platform Maturity - B...Crafting a Cloud Native API Platform to Accelerate Your Platform Maturity - B...
Crafting a Cloud Native API Platform to Accelerate Your Platform Maturity - B...
 
The Federated Future: Pioneering Next-Gen Solutions in API Management - Marku...
The Federated Future: Pioneering Next-Gen Solutions in API Management - Marku...The Federated Future: Pioneering Next-Gen Solutions in API Management - Marku...
The Federated Future: Pioneering Next-Gen Solutions in API Management - Marku...
 
API Authorization Using an Identity Server and Gateway - Aldo Pietropaolo, SGNL
API Authorization Using an Identity Server and Gateway - Aldo Pietropaolo, SGNLAPI Authorization Using an Identity Server and Gateway - Aldo Pietropaolo, SGNL
API Authorization Using an Identity Server and Gateway - Aldo Pietropaolo, SGNL
 
API Discovery from Crawl to Run - Rob Dickinson, Graylog
API Discovery from Crawl to Run - Rob Dickinson, GraylogAPI Discovery from Crawl to Run - Rob Dickinson, Graylog
API Discovery from Crawl to Run - Rob Dickinson, Graylog
 
Productizing and Monetizing APIs - Derric Gilling, Moseif
Productizing and Monetizing APIs - Derric Gilling, MoseifProductizing and Monetizing APIs - Derric Gilling, Moseif
Productizing and Monetizing APIs - Derric Gilling, Moseif
 
Securely Boosting Any Product with Generative AI APIs - Ruben Sitbon, Sipios
Securely Boosting Any Product with Generative AI APIs - Ruben Sitbon, SipiosSecurely Boosting Any Product with Generative AI APIs - Ruben Sitbon, Sipios
Securely Boosting Any Product with Generative AI APIs - Ruben Sitbon, Sipios
 
Security of LLM APIs by Ankita Gupta, Akto.io
Security of LLM APIs by Ankita Gupta, Akto.ioSecurity of LLM APIs by Ankita Gupta, Akto.io
Security of LLM APIs by Ankita Gupta, Akto.io
 
I'm an API Hacker, Here's How to Go from Making APIs to Breaking Them - Katie...
I'm an API Hacker, Here's How to Go from Making APIs to Breaking Them - Katie...I'm an API Hacker, Here's How to Go from Making APIs to Breaking Them - Katie...
I'm an API Hacker, Here's How to Go from Making APIs to Breaking Them - Katie...
 
Unleashing the Potential of GraphQL with Streaming Data - Kishore Banala, Net...
Unleashing the Potential of GraphQL with Streaming Data - Kishore Banala, Net...Unleashing the Potential of GraphQL with Streaming Data - Kishore Banala, Net...
Unleashing the Potential of GraphQL with Streaming Data - Kishore Banala, Net...
 
Reigniting the API Description Wars with TypeSpec and the Next Generation of ...
Reigniting the API Description Wars with TypeSpec and the Next Generation of...Reigniting the API Description Wars with TypeSpec and the Next Generation of...
Reigniting the API Description Wars with TypeSpec and the Next Generation of ...
 
Establish, Grow, and Mature Your API Platform - James Higginbotham, LaunchAny
Establish, Grow, and Mature Your API Platform - James Higginbotham, LaunchAnyEstablish, Grow, and Mature Your API Platform - James Higginbotham, LaunchAny
Establish, Grow, and Mature Your API Platform - James Higginbotham, LaunchAny
 
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations - A...
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations - A...Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations - A...
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations - A...
 
Going Platinum: How to Make a Hit API by Bill Doerrfeld, Nordic APIs
Going Platinum: How to Make a Hit API by Bill Doerrfeld, Nordic APIsGoing Platinum: How to Make a Hit API by Bill Doerrfeld, Nordic APIs
Going Platinum: How to Make a Hit API by Bill Doerrfeld, Nordic APIs
 
Getting Better at Risk Management Using Event Driven Mesh Architecture - Ragh...
Getting Better at Risk Management Using Event Driven Mesh Architecture - Ragh...Getting Better at Risk Management Using Event Driven Mesh Architecture - Ragh...
Getting Better at Risk Management Using Event Driven Mesh Architecture - Ragh...
 
GenAI: Producing and Consuming APIs by Paul Dumas, Gartner
GenAI: Producing and Consuming APIs by Paul Dumas, GartnerGenAI: Producing and Consuming APIs by Paul Dumas, Gartner
GenAI: Producing and Consuming APIs by Paul Dumas, Gartner
 
The SAS developer portal – developer.sas.com 2.0: How we built it by Joe Furb...
The SAS developer portal –developer.sas.com 2.0: How we built it by Joe Furb...The SAS developer portal –developer.sas.com 2.0: How we built it by Joe Furb...
The SAS developer portal – developer.sas.com 2.0: How we built it by Joe Furb...
 
How Netflix Uses Data Abstraction to Operate Services at Scale - Vidhya Arvin...
How Netflix Uses Data Abstraction to Operate Services at Scale - Vidhya Arvin...How Netflix Uses Data Abstraction to Operate Services at Scale - Vidhya Arvin...
How Netflix Uses Data Abstraction to Operate Services at Scale - Vidhya Arvin...
 

Recently uploaded

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 

Recently uploaded (20)

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 

API Design RPG: Why We Need Reviews

  • 1.
  • 2. Twitter: @apihandyman Blog: https://apihandyman.io Book: https://bit.ly/designwebapis (use code ctwnopp19 to get 40% off)
  • 3.
  • 4. PART X Part Title PART 1 Why API Design Reviews? When you attempt to influence someone [...], the DM might ask you to make a Charisma (Persuasion) check Dungeons and Dragons Player's Handbook
  • 5. PART X Part Title PART 1 Why API Design Reviews? When you attempt to influence someone [...], the DM might ask you to make a Charisma (Persuasion) check Dungeons and Dragons Player's Handbook Persuading audience failed
  • 6. Character sheets Donan The Designer API Designer Level 2 Rena The Reviewer API Designer Level 23 API Design Reviewer Level 5
  • 7. When you use active roleplaying, you speak with your character’s voice, like an actor taking on a role. Dungeons and Dragons Player's Handbook
  • 10. Don’t get whyhis POST /send-email operation has to be reviewed. Donan the Designer
  • 11. Rena the Reviewer Explainsreview’s purpose and reassuresDonan.
  • 12. Wants to know if everything is OK. Donan the Designer
  • 13. Rena the Reviewer Tells formis almost OK.
  • 14. Rena the Reviewer Proposeand explains solutions to fix problems based on guidelines.
  • 15. Thinks the review is over. Donan the Designer
  • 16. Rena the Reviewer Tells that form is not all, contextis analyzed too.
  • 17. Describes whyPOST /send-email is needed. Donan the Designer
  • 19. Describes howPOST /send-email is actually used. Donan the Designer
  • 20. Rena the Reviewer Explainswhy this design is a problemin this context.
  • 21. Realizes his mistake thanks to review. Starts to rethink his plan... Donan the Designer But that’s another story... Persuading Donan succeed
  • 22. So, why do we need API design reviews?
  • 23. So, why do we need API design reviews? Inconsistent Bugged Incomplete Non user friendlyUnsecure Not fulfilling real needs
  • 24. So, why do we need API design reviews? Inconsistent Bugged Incomplete Non user friendlyUnsecure Not fulfilling real needs Reviewers can help avoid these problems
  • 25. PART X Part Title PART 2 Conducting a Review Read the rules of the game and the story of its worlds, but always remember that you are the one who brings them to life. Dungeons and Dragons Player's Handbook
  • 26. Rule #1 Lifecycle Early Review Cold Review Live Review End Sometimes the journey deserves as much time and attention as the destination Dungeons and Dragons Dungeon Master’s guide Conducting a Review
  • 27. Rule #1 Lifecycle Early Review Early Review Cold Review Live Review End Conducting a Review
  • 28. Rule #1 Lifecycle Cold Review Early Review Cold Review Live Review End Conducting a Review
  • 29. Rule #1 Lifecycle Live Review Early Review Cold Review Live Review End Conducting a Review
  • 30. Rule #1 Lifecycle Cold/Live Cycle Early Review Cold Review Live Review End Conducting a Review
  • 31. Rule #1 Lifecycle Explain process Early Review Cold Review Live Review End Conducting a Review
  • 32. Rule #2 Be exhaustive Your character in the game might explore forgotten ruins and uncharted lands, uncover dark secrets and sinister plots, and slay foul monsters. Dungeons and Dragons Player's Handbook Conducting a Review
  • 33. Rule #2 Be exhaustive Design makes sense and is user friendly Conducting a Review
  • 34. Rule #2 Be exhaustive Design conforms to guidelines and is consistent Conducting a Review
  • 35. Rule #2 Be exhaustive Design is secure Conducting a Review
  • 36. Rule #2 Be exhaustive Design takes limitations into consideration Conducting a Review
  • 37. Rule #3 Make People Talk Exploring dungeons, overcoming obstacles, and slaying monsters are key parts of D&D adventures. No less important, though, are the social interactions... Dungeons and Dragons Player's Handbook Conducting a Review
  • 38. Rule #3 Make People Talk Listen, Question, Comment, Rephrase Conducting a Review
  • 39. Rule #3 Make People Talk Context, Needs, Vocabulary, Concepts, Processes, ... Conducting a Review
  • 40. Rule #3 Make People Talk Refocus on high level Conducting a Review
  • 41. Rule #4 Adopt the Right Mindset Neutral good alignment: Folk do the best they can to help others according to their needs. Dungeons and Dragons Player's Handbook Conducting a Review
  • 42. Rule #4 Adopt the Right Mindset Teach and Explain instead of Shame Conducting a Review
  • 43. Rule #4 Adopt the Right Mindset Empathy for consumers Conducting a Review
  • 44. Rule #4 Adopt the Right Mindset Trust API Team Knowledge Conducting a Review
  • 45. Rule #4 Adopt the Right Mindset Don’t Block Conducting a Review
  • 46. PART X Part Title PART 3 Conducting many Reviews The game has no real end; when one story or quest wraps up, another one can begin, creating an ongoing story Dungeons and Dragons Player's Handbook
  • 47. Rule #1 Fill Your Toolbox Proper equipment can mean the difference between life and death in a dungeon or the untamed wilds Dungeons and Dragons Player's Handbook Conducting many Reviews
  • 48. Rule #1 Fill Your Toolbox API Design Guidelines Conducting many Reviews
  • 49. Rule #1 Fill Your Toolbox Machine Readable API Description Format(s) Conducting many Reviews
  • 50. Rule #1 Fill Your Toolbox API Description Format(s) Tooling Conducting many Reviews
  • 51. Rule #1 Fill Your Toolbox Adapted Design Tools Conducting many Reviews
  • 52. Rule #2 Record Everything No one's memory is infallible, so it pays to keep records. Dungeons and Dragons Dungeon Master’s guide Conducting many Reviews
  • 53. Rule #2 Record Everything Write Reviews Report Conducting many Reviews
  • 54. Rule #2 Record Everything Record Decisions Conducting many Reviews
  • 55. Rule #2 Record Everything Store all Interface Contracts Conducting many Reviews
  • 56. Rule #3 Govern … But Not Too Much As a referee, the DM acts as mediator between the rules and the player Dungeons and Dragons Dungeon Master’s guide Conducting many Reviews
  • 57. Rule #3 Govern … But Not Too Much Governance Level Conducting many Reviews
  • 58. Rule #3 Govern … But Not Too Much Community Conducting many Reviews
  • 59. Rule #3 Govern … But Not Too Much Committee vs Single Reviewer Conducting many Reviews
  • 60. Rule #4 Teach and Train You can spend time between adventures learning a new language or training with a set of tools. Dungeons and Dragons Player's Handbook Conducting many Reviews
  • 61. Rule #4 Train and Teach Propose help on design Conducting many Reviews
  • 62. Rule #4 Train and Teach Propose training Conducting many Reviews
  • 64. PART X Part Title PART 4 Participating to a Review Together, the DM and the players create an exciting story. Dungeons and Dragons Player's Handbook
  • 65. Rule #1 Don’t wait until it’s too late A fast pace makes characters less perceptive, while a slow pace makes it possible to sneak around and to search an area more carefully Dungeons and Dragons Player's Handbook Participating to a Review
  • 66. Rule #1 Don’t wait until it’s too late No badge Participating to a Review
  • 67. Rule #1 Don’t wait until it’s too late Implementation can be hard to fix Participating to a Review
  • 68. Rule #1 Don’t wait until it’s too late Terrible consequences Participating to a Review
  • 69. Rule #2 Be prepared Between trips to dungeons and battles against ancient evils, adventurers need time to rest, recuperate, and prepare for their next adventure. Dungeons and Dragons Player's Handbook Participating to a Review
  • 70. Rule #2 Be prepared Bring All Knowledge Participating to a Review
  • 71. Rule #2 Be prepared Provide user friendly documentation Participating to a Review
  • 72. Rule #2 Be prepared Provide standard & fully documented interface contact Participating to a Review
  • 73. Rule #2 Be prepared Pre-check interface contact Participating to a Review
  • 74. Rule #2 Be prepared Read Reviews Participating to a Review
  • 75. Rule #3 Adopt The Right Mindset Neutral good alignment: Folk do the best they can to help others according to their needs. Dungeons and Dragons Player's Handbook Participating to a Review
  • 76. Rule #3 Adopt The Right Mindset Don’t take it personally Participating to a Review
  • 77. Rule #3 Adopt The Right Mindset Challenge and question reviewer Participating to a Review
  • 78. Rule #3 Adopt The Right Mindset Propose guidelines evolutions Participating to a Review
  • 80. API design reviews make everyone grow If everyone had a good time and created a memorable story, they all win. Dungeons and Dragons Player's Handbook