• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
APIs in Life, Music and Wiffleball
 

APIs in Life, Music and Wiffleball

on

  • 570 views

This talk expresses my love and intrigue of APIs, demonstrating where I've found platforms and APIs in real life, music and things like wiffleball. I also riff on APIs with my wife (safe for work) and ...

This talk expresses my love and intrigue of APIs, demonstrating where I've found platforms and APIs in real life, music and things like wiffleball. I also riff on APIs with my wife (safe for work) and a bonus API-ification of the Delorean. One of my favorite presentations, I've given this talk at GeekyByNature (NYC, 3.31.2011) and at NSWG (Newburyport, 9.29.11). Comments and feedback welcome at @chuckstar or chuckstar.com/blog.

Statistics

Views

Total Views
570
Views on SlideShare
480
Embed Views
90

Actions

Likes
1
Downloads
0
Comments
0

3 Embeds 90

http://www.chuckstar.com 77
http://0.0.0.0 12
http://ranksit.com 1

Accessibility

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n

APIs in Life, Music and Wiffleball APIs in Life, Music and Wiffleball Presentation Transcript

  • APIs in life, music and wiffleballChuck 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’ SDKChuck 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 platformsChuck 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 usChuck Freedman | @chuckstar
  • APIs that command ⱶ The traffic lightChuck Freedman | @chuckstar
  • APIs that command ⱶ The traffic light ⱶ Driving ⱶ Go(), SlowDown(), Stop() ⱶ Walking ⱶ Walk(), DoNotWalk() ⱶ Timer EventChuck Freedman | @chuckstar
  • APIs with control ⱶ Methods with Paremeters ⱶ Tell you what to do with definition ⱶ In life... controlling a wiffleballChuck Freedman | @chuckstar
  • APIs with control ⱶ The wiffleballChuck Freedman | @chuckstar
  • APIs with control ⱶ The wiffleball ⱶ Not just Instructions ⱶ Throw() ⱶ Ball.Orientation ⱶ Speed ⱶ Angle ⱶ Grip ⱶ WindChuck Freedman | @chuckstar
  • APIs with controlChuck Freedman | @chuckstar
  • APIs & properties ⱶ Classes group similar functionality ⱶ Inherent values in things ⱶ Follow a pattern ⱶ In life... a basketball teamChuck Freedman | @chuckstar
  • APIs & properties ⱶ A basketball teamChuck Freedman | @chuckstar
  • APIs & properties ⱶ A basketball team ⱶ Players [Array] ⱶ Height ⱶ Speed ⱶ Shooting ⱶ Position ⱶ DefenseChuck 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 instrumentChuck Freedman | @chuckstar
  • APIs with craft ⱶ The pianoChuck 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 pianoChuck Freedman | @chuckstar
  • APIs with craft ⱶ The pianoChuck 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 hungryChuck Freedman | @chuckstar
  • APIs with response ⱶ Knowing you’re hungryChuck 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 MachinesChuck 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 appsChuck Freedman | @chuckstar
  • Thank you! ⱶ Questions? ⱶ Ideas? ⱶ chuckstar.com/blog ⱶ @chuckstarChuck Freedman | @chuckstar