SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
Harmony in API Design
jakub@apiary.io
What is an API?
API is UI to Data
API is UI to Data
API is UI to Data

User Experience
API is UI to Data
Design

User Experience
API is UI to Data

Emotions

Design

User Experience
API is UI to Data

Emotions

Design

User Experience

Subjective
API is UI to Data

Emotions

Design

User Experience

Subjective

Culturally Dependent
API is UI to Data

Emotions

Simplicity

Design

User Experience

Subjective

Culturally Dependent
API is UI to Data

Emotions

Simplicity

Design
Productivity

User Experience

Subjective

Culturally Dependent
API is UI to Data

Emotions

Conversion Rates
Simplicity

Design
Productivity

User Experience

Subjective

Culturally Dependent
API is UI to Data

Emotions

Conversion Rates
Simplicity

Design
Productivity

User Experience

Usability Studies

Subjective

Culturally Dependent
API is UI to Data

Emotions

Conversion Rates
Simplicity

Design
Productivity

User Experience

Hackathons

Subjective

Culturally Dependent
Nobody thinks THEIR design sucks
Provider

Consumer
Java

Provider
Rails
Scala
Erlang

Consumer
Java
jQuery

Provider

Consumer

Rails

ObjC
PHP

Scala
Erlang
Validation
Uptime

Java

Maintenance

Provider
Caching Rails
Scala
Security

jQuery

Consumer
ObjC

Versioning

Erlang

PHP
Latency

Validation
Uptime

Java

Maintenance

Provider
Caching Rails
Scala
Security

Versioning

Erlang

Can It Be Done?
TTFHW

jQuery

Consumer
Debugging
ObjC
PHP
Example
Support
So?
1. Start With a Wireframe

• a design intent
• usually an API description language
• at Apiary we use API Blueprint
2. Involve Your Customers

• find your early-adopters before you code
• create an API mock that they can use
• fork/pull-request
3. Have Great Documentation

• generated automatically
• must be exhaustive and up-to-date
• your code is automatically tested; so
must your documentation
4. Separate Contract from
Implementation
Summary

• API is UI for Data & Interface between cultures
• Involve your customers early
• Automate
Thank You
@apiaryio
http://apiary.io/
!

@jakubnesetril

Mais conteúdo relacionado

Mais procurados

Ashish_Android_Resume
Ashish_Android_ResumeAshish_Android_Resume
Ashish_Android_Resume
Ashish Bangar
 
12 13 cómo hacer un api por medio de web scraping
12 13 cómo hacer un api por medio de web scraping12 13 cómo hacer un api por medio de web scraping
12 13 cómo hacer un api por medio de web scraping
Software Guru
 
Onion Architecture
Onion ArchitectureOnion Architecture
Onion Architecture
matthidinger
 

Mais procurados (20)

Hybrid vs Native
Hybrid vs NativeHybrid vs Native
Hybrid vs Native
 
Hybrid vs Native Mobile App. Decide in 5 minutes!
Hybrid vs Native Mobile App. Decide in 5 minutes!Hybrid vs Native Mobile App. Decide in 5 minutes!
Hybrid vs Native Mobile App. Decide in 5 minutes!
 
Microsoft Cognitive Service, Tap into the Power of Machine Learning with Easy...
Microsoft Cognitive Service, Tap into the Power of Machine Learning with Easy...Microsoft Cognitive Service, Tap into the Power of Machine Learning with Easy...
Microsoft Cognitive Service, Tap into the Power of Machine Learning with Easy...
 
Microsoft Cognitive Services - Recommendations API: Your first recommendation...
Microsoft Cognitive Services - Recommendations API: Your first recommendation...Microsoft Cognitive Services - Recommendations API: Your first recommendation...
Microsoft Cognitive Services - Recommendations API: Your first recommendation...
 
Bulletproofing Your APIs: Why Users’ Feedback Matters
Bulletproofing Your APIs: Why Users’ Feedback MattersBulletproofing Your APIs: Why Users’ Feedback Matters
Bulletproofing Your APIs: Why Users’ Feedback Matters
 
The Great Mobile Debate: Native vs. Hybrid App Development
The Great Mobile Debate: Native vs. Hybrid App DevelopmentThe Great Mobile Debate: Native vs. Hybrid App Development
The Great Mobile Debate: Native vs. Hybrid App Development
 
Web App VS. Hybrid App VS. Native App?
Web App VS. Hybrid App VS. Native App?Web App VS. Hybrid App VS. Native App?
Web App VS. Hybrid App VS. Native App?
 
Azure Cognitive Services : Visual Intelligence made easy
Azure Cognitive Services : Visual Intelligence made easyAzure Cognitive Services : Visual Intelligence made easy
Azure Cognitive Services : Visual Intelligence made easy
 
Introduction to ICS
Introduction to ICSIntroduction to ICS
Introduction to ICS
 
Ashish_Android_Resume
Ashish_Android_ResumeAshish_Android_Resume
Ashish_Android_Resume
 
Clean india API
Clean india APIClean india API
Clean india API
 
Rahul resume[android developer]
Rahul resume[android developer]Rahul resume[android developer]
Rahul resume[android developer]
 
Mobile App Development
Mobile App DevelopmentMobile App Development
Mobile App Development
 
Native vs Hybrid - Demystifying the Technology Dilemma
Native vs Hybrid - Demystifying the Technology Dilemma Native vs Hybrid - Demystifying the Technology Dilemma
Native vs Hybrid - Demystifying the Technology Dilemma
 
Hybrid vs Native vs Web Apps
Hybrid vs Native vs Web AppsHybrid vs Native vs Web Apps
Hybrid vs Native vs Web Apps
 
Native vs. Hybrid Apps
Native vs. Hybrid AppsNative vs. Hybrid Apps
Native vs. Hybrid Apps
 
12 13 cómo hacer un api por medio de web scraping
12 13 cómo hacer un api por medio de web scraping12 13 cómo hacer un api por medio de web scraping
12 13 cómo hacer un api por medio de web scraping
 
Karthick profile
Karthick profileKarthick profile
Karthick profile
 
Hybrid mobile apps
Hybrid mobile appsHybrid mobile apps
Hybrid mobile apps
 
Onion Architecture
Onion ArchitectureOnion Architecture
Onion Architecture
 

Destaque

Avoiding API Waterfalls
Avoiding API WaterfallsAvoiding API Waterfalls
Avoiding API Waterfalls
Jakub Nesetril
 
Budoucnost Web Aplikaci
Budoucnost Web AplikaciBudoucnost Web Aplikaci
Budoucnost Web Aplikaci
Jakub Nesetril
 
NodeJS, CoffeeScript & Real-time Web
NodeJS, CoffeeScript & Real-time WebNodeJS, CoffeeScript & Real-time Web
NodeJS, CoffeeScript & Real-time Web
Jakub Nesetril
 
Introduction to GoodData BI PaaS
Introduction to GoodData BI PaaSIntroduction to GoodData BI PaaS
Introduction to GoodData BI PaaS
Jakub Nesetril
 
Real-time Web a NodeJS
Real-time Web a NodeJSReal-time Web a NodeJS
Real-time Web a NodeJS
Jakub Nesetril
 

Destaque (18)

Startup Accelerators
Startup AcceleratorsStartup Accelerators
Startup Accelerators
 
Avoiding API Waterfalls
Avoiding API WaterfallsAvoiding API Waterfalls
Avoiding API Waterfalls
 
Consuming API description languages - Refract & Minim
Consuming API description languages - Refract & MinimConsuming API description languages - Refract & Minim
Consuming API description languages - Refract & Minim
 
Budoucnost Web Aplikaci
Budoucnost Web AplikaciBudoucnost Web Aplikaci
Budoucnost Web Aplikaci
 
NodeJS, CoffeeScript & Real-time Web
NodeJS, CoffeeScript & Real-time WebNodeJS, CoffeeScript & Real-time Web
NodeJS, CoffeeScript & Real-time Web
 
Art of Building APIs
Art of Building APIsArt of Building APIs
Art of Building APIs
 
Introduction to GoodData BI PaaS
Introduction to GoodData BI PaaSIntroduction to GoodData BI PaaS
Introduction to GoodData BI PaaS
 
REST API tools
REST API toolsREST API tools
REST API tools
 
Advanced Regular Expressions Redux
Advanced Regular Expressions ReduxAdvanced Regular Expressions Redux
Advanced Regular Expressions Redux
 
Introduction to node.js
Introduction to node.jsIntroduction to node.js
Introduction to node.js
 
GoodData: One Stop Shop for Analytics
GoodData: One Stop Shop for AnalyticsGoodData: One Stop Shop for Analytics
GoodData: One Stop Shop for Analytics
 
Let's Have a Cup of CoffeeScript
Let's Have a Cup of CoffeeScriptLet's Have a Cup of CoffeeScript
Let's Have a Cup of CoffeeScript
 
Node at Apiary.io
Node at Apiary.ioNode at Apiary.io
Node at Apiary.io
 
Apiary
ApiaryApiary
Apiary
 
API Design Workflows
API Design WorkflowsAPI Design Workflows
API Design Workflows
 
Real-time Web a NodeJS
Real-time Web a NodeJSReal-time Web a NodeJS
Real-time Web a NodeJS
 
Microservice Stategies - Scaling your API design workflow
Microservice Stategies - Scaling your API design workflowMicroservice Stategies - Scaling your API design workflow
Microservice Stategies - Scaling your API design workflow
 
Effingham 2 Apiary Development Grant Gillard
Effingham 2 Apiary Development Grant GillardEffingham 2 Apiary Development Grant Gillard
Effingham 2 Apiary Development Grant Gillard
 

Semelhante a Harmony in API Design

Bringing the App Economy to Enterprise IT
Bringing the App Economy to Enterprise ITBringing the App Economy to Enterprise IT
Bringing the App Economy to Enterprise IT
Apigee | Google Cloud
 
Mobile API Test With Web Proxy.pdf
Mobile API Test With Web Proxy.pdfMobile API Test With Web Proxy.pdf
Mobile API Test With Web Proxy.pdf
Appdeveloper10
 

Semelhante a Harmony in API Design (20)

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
 
Bringing the App Economy to Enterprise IT
Bringing the App Economy to Enterprise ITBringing the App Economy to Enterprise IT
Bringing the App Economy to Enterprise IT
 
Webcast: Apigee Edge Product Demo
Webcast: Apigee Edge Product DemoWebcast: Apigee Edge Product Demo
Webcast: Apigee Edge Product Demo
 
Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Pri...
Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Pri...Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Pri...
Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Pri...
 
02 API Academy - path to success
02   API Academy - path to success02   API Academy - path to success
02 API Academy - path to success
 
Mobile API Test With Web Proxy.pdf
Mobile API Test With Web Proxy.pdfMobile API Test With Web Proxy.pdf
Mobile API Test With Web Proxy.pdf
 
More Coverage, Better Diagnostics
More Coverage, Better DiagnosticsMore Coverage, Better Diagnostics
More Coverage, Better Diagnostics
 
APIdays Zurich 2019 - Digital Ecosystems, fueled by APIs Matthias Biehl, API ...
APIdays Zurich 2019 - Digital Ecosystems, fueled by APIs Matthias Biehl, API ...APIdays Zurich 2019 - Digital Ecosystems, fueled by APIs Matthias Biehl, API ...
APIdays Zurich 2019 - Digital Ecosystems, fueled by APIs Matthias Biehl, API ...
 
Huge: Running an API at Scale
Huge: Running an API at ScaleHuge: Running an API at Scale
Huge: Running an API at Scale
 
Trends in Web APIs Layer 7 API Management Workshop London
Trends in Web APIs Layer 7 API Management Workshop LondonTrends in Web APIs Layer 7 API Management Workshop London
Trends in Web APIs Layer 7 API Management Workshop London
 
API Best Practices Webinar: Metrics - What to Measure
API Best Practices Webinar:  Metrics - What to MeasureAPI Best Practices Webinar:  Metrics - What to Measure
API Best Practices Webinar: Metrics - What to Measure
 
Webcast: Apigee Edge Product Demo
Webcast: Apigee Edge Product DemoWebcast: Apigee Edge Product Demo
Webcast: Apigee Edge Product Demo
 
The API Facade Pattern: People - Episode 4
The API Facade Pattern: People - Episode 4The API Facade Pattern: People - Episode 4
The API Facade Pattern: People - Episode 4
 
apidays LIVE India 2022 - Building the API Banking capability
apidays LIVE India 2022 - Building the API Banking capabilityapidays LIVE India 2022 - Building the API Banking capability
apidays LIVE India 2022 - Building the API Banking capability
 
Webinar: How API Lifecycle Management can help to Accelerate Growth
Webinar: How API Lifecycle Management can help to Accelerate GrowthWebinar: How API Lifecycle Management can help to Accelerate Growth
Webinar: How API Lifecycle Management can help to Accelerate Growth
 
Mobile API Test With Web Proxy.pdf
Mobile API Test With Web Proxy.pdfMobile API Test With Web Proxy.pdf
Mobile API Test With Web Proxy.pdf
 
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
 
Creating Datadipity
Creating DatadipityCreating Datadipity
Creating Datadipity
 
Architecting eCommerce APIs - Gluecon 13
Architecting eCommerce APIs - Gluecon 13Architecting eCommerce APIs - Gluecon 13
Architecting eCommerce APIs - Gluecon 13
 
Beyond App Development
Beyond App DevelopmentBeyond App Development
Beyond App Development
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Último (20)

Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 

Harmony in API Design