SlideShare una empresa de Scribd logo
1 de 31
APIs           in life, music and wiffleball




Chuck Freedman | @chuckstar
What are APIs?
   ⱶ Application Programming Interface
   ⱶ Coding against a platform
   ⱶ Commanding an app, service, platform, device
   ⱶ Responding to what the platform does
   ⱶ Usually documented
   ⱶ Often referred to as ‘part of’ SDK




Chuck Freedman | @chuckstar
APIs and me
   ⱶ 13 years coding
   ⱶ 6 years building platforms
   ⱶ Working on Yahoo Maps in 2005-06
   ⱶ Similar experience at Ribbit, Litl
   ⱶ Observe how things function around me
       ⱶ How to build better platforms




Chuck Freedman | @chuckstar
Unlocking an API
   ⱶ Services like maps, twitter
       ⱶ Database, images, code
       ⱶ Powered web sites
   ⱶ Needed to become portable
       ⱶ Power apps through API
   ⱶ SDK gives developer tools to work with API
       ⱶ Documentation
       ⱶ Forums
       ⱶ Examples
       ⱶ IDE (editors)


Chuck Freedman | @chuckstar
Example API
   ⱶ Instagram
   ⱶ To browse photos
   ⱶ Encourage developers
   ⱶ Make instagram better
   ⱶ Media: Search, Popular, Load by ID
   ⱶ Locations, Tags, Relationships
   ⱶ Authentication
   ⱶ http://instagram.com/developer/




Chuck Freedman | @chuckstar
APIs that command
   ⱶ Methods
   ⱶ Simple way to tell you what to do
   ⱶ In life... the way a traffic light signals us




Chuck Freedman | @chuckstar
APIs that command
   ⱶ The traffic light




Chuck Freedman | @chuckstar
APIs that command
   ⱶ The traffic light
       ⱶ Driving
           ⱶ Go(), SlowDown(), Stop()
       ⱶ Walking
           ⱶ Walk(), DoNotWalk()
       ⱶ Timer Event




Chuck Freedman | @chuckstar
APIs with control
   ⱶ Methods with Paremeters
   ⱶ Tell you what to do with definition
   ⱶ In life... controlling a wiffleball




Chuck Freedman | @chuckstar
APIs with control
   ⱶ The wiffleball




Chuck Freedman | @chuckstar
APIs with control
   ⱶ The wiffleball
       ⱶ Not just Instructions
       ⱶ Throw()
           ⱶ Ball.Orientation
           ⱶ Speed
           ⱶ Angle
           ⱶ Grip
           ⱶ Wind




Chuck Freedman | @chuckstar
APIs with control




Chuck Freedman | @chuckstar
APIs & properties
   ⱶ Classes group similar functionality
   ⱶ Inherent values in things
   ⱶ Follow a pattern
   ⱶ In life... a basketball team




Chuck Freedman | @chuckstar
APIs & properties
   ⱶ A basketball team




Chuck Freedman | @chuckstar
APIs & properties
   ⱶ A basketball team
       ⱶ Players [Array]
           ⱶ Height
           ⱶ Speed
           ⱶ Shooting
           ⱶ Position
           ⱶ Defense




Chuck Freedman | @chuckstar
APIs & properties
   ⱶ A basketball team
       ⱶ Strategy.execute()
           ⱶ Player[1].goToAnd…
              ⱶ x,y
               ⱶ SetPick()
               ⱶ Pass()
               ⱶ Fake()
               ⱶ Shoot()




Chuck Freedman | @chuckstar
APIs with craft
   ⱶ Changing method sequence
   ⱶ Customizing user experience
   ⱶ In life... playing an instrument




Chuck Freedman | @chuckstar
APIs with craft
   ⱶ The piano




Chuck Freedman | @chuckstar
APIs with craft
   ⱶ The piano
       ⱶ Piano.keyEventListener..
           ⱶ KeyID
              ⱶ playNote()
   ⱶ The human
       ⱶ Ear.musicListener..
           ⱶ hearNotes()
               ⱶ recognizeChord()
               ⱶ enjoyHarmony()




Chuck Freedman | @chuckstar
APIs with craft
   ⱶ The piano




Chuck Freedman | @chuckstar
APIs with craft
   ⱶ The piano




Chuck Freedman | @chuckstar
APIs with response
   ⱶ Commands result in commanded response
   ⱶ App is listening, in session with service
   ⱶ A service prompts UI with events
       ⱶ text message
       ⱶ new Facebook message
       ⱶ contact logged into Skype
   ⱶ In life... knowing you’re hungry




Chuck Freedman | @chuckstar
APIs with response
   ⱶ Knowing you’re hungry




Chuck Freedman | @chuckstar
APIs with response
   ⱶ Knowing you’re hungry
       ⱶ Neurotransmitter called Neuropeptide Y (NPY) sends
         messages to the brain.
       ⱶ Low levels of glycogen and low blood sugar levels
         stimulate a spike in ghrelin.
       ⱶ When ghrelin rises, so does appetite.
       ⱶ After eating, leptin levels increase and inhibit the
         firing of NPY, so you feel full.




Chuck Freedman | @chuckstar
APIs with response
   ⱶ Knowing you’re hungry
       ⱶ stomach to brain, “I’m full”
       ⱶ brain to stomach, “start digesting”
       ⱶ stomach to brain, “I’m still hungry”
       ⱶ brain to you, “eat more”




Chuck Freedman | @chuckstar
APIs with behavior
   ⱶ Me and my wife
       ⱶ doDishes()
       ⱶ pickupClothes()
       ⱶ closeToiletSeat()
       ⱶ setTable()
       ⱶ changeDiaper()
   ⱶ Modifers
       ⱶ “Please”
       ⱶ “YourTurn”
   ⱶ Returns?

Chuck Freedman | @chuckstar
APIs with behavior
   ⱶ To each other
       ⱶ What sets you off?
       ⱶ What makes you tick?
       ⱶ What pushes your buttons?
       ⱶ What rubs you the wrong/right way?
       ⱶ What do you best respond to?
       ⱶ How does one figure you out?
       ⱶ What appeals to your senses?
       ⱶ What attracts you?




Chuck Freedman | @chuckstar
APIs of Delorean Time Machines




Chuck Freedman | @chuckstar
APIs of Delorean Time Machines
   ⱶ TimeCircuits.Status(“on”);
   ⱶ SubmitDate(destinationDate);
   ⱶ While (FluxCapacitor.isFluxing && Car.Moving) {
     ⱶ If (Car.speed == 88 && Chamber.Plutinium == “full”) {
             ⱶ TimeSpaceContinuum(TimeCircuits.toDate);
       ⱶ }
   ⱶ }




Chuck Freedman | @chuckstar
Takeaways
   ⱶ Observe the way we work with things
   ⱶ Observe the way we respond to each other
   ⱶ Design better interfaces
   ⱶ Build better apps




Chuck Freedman | @chuckstar
Thank you!
   ⱶ Questions?
   ⱶ Ideas?


   ⱶ chuckstar.com/blog
   ⱶ @chuckstar




Chuck Freedman | @chuckstar

Más contenido relacionado

Destacado

Resume2016CAD-Sep
Resume2016CAD-SepResume2016CAD-Sep
Resume2016CAD-Sep
Dan Sawodny
 
Work paper 1 ing econ 2010
Work paper 1 ing econ 2010Work paper 1 ing econ 2010
Work paper 1 ing econ 2010
Alan Loza
 
Trabajo de fisica nina ramos y sofia padilla veronica chulde jessica y katia
Trabajo de fisica nina ramos y sofia padilla veronica chulde jessica y katiaTrabajo de fisica nina ramos y sofia padilla veronica chulde jessica y katia
Trabajo de fisica nina ramos y sofia padilla veronica chulde jessica y katia
ninaramos
 

Destacado (11)

Gender Diversity: dati e realtà italiane
Gender Diversity: dati e realtà italianeGender Diversity: dati e realtà italiane
Gender Diversity: dati e realtà italiane
 
Resume2016CAD-Sep
Resume2016CAD-SepResume2016CAD-Sep
Resume2016CAD-Sep
 
j.evans-resume
j.evans-resumej.evans-resume
j.evans-resume
 
Team Design
Team DesignTeam Design
Team Design
 
Rilievo e georeferenziazione della rete di sottoservizi nell'area del Policli...
Rilievo e georeferenziazione della rete di sottoservizi nell'area del Policli...Rilievo e georeferenziazione della rete di sottoservizi nell'area del Policli...
Rilievo e georeferenziazione della rete di sottoservizi nell'area del Policli...
 
Work paper 1 ing econ 2010
Work paper 1 ing econ 2010Work paper 1 ing econ 2010
Work paper 1 ing econ 2010
 
Las Tics En La Educacion
Las Tics En La EducacionLas Tics En La Educacion
Las Tics En La Educacion
 
Refraction 2 k n jha 25.08.16
Refraction 2 k n jha   25.08.16Refraction 2 k n jha   25.08.16
Refraction 2 k n jha 25.08.16
 
Trabajo de fisica nina ramos y sofia padilla veronica chulde jessica y katia
Trabajo de fisica nina ramos y sofia padilla veronica chulde jessica y katiaTrabajo de fisica nina ramos y sofia padilla veronica chulde jessica y katia
Trabajo de fisica nina ramos y sofia padilla veronica chulde jessica y katia
 
Nuova Raccomandazione CE: buone pratiche per la gestione delle perdite idriche
Nuova Raccomandazione CE: buone pratiche per la gestione delle perdite idricheNuova Raccomandazione CE: buone pratiche per la gestione delle perdite idriche
Nuova Raccomandazione CE: buone pratiche per la gestione delle perdite idriche
 
Reading Through a Writer's Lens
Reading Through a Writer's LensReading Through a Writer's Lens
Reading Through a Writer's Lens
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
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
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
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
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

APIs in Life, Music and Wiffleball

  • 1. APIs in life, music and wiffleball Chuck Freedman | @chuckstar
  • 2. What are APIs? ⱶ Application Programming Interface ⱶ Coding against a platform ⱶ Commanding an app, service, platform, device ⱶ Responding to what the platform does ⱶ Usually documented ⱶ Often referred to as ‘part of’ SDK Chuck Freedman | @chuckstar
  • 3. APIs and me ⱶ 13 years coding ⱶ 6 years building platforms ⱶ Working on Yahoo Maps in 2005-06 ⱶ Similar experience at Ribbit, Litl ⱶ Observe how things function around me ⱶ How to build better platforms Chuck Freedman | @chuckstar
  • 4. Unlocking an API ⱶ Services like maps, twitter ⱶ Database, images, code ⱶ Powered web sites ⱶ Needed to become portable ⱶ Power apps through API ⱶ SDK gives developer tools to work with API ⱶ Documentation ⱶ Forums ⱶ Examples ⱶ IDE (editors) Chuck Freedman | @chuckstar
  • 5. Example API ⱶ Instagram ⱶ To browse photos ⱶ Encourage developers ⱶ Make instagram better ⱶ Media: Search, Popular, Load by ID ⱶ Locations, Tags, Relationships ⱶ Authentication ⱶ http://instagram.com/developer/ Chuck Freedman | @chuckstar
  • 6. APIs that command ⱶ Methods ⱶ Simple way to tell you what to do ⱶ In life... the way a traffic light signals us Chuck Freedman | @chuckstar
  • 7. APIs that command ⱶ The traffic light Chuck Freedman | @chuckstar
  • 8. APIs that command ⱶ The traffic light ⱶ Driving ⱶ Go(), SlowDown(), Stop() ⱶ Walking ⱶ Walk(), DoNotWalk() ⱶ Timer Event Chuck Freedman | @chuckstar
  • 9. APIs with control ⱶ Methods with Paremeters ⱶ Tell you what to do with definition ⱶ In life... controlling a wiffleball Chuck Freedman | @chuckstar
  • 10. APIs with control ⱶ The wiffleball Chuck Freedman | @chuckstar
  • 11. APIs with control ⱶ The wiffleball ⱶ Not just Instructions ⱶ Throw() ⱶ Ball.Orientation ⱶ Speed ⱶ Angle ⱶ Grip ⱶ Wind Chuck Freedman | @chuckstar
  • 12. APIs with control Chuck Freedman | @chuckstar
  • 13. APIs & properties ⱶ Classes group similar functionality ⱶ Inherent values in things ⱶ Follow a pattern ⱶ In life... a basketball team Chuck Freedman | @chuckstar
  • 14. APIs & properties ⱶ A basketball team Chuck Freedman | @chuckstar
  • 15. APIs & properties ⱶ A basketball team ⱶ Players [Array] ⱶ Height ⱶ Speed ⱶ Shooting ⱶ Position ⱶ Defense Chuck Freedman | @chuckstar
  • 16. APIs & properties ⱶ A basketball team ⱶ Strategy.execute() ⱶ Player[1].goToAnd… ⱶ x,y ⱶ SetPick() ⱶ Pass() ⱶ Fake() ⱶ Shoot() Chuck Freedman | @chuckstar
  • 17. APIs with craft ⱶ Changing method sequence ⱶ Customizing user experience ⱶ In life... playing an instrument Chuck Freedman | @chuckstar
  • 18. APIs with craft ⱶ The piano Chuck Freedman | @chuckstar
  • 19. APIs with craft ⱶ The piano ⱶ Piano.keyEventListener.. ⱶ KeyID ⱶ playNote() ⱶ The human ⱶ Ear.musicListener.. ⱶ hearNotes() ⱶ recognizeChord() ⱶ enjoyHarmony() Chuck Freedman | @chuckstar
  • 20. APIs with craft ⱶ The piano Chuck Freedman | @chuckstar
  • 21. APIs with craft ⱶ The piano Chuck Freedman | @chuckstar
  • 22. APIs with response ⱶ Commands result in commanded response ⱶ App is listening, in session with service ⱶ A service prompts UI with events ⱶ text message ⱶ new Facebook message ⱶ contact logged into Skype ⱶ In life... knowing you’re hungry Chuck Freedman | @chuckstar
  • 23. APIs with response ⱶ Knowing you’re hungry Chuck Freedman | @chuckstar
  • 24. APIs with response ⱶ Knowing you’re hungry ⱶ Neurotransmitter called Neuropeptide Y (NPY) sends messages to the brain. ⱶ Low levels of glycogen and low blood sugar levels stimulate a spike in ghrelin. ⱶ When ghrelin rises, so does appetite. ⱶ After eating, leptin levels increase and inhibit the firing of NPY, so you feel full. Chuck Freedman | @chuckstar
  • 25. APIs with response ⱶ Knowing you’re hungry ⱶ stomach to brain, “I’m full” ⱶ brain to stomach, “start digesting” ⱶ stomach to brain, “I’m still hungry” ⱶ brain to you, “eat more” Chuck Freedman | @chuckstar
  • 26. APIs with behavior ⱶ Me and my wife ⱶ doDishes() ⱶ pickupClothes() ⱶ closeToiletSeat() ⱶ setTable() ⱶ changeDiaper() ⱶ Modifers ⱶ “Please” ⱶ “YourTurn” ⱶ Returns? Chuck Freedman | @chuckstar
  • 27. APIs with behavior ⱶ To each other ⱶ What sets you off? ⱶ What makes you tick? ⱶ What pushes your buttons? ⱶ What rubs you the wrong/right way? ⱶ What do you best respond to? ⱶ How does one figure you out? ⱶ What appeals to your senses? ⱶ What attracts you? Chuck Freedman | @chuckstar
  • 28. APIs of Delorean Time Machines Chuck Freedman | @chuckstar
  • 29. APIs of Delorean Time Machines ⱶ TimeCircuits.Status(“on”); ⱶ SubmitDate(destinationDate); ⱶ While (FluxCapacitor.isFluxing && Car.Moving) { ⱶ If (Car.speed == 88 && Chamber.Plutinium == “full”) { ⱶ TimeSpaceContinuum(TimeCircuits.toDate); ⱶ } ⱶ } Chuck Freedman | @chuckstar
  • 30. Takeaways ⱶ Observe the way we work with things ⱶ Observe the way we respond to each other ⱶ Design better interfaces ⱶ Build better apps Chuck Freedman | @chuckstar
  • 31. Thank you! ⱶ Questions? ⱶ Ideas? ⱶ chuckstar.com/blog ⱶ @chuckstar Chuck Freedman | @chuckstar

Notas del editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n