SlideShare a Scribd company logo
1 of 38
Download to read offline
THE ART OF API DESIGN
DAVID BIESACK
CHIEF API OFFICER, APITURE
About Me
• Software professional for 38+ years
• I've been de
fi
ning APIs for most of that time (libraries/
frameworks in C, SAS, Java etc., then RESTful APIs)
• Headed SAS’ API Center of Excellence 5+ years
• Joined Apiture when founded in 2017; now Chief API O
ffi
cer
API design | evangelist | governance | DX
linkedin.com/in/davidbiesack/
fosstodon.org/@DavidBiesack
apidesignmatters.substack.com
github.com/DavidBiesack
API DESIGN IS …
API Design is….
• Understanding business requirements within the application domain
• Translating Requirements into an API that delivers the needed business functions
• Creating a durable abstraction which
• is
fi
t to the problem/product at hand... and others to come
• is comprehensible/usable (Developer Experience)
• isolates clients from change and implementation details that should not impact
them
• can evolve over time
API DESIGN IS AN ART
API Design is an Art
Each API is a Commissioned Work o
Requires some degree of Creativity o
API Designs [should] have aesthetics o
Beauty - Elegance - Balance - Harmony
API Design is a Right-Brain Activity o
The Role of Creativity in API Design
Is Creativity (Novelty) Welcomed? o
Creativity is in Con
fl
ict with Developer Experience o
Creativity is in Con
fl
ict with Consistency o
Creativity Ignores Reuse o
Creativity Increases Learning Curves o
Crea
ti
vi
ty
:
Th
e use of
th
e
imagina
ti
on or original ideas,
especia
ll
y in
th
e produc
ti
on of
an ar
ti
s
ti
c work.
- Oxford English Dic
ti
onary
The Role of Creativity in API Design
APIs must be Utilitarian
APIs must value Function over Form,
Substance over Style
A “beautiful, elegant” API that no one can use is
an Abominable Pretender-Imposter
API DESIGN IS A SCIENCE
API Design is a Science
o We can study APIs (…easier if they are de
fi
ned using API
speci
fi
cation languages)
o We can identify/discover Patterns
o We can apply rigor, methods, and standards to API Design
o We can learn from others
o We can evolve our practice
o We can improve the State of the Art of API Design
o API Design is a Left-Brain Activity
API DESIGN IS AN ACT OF INTELLIGENCE
API Design is an Act of Intelligence
API Design weighs multiple competing forces
• Domain Analysis / Modeling
• Solve the problems at hand
• Security, Attack Vectors
• Compliance / Legal
• API Surface Area
• Developer Experience
• Ease of Use
• Clarity; Conceptual Integrity;
Can be Understood; Mental
Model; Cognitive Load
• Completeness
• Can be implemented
• Consistency, Symmetry
• API Evolution
• Enablement (OpenAPI,
AsyncAPI, SDKs)
API Design is… The Art of Making
Decisions
Choosing from many alternate/possible design options
Use rubrics or decision procedures
Record and measure outcomes
Knowing when applying a pattern is the right decision… and knowing
when it is not
CRUDL | Hypermedia | REST vs. RPC vs…
Naming things ( https://netapinotes.com/the-necessity-of-naming-in-apis )
IOW: API Design is a Whole-Brain activity
On AI
• I’ve been following AI for 38+ years
• I’ve learned to not set a bar that AI won’t clear
•The
fi
eld of API Design is not “special”
• Reality Check:
• Many companies succeed with Crappy APIs…
• …Crappy APIs that are designed by humans that may be no better than or even
worse than APIs that a generative AI could produce
• … but we can’t rely on that continuing….
•
On AI
Main Risk: Everybody thinks
everybody else’s job is easy.
• aboard.com/podcast/startup-year-in-review/
TANSTAAFL | YGWYPF
On AI
Current AI technologies rely heavily on Tons o’ Training DataTM
What APIs will you use to train your API Generating AI?
Are the decisions made when creating those APIs correct?
Does the training data
fi
t your domain?
Do those APIs solve similar problems?
Do those API styles match your developers’ needs?
On AI-Generated API Designs
An API Designed by an AI trained on Tons ‘o [Open Source] Training
Data….
...is an API Designed by Committee
Is an API Designed by [Reverse] Crowdsourcing
Conjectures:
API generating robots breathing
down your neck?
Having an AI write your API de
fi
nition is like pushing a horse with a rope….
API design through Prompt Engineering
Will an AI challenge requirements that are poor or not articulated well
To succeed, and AI needs to participate in PR reviews and other human
feedback - true arti
fi
cial general intelligence?
We have to be (can be) better than the AI
We have to do the
fi
rst 20% and the last 20% that are hard
Good APIs….
Are “Frustration Free Packaging”
Obvious, Comprehensible, and Intuitive - an Open Book
Reveal their intent (self-explanatory)
Direct Mapping of the problem domain
Lead to correct and e
ffi
cient solutions
Lead away from incorrect solutions
Are a joy to work with
Can be Beautiful and Elegant and Pragmatic - highly usable
API Design by AI
An AI is a software artifact
As such - Not to be judged good or bad
An AI that designs APIs is not good or bad
Just as a person that designs APIs is not good or bad
What we do with the AI is subject to judgement
We can judge API Design Outcomes
Is using an AI as a Tool for API Design so
different from….
Is using an AI as a Tool for API Design so
different from….
Consulting books…
Is using an AI as a Tool for API Design so
different from….
Attending courses and workshops…
Is using an AI as a Tool for API Design so
different from….
Absorbing a ton o' web sites...
Is using an AI as a Tool for API Design so
different from….
Subscribing to (and watching) a YouTube Channel....
Is using an AI as a Tool for API Design so
different from….
Reading a bunch of blogs....
Is using an AI as a Tool for API Design so
different from….
Consulting a colleague...
Is using an AI as a Tool for API Design so
different from….
Using AI tools is different, qualitatively and quantitatively
Notably:
• The ability to attribute the knowledge sources
• Consent to [re]use intellectual property
• Compliance and regulatory concerns
• Our ability to assign responsibility and accountability for API Design outcomes
API generating robots breathing
down your neck?
We are not unique in feeling
threatened...
These Intelligent People made human
decisions to continue
To pass on their knowledge to the next
generation
They stood as giants so we could stand on
their shoulders
I hope they inspire us to do the same

More Related Content

Similar to The Art of API Design, by David Biesack at Apiture

02 API Academy - path to success
02   API Academy - path to success02   API Academy - path to success
02 API Academy - path to successCHARLES Frédéric
 
Applying a Developer-Centric Approach to API Design from API Architect Ronnie...
Applying a Developer-Centric Approach to API Design from API Architect Ronnie...Applying a Developer-Centric Approach to API Design from API Architect Ronnie...
Applying a Developer-Centric Approach to API Design from API Architect Ronnie...CA API Management
 
How to Design and Build a Great Web API
How to Design and Build a Great Web APIHow to Design and Build a Great Web API
How to Design and Build a Great Web APILaunchAny
 
API Product Management - Driving Success through the Value Chain
API Product Management - Driving Success through the Value ChainAPI Product Management - Driving Success through the Value Chain
API Product Management - Driving Success through the Value ChainApigee | Google Cloud
 
Designing Good API & Its Importance
Designing Good API & Its ImportanceDesigning Good API & Its Importance
Designing Good API & Its ImportanceImran M Yousuf
 
apidays Australia 2022 - Accelerating API Engineering, Jason D'Souza & Andrew...
apidays Australia 2022 - Accelerating API Engineering, Jason D'Souza & Andrew...apidays Australia 2022 - Accelerating API Engineering, Jason D'Souza & Andrew...
apidays Australia 2022 - Accelerating API Engineering, Jason D'Souza & Andrew...apidays
 
APIs as a Product Strategy
APIs as a Product StrategyAPIs as a Product Strategy
APIs as a Product StrategyRavi Kumar
 
Why your APIs should fly first class
Why your APIs should fly first classWhy your APIs should fly first class
Why your APIs should fly first classLibbySchulze
 
On the shoulders of giants Learning About API Design by Looking Backwards
On the shoulders of giants Learning About API Design by Looking Backwards On the shoulders of giants Learning About API Design by Looking Backwards
On the shoulders of giants Learning About API Design by Looking Backwards CA API Management
 
Always Mind Your [Developer] Surroundings - API City 2018
Always Mind Your [Developer] Surroundings - API City 2018Always Mind Your [Developer] Surroundings - API City 2018
Always Mind Your [Developer] Surroundings - API City 2018Bill Doerrfeld
 
Web API Design: Crafting Interfaces that Developers Love
Web API Design:  Crafting Interfaces that Developers LoveWeb API Design:  Crafting Interfaces that Developers Love
Web API Design: Crafting Interfaces that Developers LoveJamison K. Bell | OvenPOP 360
 
Introduction to the Art of API Practice
Introduction to the Art of API PracticeIntroduction to the Art of API Practice
Introduction to the Art of API PracticeBill Doerrfeld
 
Introduction to The 6 Insights of API Practice (Bill Doerrfeld)
Introduction to The 6 Insights of API Practice (Bill Doerrfeld)Introduction to The 6 Insights of API Practice (Bill Doerrfeld)
Introduction to The 6 Insights of API Practice (Bill Doerrfeld)Nordic APIs
 
apidays LIVE London 2021 - Moving from a Product as API to API as a Product b...
apidays LIVE London 2021 - Moving from a Product as API to API as a Product b...apidays LIVE London 2021 - Moving from a Product as API to API as a Product b...
apidays LIVE London 2021 - Moving from a Product as API to API as a Product b...apidays
 
INTERFACE, by apidays - Why are API Products so hard? by Allan Knabe, apiabl...
INTERFACE, by apidays  - Why are API Products so hard? by Allan Knabe, apiabl...INTERFACE, by apidays  - Why are API Products so hard? by Allan Knabe, apiabl...
INTERFACE, by apidays - Why are API Products so hard? by Allan Knabe, apiabl...apidays
 
API first.pptx
API first.pptxAPI first.pptx
API first.pptxOdedApel
 

Similar to The Art of API Design, by David Biesack at Apiture (20)

API Design Approach
API Design ApproachAPI Design Approach
API Design Approach
 
02 API Academy - path to success
02   API Academy - path to success02   API Academy - path to success
02 API Academy - path to success
 
Applying a Developer-Centric Approach to API Design from API Architect Ronnie...
Applying a Developer-Centric Approach to API Design from API Architect Ronnie...Applying a Developer-Centric Approach to API Design from API Architect Ronnie...
Applying a Developer-Centric Approach to API Design from API Architect Ronnie...
 
API Design Workflows
API Design WorkflowsAPI Design Workflows
API Design Workflows
 
How to Design and Build a Great Web API
How to Design and Build a Great Web APIHow to Design and Build a Great Web API
How to Design and Build a Great Web API
 
API Product Management - Driving Success through the Value Chain
API Product Management - Driving Success through the Value ChainAPI Product Management - Driving Success through the Value Chain
API Product Management - Driving Success through the Value Chain
 
Designing Good API & Its Importance
Designing Good API & Its ImportanceDesigning Good API & Its Importance
Designing Good API & Its Importance
 
apidays Australia 2022 - Accelerating API Engineering, Jason D'Souza & Andrew...
apidays Australia 2022 - Accelerating API Engineering, Jason D'Souza & Andrew...apidays Australia 2022 - Accelerating API Engineering, Jason D'Souza & Andrew...
apidays Australia 2022 - Accelerating API Engineering, Jason D'Souza & Andrew...
 
APIs as a Product Strategy
APIs as a Product StrategyAPIs as a Product Strategy
APIs as a Product Strategy
 
Why your APIs should fly first class
Why your APIs should fly first classWhy your APIs should fly first class
Why your APIs should fly first class
 
On the shoulders of giants Learning About API Design by Looking Backwards
On the shoulders of giants Learning About API Design by Looking Backwards On the shoulders of giants Learning About API Design by Looking Backwards
On the shoulders of giants Learning About API Design by Looking Backwards
 
Always Mind Your [Developer] Surroundings - API City 2018
Always Mind Your [Developer] Surroundings - API City 2018Always Mind Your [Developer] Surroundings - API City 2018
Always Mind Your [Developer] Surroundings - API City 2018
 
Web API Design
Web API DesignWeb API Design
Web API Design
 
Web API Design: Crafting Interfaces that Developers Love
Web API Design:  Crafting Interfaces that Developers LoveWeb API Design:  Crafting Interfaces that Developers Love
Web API Design: Crafting Interfaces that Developers Love
 
Introduction to the Art of API Practice
Introduction to the Art of API PracticeIntroduction to the Art of API Practice
Introduction to the Art of API Practice
 
Introduction to The 6 Insights of API Practice (Bill Doerrfeld)
Introduction to The 6 Insights of API Practice (Bill Doerrfeld)Introduction to The 6 Insights of API Practice (Bill Doerrfeld)
Introduction to The 6 Insights of API Practice (Bill Doerrfeld)
 
apidays LIVE London 2021 - Moving from a Product as API to API as a Product b...
apidays LIVE London 2021 - Moving from a Product as API to API as a Product b...apidays LIVE London 2021 - Moving from a Product as API to API as a Product b...
apidays LIVE London 2021 - Moving from a Product as API to API as a Product b...
 
INTERFACE, by apidays - Why are API Products so hard? by Allan Knabe, apiabl...
INTERFACE, by apidays  - Why are API Products so hard? by Allan Knabe, apiabl...INTERFACE, by apidays  - Why are API Products so hard? by Allan Knabe, apiabl...
INTERFACE, by apidays - Why are API Products so hard? by Allan Knabe, apiabl...
 
API first.pptx
API first.pptxAPI first.pptx
API first.pptx
 
Your API is not a Website!
Your API is not a Website!Your API is not a Website!
Your API is not a Website!
 

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
 
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
 
cURL to SDK: Navigating the API Adoption Chasm - Sidney Maestre, APIMatic
cURL to SDK: Navigating the API Adoption Chasm - Sidney Maestre, APIMaticcURL to SDK: Navigating the API Adoption Chasm - Sidney Maestre, APIMatic
cURL to SDK: Navigating the API Adoption Chasm - Sidney Maestre, APIMaticNordic 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...
 
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...
 
cURL to SDK: Navigating the API Adoption Chasm - Sidney Maestre, APIMatic
cURL to SDK: Navigating the API Adoption Chasm - Sidney Maestre, APIMaticcURL to SDK: Navigating the API Adoption Chasm - Sidney Maestre, APIMatic
cURL to SDK: Navigating the API Adoption Chasm - Sidney Maestre, APIMatic
 

Recently uploaded

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
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
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
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
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 

Recently uploaded (20)

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
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
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
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
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 

The Art of API Design, by David Biesack at Apiture

  • 1. THE ART OF API DESIGN DAVID BIESACK CHIEF API OFFICER, APITURE
  • 2. About Me • Software professional for 38+ years • I've been de fi ning APIs for most of that time (libraries/ frameworks in C, SAS, Java etc., then RESTful APIs) • Headed SAS’ API Center of Excellence 5+ years • Joined Apiture when founded in 2017; now Chief API O ffi cer API design | evangelist | governance | DX linkedin.com/in/davidbiesack/ fosstodon.org/@DavidBiesack apidesignmatters.substack.com github.com/DavidBiesack
  • 4. API Design is…. • Understanding business requirements within the application domain • Translating Requirements into an API that delivers the needed business functions • Creating a durable abstraction which • is fi t to the problem/product at hand... and others to come • is comprehensible/usable (Developer Experience) • isolates clients from change and implementation details that should not impact them • can evolve over time
  • 5. API DESIGN IS AN ART
  • 6. API Design is an Art Each API is a Commissioned Work o Requires some degree of Creativity o API Designs [should] have aesthetics o Beauty - Elegance - Balance - Harmony API Design is a Right-Brain Activity o
  • 7. The Role of Creativity in API Design Is Creativity (Novelty) Welcomed? o Creativity is in Con fl ict with Developer Experience o Creativity is in Con fl ict with Consistency o Creativity Ignores Reuse o Creativity Increases Learning Curves o Crea ti vi ty : Th e use of th e imagina ti on or original ideas, especia ll y in th e produc ti on of an ar ti s ti c work. - Oxford English Dic ti onary
  • 8. The Role of Creativity in API Design APIs must be Utilitarian APIs must value Function over Form, Substance over Style A “beautiful, elegant” API that no one can use is an Abominable Pretender-Imposter
  • 9. API DESIGN IS A SCIENCE
  • 10. API Design is a Science o We can study APIs (…easier if they are de fi ned using API speci fi cation languages) o We can identify/discover Patterns o We can apply rigor, methods, and standards to API Design o We can learn from others o We can evolve our practice o We can improve the State of the Art of API Design o API Design is a Left-Brain Activity
  • 11. API DESIGN IS AN ACT OF INTELLIGENCE
  • 12. API Design is an Act of Intelligence API Design weighs multiple competing forces • Domain Analysis / Modeling • Solve the problems at hand • Security, Attack Vectors • Compliance / Legal • API Surface Area • Developer Experience • Ease of Use • Clarity; Conceptual Integrity; Can be Understood; Mental Model; Cognitive Load • Completeness • Can be implemented • Consistency, Symmetry • API Evolution • Enablement (OpenAPI, AsyncAPI, SDKs)
  • 13. API Design is… The Art of Making Decisions Choosing from many alternate/possible design options Use rubrics or decision procedures Record and measure outcomes Knowing when applying a pattern is the right decision… and knowing when it is not CRUDL | Hypermedia | REST vs. RPC vs… Naming things ( https://netapinotes.com/the-necessity-of-naming-in-apis ) IOW: API Design is a Whole-Brain activity
  • 14. On AI • I’ve been following AI for 38+ years • I’ve learned to not set a bar that AI won’t clear •The fi eld of API Design is not “special” • Reality Check: • Many companies succeed with Crappy APIs… • …Crappy APIs that are designed by humans that may be no better than or even worse than APIs that a generative AI could produce • … but we can’t rely on that continuing…. •
  • 15. On AI Main Risk: Everybody thinks everybody else’s job is easy. • aboard.com/podcast/startup-year-in-review/ TANSTAAFL | YGWYPF
  • 16. On AI Current AI technologies rely heavily on Tons o’ Training DataTM What APIs will you use to train your API Generating AI? Are the decisions made when creating those APIs correct? Does the training data fi t your domain? Do those APIs solve similar problems? Do those API styles match your developers’ needs?
  • 17. On AI-Generated API Designs An API Designed by an AI trained on Tons ‘o [Open Source] Training Data…. ...is an API Designed by Committee Is an API Designed by [Reverse] Crowdsourcing Conjectures:
  • 18. API generating robots breathing down your neck? Having an AI write your API de fi nition is like pushing a horse with a rope…. API design through Prompt Engineering Will an AI challenge requirements that are poor or not articulated well To succeed, and AI needs to participate in PR reviews and other human feedback - true arti fi cial general intelligence? We have to be (can be) better than the AI We have to do the fi rst 20% and the last 20% that are hard
  • 19. Good APIs…. Are “Frustration Free Packaging” Obvious, Comprehensible, and Intuitive - an Open Book Reveal their intent (self-explanatory) Direct Mapping of the problem domain Lead to correct and e ffi cient solutions Lead away from incorrect solutions Are a joy to work with Can be Beautiful and Elegant and Pragmatic - highly usable
  • 20. API Design by AI An AI is a software artifact As such - Not to be judged good or bad An AI that designs APIs is not good or bad Just as a person that designs APIs is not good or bad What we do with the AI is subject to judgement We can judge API Design Outcomes
  • 21. Is using an AI as a Tool for API Design so different from….
  • 22. Is using an AI as a Tool for API Design so different from…. Consulting books…
  • 23. Is using an AI as a Tool for API Design so different from…. Attending courses and workshops…
  • 24. Is using an AI as a Tool for API Design so different from…. Absorbing a ton o' web sites...
  • 25. Is using an AI as a Tool for API Design so different from…. Subscribing to (and watching) a YouTube Channel....
  • 26. Is using an AI as a Tool for API Design so different from…. Reading a bunch of blogs....
  • 27. Is using an AI as a Tool for API Design so different from…. Consulting a colleague...
  • 28. Is using an AI as a Tool for API Design so different from…. Using AI tools is different, qualitatively and quantitatively Notably: • The ability to attribute the knowledge sources • Consent to [re]use intellectual property • Compliance and regulatory concerns • Our ability to assign responsibility and accountability for API Design outcomes
  • 29. API generating robots breathing down your neck?
  • 30. We are not unique in feeling threatened...
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38. These Intelligent People made human decisions to continue To pass on their knowledge to the next generation They stood as giants so we could stand on their shoulders I hope they inspire us to do the same