SlideShare uma empresa Scribd logo
1 de 23
@synedra - #FILive
@synedra - #FILive
@synedra - #FILive
@synedra - #FILive
@synedra - #FILive
@synedra - #FILive
@synedra - #FILive
@synedra - #FILive
@synedra - #FILive
@synedra - #FILive
@synedra - #FILive
@synedra - #FILive
@synedra - #FILive
@synedra - #FILive
@synedra - #FILive
Photo by superhappybe - Creative Commons Attribution License http://www.flickr.com/photos/78593417@N06 Created with Haiku Deck
Photo by Kalexanderson - Creative Commons Attribution-NonCommercial-ShareAlike License http://www.flickr.com/photos/45940879@N04 Created with Haiku Deck
Photo by K J Payne - Creative Commons Attribution-ShareAlike License http://www.flickr.com/photos/34209858@N07 Created with Haiku Deck
Photo by gritts1 - Creative Commons Attribution-NonCommercial-ShareAlike License http://www.flickr.com/photos/72425002@N00 Created with Haiku Deck
Photo by Jsome1 - Creative Commons Attribution License http://www.flickr.com/photos/40145521@N00 Created with Haiku Deck
Photo by Gatesee - Creative Commons Attribution-NonCommercial License http://www.flickr.com/photos/17919943@N02 Created with Haiku Deck
Photo by pixelblume - Creative Commons Attribution-NonCommercial-ShareAlike License http://www.flickr.com/photos/65581677@N06 Created with Haiku Deck
@synedra - #FILive

Mais conteúdo relacionado

Mais procurados

How to kick ass online
How to kick ass onlineHow to kick ass online
How to kick ass onlineByteCloud
 
Influencing the Future: Encouraging Quotes from Steve Jobs
Influencing the Future: Encouraging Quotes from Steve JobsInfluencing the Future: Encouraging Quotes from Steve Jobs
Influencing the Future: Encouraging Quotes from Steve JobsHaiku Deck
 
Online petitions at Change.org
Online petitions at Change.orgOnline petitions at Change.org
Online petitions at Change.orgEric Tisch
 
Local hero - Google+
Local hero - Google+Local hero - Google+
Local hero - Google+ByteCloud
 
The pain-body
The pain-bodyThe pain-body
The pain-bodydnlowry
 
Creative Ways To Illustrate "Goal"
Creative Ways To Illustrate "Goal"Creative Ways To Illustrate "Goal"
Creative Ways To Illustrate "Goal"Haiku Deck
 
Gwyliau Hedfan a Gyrru & Gwyliau Gyrru
Gwyliau Hedfan a Gyrru & Gwyliau GyrruGwyliau Hedfan a Gyrru & Gwyliau Gyrru
Gwyliau Hedfan a Gyrru & Gwyliau GyrruMrs Serena Davies
 
Closing the Gap: Distance is No Longer A Problem
Closing the Gap: Distance is No Longer A ProblemClosing the Gap: Distance is No Longer A Problem
Closing the Gap: Distance is No Longer A ProblemVivian Lee
 
Perry Timms - “The socialisation of change”
Perry Timms - “The socialisation of change”Perry Timms - “The socialisation of change”
Perry Timms - “The socialisation of change”Alexis May
 
EdCamp Recap Template
EdCamp Recap TemplateEdCamp Recap Template
EdCamp Recap TemplateHaiku Deck
 
Guerrilla Marketing
Guerrilla MarketingGuerrilla Marketing
Guerrilla MarketingByteCloud
 
Redes Sociales para la Investigación
Redes Sociales para la InvestigaciónRedes Sociales para la Investigación
Redes Sociales para la InvestigaciónAna Aguilar
 
Multiple Measures: Quotes From Sean McComb
Multiple Measures: Quotes From Sean McCombMultiple Measures: Quotes From Sean McComb
Multiple Measures: Quotes From Sean McCombHaiku Deck
 
Collaborative Thinking
Collaborative Thinking Collaborative Thinking
Collaborative Thinking Clear Thinking
 
St. Michael's Mount
St. Michael's MountSt. Michael's Mount
St. Michael's MountByteCloud
 
Principios e ferramentas
Principios e ferramentasPrincipios e ferramentas
Principios e ferramentasLuis Abreu
 
The Buzz About Haiku Deck Zuru
The Buzz About Haiku Deck ZuruThe Buzz About Haiku Deck Zuru
The Buzz About Haiku Deck ZuruHaiku Deck
 
Rap Genius - de-indexed to re-indexed in 10 days
Rap Genius - de-indexed to re-indexed in 10 daysRap Genius - de-indexed to re-indexed in 10 days
Rap Genius - de-indexed to re-indexed in 10 daysByteCloud
 
Press Release Template
Press Release TemplatePress Release Template
Press Release TemplateHaiku Deck
 
SpringyCamp 2016 Presentation
SpringyCamp 2016 PresentationSpringyCamp 2016 Presentation
SpringyCamp 2016 PresentationAshley Creek
 

Mais procurados (20)

How to kick ass online
How to kick ass onlineHow to kick ass online
How to kick ass online
 
Influencing the Future: Encouraging Quotes from Steve Jobs
Influencing the Future: Encouraging Quotes from Steve JobsInfluencing the Future: Encouraging Quotes from Steve Jobs
Influencing the Future: Encouraging Quotes from Steve Jobs
 
Online petitions at Change.org
Online petitions at Change.orgOnline petitions at Change.org
Online petitions at Change.org
 
Local hero - Google+
Local hero - Google+Local hero - Google+
Local hero - Google+
 
The pain-body
The pain-bodyThe pain-body
The pain-body
 
Creative Ways To Illustrate "Goal"
Creative Ways To Illustrate "Goal"Creative Ways To Illustrate "Goal"
Creative Ways To Illustrate "Goal"
 
Gwyliau Hedfan a Gyrru & Gwyliau Gyrru
Gwyliau Hedfan a Gyrru & Gwyliau GyrruGwyliau Hedfan a Gyrru & Gwyliau Gyrru
Gwyliau Hedfan a Gyrru & Gwyliau Gyrru
 
Closing the Gap: Distance is No Longer A Problem
Closing the Gap: Distance is No Longer A ProblemClosing the Gap: Distance is No Longer A Problem
Closing the Gap: Distance is No Longer A Problem
 
Perry Timms - “The socialisation of change”
Perry Timms - “The socialisation of change”Perry Timms - “The socialisation of change”
Perry Timms - “The socialisation of change”
 
EdCamp Recap Template
EdCamp Recap TemplateEdCamp Recap Template
EdCamp Recap Template
 
Guerrilla Marketing
Guerrilla MarketingGuerrilla Marketing
Guerrilla Marketing
 
Redes Sociales para la Investigación
Redes Sociales para la InvestigaciónRedes Sociales para la Investigación
Redes Sociales para la Investigación
 
Multiple Measures: Quotes From Sean McComb
Multiple Measures: Quotes From Sean McCombMultiple Measures: Quotes From Sean McComb
Multiple Measures: Quotes From Sean McComb
 
Collaborative Thinking
Collaborative Thinking Collaborative Thinking
Collaborative Thinking
 
St. Michael's Mount
St. Michael's MountSt. Michael's Mount
St. Michael's Mount
 
Principios e ferramentas
Principios e ferramentasPrincipios e ferramentas
Principios e ferramentas
 
The Buzz About Haiku Deck Zuru
The Buzz About Haiku Deck ZuruThe Buzz About Haiku Deck Zuru
The Buzz About Haiku Deck Zuru
 
Rap Genius - de-indexed to re-indexed in 10 days
Rap Genius - de-indexed to re-indexed in 10 daysRap Genius - de-indexed to re-indexed in 10 days
Rap Genius - de-indexed to re-indexed in 10 days
 
Press Release Template
Press Release TemplatePress Release Template
Press Release Template
 
SpringyCamp 2016 Presentation
SpringyCamp 2016 PresentationSpringyCamp 2016 Presentation
SpringyCamp 2016 Presentation
 

Destaque

Designing irresistible APIs
Designing irresistible APIsDesigning irresistible APIs
Designing irresistible APIsKirsten Hunter
 
Securing MicroServices - ConFoo 2017
Securing MicroServices - ConFoo 2017Securing MicroServices - ConFoo 2017
Securing MicroServices - ConFoo 2017Majid Fatemian
 
Symfony2 en pièces détachées
Symfony2 en pièces détachéesSymfony2 en pièces détachées
Symfony2 en pièces détachéesHugo Hamon
 
Symfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 PerformantSymfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 PerformantHugo Hamon
 
API 101 Workshop from APIStrat Conference
API 101 Workshop from APIStrat ConferenceAPI 101 Workshop from APIStrat Conference
API 101 Workshop from APIStrat ConferenceKirsten Hunter
 
Speed up your developments with Symfony2
Speed up your developments with Symfony2Speed up your developments with Symfony2
Speed up your developments with Symfony2Hugo Hamon
 
This stuff is cool, but...HOW CAN I GET MY COMPANY TO DO IT?
This stuff is cool, but...HOW CAN I GET MY COMPANY TO DO IT?This stuff is cool, but...HOW CAN I GET MY COMPANY TO DO IT?
This stuff is cool, but...HOW CAN I GET MY COMPANY TO DO IT?Mark Heckler
 
Monitor the quality of your Symfony projects
Monitor the quality of your Symfony projectsMonitor the quality of your Symfony projects
Monitor the quality of your Symfony projectsHugo Hamon
 
Design Patterns avec PHP 5.3, Symfony et Pimple
Design Patterns avec PHP 5.3, Symfony et PimpleDesign Patterns avec PHP 5.3, Symfony et Pimple
Design Patterns avec PHP 5.3, Symfony et PimpleHugo Hamon
 
Prototyping in the cloud
Prototyping in the cloudPrototyping in the cloud
Prototyping in the cloudKirsten Hunter
 
Designing for developers
Designing for developersDesigning for developers
Designing for developersKirsten Hunter
 
Développeurs, cachez-moi ça ! (Paris Web 2011)
Développeurs, cachez-moi ça ! (Paris Web 2011)Développeurs, cachez-moi ça ! (Paris Web 2011)
Développeurs, cachez-moi ça ! (Paris Web 2011)Hugo Hamon
 
The History of PHPersistence
The History of PHPersistenceThe History of PHPersistence
The History of PHPersistenceHugo Hamon
 
Symfony2 - extending the console component
Symfony2 - extending the console componentSymfony2 - extending the console component
Symfony2 - extending the console componentHugo Hamon
 

Destaque (20)

Designing irresistible APIs
Designing irresistible APIsDesigning irresistible APIs
Designing irresistible APIs
 
Securing MicroServices - ConFoo 2017
Securing MicroServices - ConFoo 2017Securing MicroServices - ConFoo 2017
Securing MicroServices - ConFoo 2017
 
Symfony2 en pièces détachées
Symfony2 en pièces détachéesSymfony2 en pièces détachées
Symfony2 en pièces détachées
 
Symfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 PerformantSymfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 Performant
 
Quantifying fitness
Quantifying fitnessQuantifying fitness
Quantifying fitness
 
Liberating your data
Liberating your dataLiberating your data
Liberating your data
 
Api 101
Api 101Api 101
Api 101
 
API 101 Workshop from APIStrat Conference
API 101 Workshop from APIStrat ConferenceAPI 101 Workshop from APIStrat Conference
API 101 Workshop from APIStrat Conference
 
Speed up your developments with Symfony2
Speed up your developments with Symfony2Speed up your developments with Symfony2
Speed up your developments with Symfony2
 
This stuff is cool, but...HOW CAN I GET MY COMPANY TO DO IT?
This stuff is cool, but...HOW CAN I GET MY COMPANY TO DO IT?This stuff is cool, but...HOW CAN I GET MY COMPANY TO DO IT?
This stuff is cool, but...HOW CAN I GET MY COMPANY TO DO IT?
 
Monitor the quality of your Symfony projects
Monitor the quality of your Symfony projectsMonitor the quality of your Symfony projects
Monitor the quality of your Symfony projects
 
Design Patterns avec PHP 5.3, Symfony et Pimple
Design Patterns avec PHP 5.3, Symfony et PimpleDesign Patterns avec PHP 5.3, Symfony et Pimple
Design Patterns avec PHP 5.3, Symfony et Pimple
 
Facebook appsincloud
Facebook appsincloudFacebook appsincloud
Facebook appsincloud
 
API First
API FirstAPI First
API First
 
Prototyping in the cloud
Prototyping in the cloudPrototyping in the cloud
Prototyping in the cloud
 
Liberating your data
Liberating your dataLiberating your data
Liberating your data
 
Designing for developers
Designing for developersDesigning for developers
Designing for developers
 
Développeurs, cachez-moi ça ! (Paris Web 2011)
Développeurs, cachez-moi ça ! (Paris Web 2011)Développeurs, cachez-moi ça ! (Paris Web 2011)
Développeurs, cachez-moi ça ! (Paris Web 2011)
 
The History of PHPersistence
The History of PHPersistenceThe History of PHPersistence
The History of PHPersistence
 
Symfony2 - extending the console component
Symfony2 - extending the console componentSymfony2 - extending the console component
Symfony2 - extending the console component
 

Semelhante a Designing irresistible apis

15 enemies-of-success
15 enemies-of-success15 enemies-of-success
15 enemies-of-successSarwan Singh
 
L&D Summit VI Perry Timms - The Future of Work, learning and the HR profession
L&D Summit VI   Perry Timms - The Future of Work, learning and the HR professionL&D Summit VI   Perry Timms - The Future of Work, learning and the HR profession
L&D Summit VI Perry Timms - The Future of Work, learning and the HR professionITOLCEE
 
Neighborhood Showcase Presentation Template
Neighborhood Showcase Presentation TemplateNeighborhood Showcase Presentation Template
Neighborhood Showcase Presentation TemplateHaiku Deck
 
A brief history of dog fooding
A brief history of  dog foodingA brief history of  dog fooding
A brief history of dog foodingkwiktag
 
Ember.js a clear route to a modern web
Ember.js a clear route to a modern webEmber.js a clear route to a modern web
Ember.js a clear route to a modern webKris Hedges
 
if she knew what she wants...
if she knew what she wants...if she knew what she wants...
if she knew what she wants...Anne Haines
 
Increasing Conference Collaboration By Shifting From A Market-Share Environme...
Increasing Conference Collaboration By Shifting From A Market-Share Environme...Increasing Conference Collaboration By Shifting From A Market-Share Environme...
Increasing Conference Collaboration By Shifting From A Market-Share Environme...Jeff Hurt
 
Reward in a social era
Reward in a social eraReward in a social era
Reward in a social eraPerry Timms
 
StartUp Business: Convert your Idea into Something Tangible
StartUp Business: Convert your Idea into Something TangibleStartUp Business: Convert your Idea into Something Tangible
StartUp Business: Convert your Idea into Something TangibleChristos Pittis
 
About me-deborah
About me-deborahAbout me-deborah
About me-deborahDeborah
 
A közösségi web használata az iskolai könyvtárakban
A közösségi web használata az iskolai könyvtárakbanA közösségi web használata az iskolai könyvtárakban
A közösségi web használata az iskolai könyvtárakbanKámán Veronika
 
Computer jokes
Computer jokesComputer jokes
Computer jokesGaurav JI
 
Automotive Website Optimization
Automotive Website OptimizationAutomotive Website Optimization
Automotive Website OptimizationCody Jerry
 
¿Cómo competir por un poco de Atención?
¿Cómo competir por un poco de Atención?¿Cómo competir por un poco de Atención?
¿Cómo competir por un poco de Atención?Gabriel Jiménez
 
El Dorado County Chamber - Making Social Media Work
El Dorado County Chamber - Making Social Media WorkEl Dorado County Chamber - Making Social Media Work
El Dorado County Chamber - Making Social Media WorkJulie Gallaher
 
10 observations / experiences from a self learnt meditator
10 observations / experiences from a self learnt meditator10 observations / experiences from a self learnt meditator
10 observations / experiences from a self learnt meditatorViet Hung Nguyen
 
Starting an-online-business
Starting an-online-businessStarting an-online-business
Starting an-online-businessAilish Irvine
 

Semelhante a Designing irresistible apis (20)

15 enemies-of-success
15 enemies-of-success15 enemies-of-success
15 enemies-of-success
 
Genki Ch 4 Vocab - Nouns
Genki Ch 4 Vocab - NounsGenki Ch 4 Vocab - Nouns
Genki Ch 4 Vocab - Nouns
 
L&D Summit VI Perry Timms - The Future of Work, learning and the HR profession
L&D Summit VI   Perry Timms - The Future of Work, learning and the HR professionL&D Summit VI   Perry Timms - The Future of Work, learning and the HR profession
L&D Summit VI Perry Timms - The Future of Work, learning and the HR profession
 
Neighborhood Showcase Presentation Template
Neighborhood Showcase Presentation TemplateNeighborhood Showcase Presentation Template
Neighborhood Showcase Presentation Template
 
A brief history of dog fooding
A brief history of  dog foodingA brief history of  dog fooding
A brief history of dog fooding
 
Ember.js a clear route to a modern web
Ember.js a clear route to a modern webEmber.js a clear route to a modern web
Ember.js a clear route to a modern web
 
if she knew what she wants...
if she knew what she wants...if she knew what she wants...
if she knew what she wants...
 
Increasing Conference Collaboration By Shifting From A Market-Share Environme...
Increasing Conference Collaboration By Shifting From A Market-Share Environme...Increasing Conference Collaboration By Shifting From A Market-Share Environme...
Increasing Conference Collaboration By Shifting From A Market-Share Environme...
 
Reward in a social era
Reward in a social eraReward in a social era
Reward in a social era
 
StartUp Business: Convert your Idea into Something Tangible
StartUp Business: Convert your Idea into Something TangibleStartUp Business: Convert your Idea into Something Tangible
StartUp Business: Convert your Idea into Something Tangible
 
About me-deborah
About me-deborahAbout me-deborah
About me-deborah
 
A közösségi web használata az iskolai könyvtárakban
A közösségi web használata az iskolai könyvtárakbanA közösségi web használata az iskolai könyvtárakban
A közösségi web használata az iskolai könyvtárakban
 
Computer jokes
Computer jokesComputer jokes
Computer jokes
 
Automotive Website Optimization
Automotive Website OptimizationAutomotive Website Optimization
Automotive Website Optimization
 
Astrology nakshatra
Astrology nakshatraAstrology nakshatra
Astrology nakshatra
 
¿Cómo competir por un poco de Atención?
¿Cómo competir por un poco de Atención?¿Cómo competir por un poco de Atención?
¿Cómo competir por un poco de Atención?
 
P4P Cases
P4P CasesP4P Cases
P4P Cases
 
El Dorado County Chamber - Making Social Media Work
El Dorado County Chamber - Making Social Media WorkEl Dorado County Chamber - Making Social Media Work
El Dorado County Chamber - Making Social Media Work
 
10 observations / experiences from a self learnt meditator
10 observations / experiences from a self learnt meditator10 observations / experiences from a self learnt meditator
10 observations / experiences from a self learnt meditator
 
Starting an-online-business
Starting an-online-businessStarting an-online-business
Starting an-online-business
 

Mais de Kirsten Hunter

API 101 - Understanding APIs.
API 101 - Understanding APIs.API 101 - Understanding APIs.
API 101 - Understanding APIs.Kirsten Hunter
 
Demystifying REST - SFRails meetup
Demystifying REST - SFRails meetupDemystifying REST - SFRails meetup
Demystifying REST - SFRails meetupKirsten Hunter
 
PHP Architect Virtual Cloud summit
PHP Architect Virtual Cloud summitPHP Architect Virtual Cloud summit
PHP Architect Virtual Cloud summitKirsten Hunter
 
Social Marketing with LinkedIn
Social Marketing with LinkedInSocial Marketing with LinkedIn
Social Marketing with LinkedInKirsten Hunter
 
Creating Professional Applications with the LinkedIn API
Creating Professional Applications with the LinkedIn APICreating Professional Applications with the LinkedIn API
Creating Professional Applications with the LinkedIn APIKirsten Hunter
 

Mais de Kirsten Hunter (11)

Git store
Git storeGit store
Git store
 
Polyglot copy
Polyglot copyPolyglot copy
Polyglot copy
 
API 101 - Understanding APIs.
API 101 - Understanding APIs.API 101 - Understanding APIs.
API 101 - Understanding APIs.
 
Demystifying REST - SFRails meetup
Demystifying REST - SFRails meetupDemystifying REST - SFRails meetup
Demystifying REST - SFRails meetup
 
Rest schema design
Rest schema designRest schema design
Rest schema design
 
Successful developers
Successful developersSuccessful developers
Successful developers
 
Demystifying REST
Demystifying RESTDemystifying REST
Demystifying REST
 
PHP Architect Virtual Cloud summit
PHP Architect Virtual Cloud summitPHP Architect Virtual Cloud summit
PHP Architect Virtual Cloud summit
 
Social Marketing with LinkedIn
Social Marketing with LinkedInSocial Marketing with LinkedIn
Social Marketing with LinkedIn
 
LinkedIn Everywhere
LinkedIn EverywhereLinkedIn Everywhere
LinkedIn Everywhere
 
Creating Professional Applications with the LinkedIn API
Creating Professional Applications with the LinkedIn APICreating Professional Applications with the LinkedIn API
Creating Professional Applications with the LinkedIn API
 

Último

Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptxVinzoCenzo
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogueitservices996
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingShane Coughlan
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorTier1 app
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 

Último (20)

Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptx
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogue
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryError
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 

Designing irresistible apis

Notas do Editor

  1. I’ve been working with APIs (and the developers who use them) for almost 10 years I currently work as Akamai as part of their Open team. Previously I worked at Socialtext, Netflix, LinkedIn, and learned a lot about stumbling blocks for developers. My goal in life is to reduce the amount of frustration in the world, and this is an area that’s full of opportunities for improvement. I wander the world, like Caine in Kung Fu, teaching companies to make APIs that don’t make developers cry, and teaching developers how to use APIs without crying. Important note about this presentation: I’m going to talk only briefly about architecture and creating a schema. Irresistible APIs can have any one of the available architectures and pretty much any schema as long as you follow the points I make. This will make sense as you go along. Also, this presentation applies to open, external APIs as well as internal, private ones. This presentation is fairly high level, and designed to be useful to developers, product managers, designers and even executive management types!
  2. Here they are! Notes! If you have questions ask me at @synedra (or synedra@gmail.com, but that doesn’t help my Klout score!) My website is http://www.princesspolymath.com, where you can find blog posts with more links on these topics. I don’t have code on my slides, but I do have a github repository as synedra as well.
  3. Most often APIs are created “Because… API!!!” But no. That approach is generally doomed to fail. Here’s some examples of answers to this question which are more compelling.
  4. First class. What is *your* business value? What use cases are validfor you? The API needs to make these things easy, use the use cases to drive development and create tutorials Your developers are your partners. Communicate with them, support them, help them be successful. No silo’d information. Currently many, many companies have APIs as requirements for their developers, with no guidance as to the end user goals. What we end up with looks like…
  5. The potato you left in the garage for too long. Unrelated APIs, growing in all directions. Duplicated code from the main product/website and even among APIs that are doing similar functions.
  6. Netflix has the most amazing market penetration of any streaming video provider. Any video system you buy (TV, DVD player, Roku, or even tablets/mobile devices) have Netflix available. Sure, some of them have other providers but Netflix is the defacto standard, because they got there first and they push very hard to maintain that status.
  7. What is your business value? Think back to the business cases and technical cases. Monetization is rarely a reasonable goal for an API, but partner integration (even integration with other internal teams) is a perfectly valid and strong business case.
  8. How are you going to measure success? Usage, new users, activity? Consider that moving people from (resource intensive) web forms to (automatable and less resource intensive) APIs can be a great measure of API success.
  9. Now that you know what you want to get from your API, build use cases. Mobile, integration, reporting… figure out what should be easy with your API. As you design your schema, make sure that you’re supporting these use cases. Strong note – mobile developers expect, want, even need to be able to make a single call per screen. This frequently requires that you allow for expansion, combination, or some other non-RESTful affordances. Remember, an API must be designed to make the use cases you’re targeting easy.
  10. Twitter, Facebook, and Linkedin are all social networks that survive based on the constant activity and “touch” of their users. Encouraging developers to integrate, and encouraging users to use those integrations, are critical to maintaining their market share.
  11. This is easily the strongest argument for having a good, strong, reliable API. If your partners integrate your system with their systems, there will be a lot of friction discouraging them from switching to a new partner. You need to understand what’s important to your partners and support their needs, but once you do that they’re much more likely to stick with you.
  12. When designing an API, architectural considerations are frequently the only things considered as important topics. They’re important, yes, but not as important as some other items. Nonetheless, you should put some thought into these as you design your API.
  13. “An affordance is a quality of an object, or an environment, which allows a user to perform an action.” What can/should users be able to do on your system?
  14. The schema is frequently considered to be the main design decision in building an API. How you organize your resources, whether you provide expansion or other query language for developers to customize the results they get – these are all important choices, but need to be driven by use cases, not designed in a vacuum. Modeling your schema once you know what you want your API to do and how you want people to use it is a great exercise – check out RAML, blueprint, and swagger for frameworks to do this. Nonetheless, here’s a link to an interesting discussion of this topic: https://medium.com/@zwacky/design-a-beautiful-rest-api-901c73489458
  15. Authentication: Who am I? (Drivers license, Username/password) In the web world, two common authentication schemes are Oauth (oauth.org) and 2-factor authentication (http://en.wikipedia.org/wiki/Two-step_verification) Authorization: What can I do? (Buy alcohol, administer a site) Remember that these are different things! Don’t conflate them. Auditing Once you know who is doing what, including what application/user combination is doing things. Great for measurements, analytics, and driving future features/development of your product. Additionally, you can use authorization in combination with rate limiting and throttling, based on your relationship with the application provider.
  16. This is arguably the most important contributor to the success of your API, whether it’s an open API or an internal-only API. Check out Twitter’s developer portal, or Twilio’s, to get an idea of how the best developer experience looks with onboarding, tutorials, example code and documentation.
  17. You’ve got your business value, your metrics, and your use cases. Communicating this to your developer partners (all customers of your API are partners, whether internal, external, or business partners) helps them understand why you have an API.
  18. Once you’ve communicated your reasons for having an API to your developers, they’re much more likely to trust that your API is safe for them to base their own products on.
  19. Marketing to developers is not like marketing to regular people. Play with them, give them building blocks. Give them the gaming experience of “leveling up” through small tutorials, rather than having an exhausting and demoralizing 17 page single tutorial.
  20. Encourage your users to explore your API using tools like IOTools, and help them to learn how to use HTTP sniffers to watch the traffic and understand what’s going wrong when debugging.
  21. Teach your developers how to ask questions so you can answer them the first time, rather than exacerbating their frustration by iterating numerous times. I did X. I expected Y to happen. To my dismay, Z happened instead. I jumped off a cliff. I expected to sprout wings and fly. To my dismay, I plunged to my death instead. All 3 are critical pieces of information. If their expectation is incorrect, then it’s still a support issue – your documentation should have told them what was going to happen. If it’s a bug, say so and open a ticket.
  22. I don’t like ‘em. If you need an SDK for your API, it’s not easy enough. Third party libraries are fine, example code is critical, but if you have SDK’s for multiple languages you’re incurring a huge technical debt whenever you change your API, you’re making it harder to debug user problems (is it the SDK or the API) and you’re preventing your users from understanding exactly how your API works. HTTP is easy. Don’t overcomplicate your life by creating unnecessary crutches ☺
  23. All intelligent discourse on the internet ends as soon as a cat picture is posted. So here’s mine! Questions to synedra@gmail.com or @synedra. Check out the API Codex for more info on APIs (http://apicodex.3scale.net) And go out there and have fun!!!