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.
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
13. APIs & properties
ⱶ Classes group similar functionality
ⱶ Inherent values in things
ⱶ Follow a pattern
ⱶ In life... a basketball team
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
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
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