Is It API Time For A New Strategy?


Published on

API Strategy Conference

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Is It API Time For A New Strategy?

  1. 1. API Time For A New Strategy?Pat CappelaereSofware Architect An API for People and Machines 1
  2. 2. What Are Our API’s For? The Time Has Come To Design APIs For People To Meet Their Goals 2
  3. 3. API Should Target The Biggest APIConsumer We Forgot The Most Important Element Of The API Food Chain: People 3
  4. 4. We Have A Problem API Exponential GrowthCannot Keep to To Connect People Up Products Wolfram Alpha 4
  5. 5. 100 Years Ago, The Emma Days...Did Not Scale Well Either... Emma Nutt 1860-1915 The worlds first female telephone operator hired on Sept 1 1878 in Boston, Massachusetts. 5
  6. 6. When Finally Almon StrowgerChanged The API... Telephone Users Could Now Meet Their Goals Without An Intermediary Almon Brown Strowger 1839-1902 ~1900 ~1910 6
  7. 7. The Decline Of Switchboard Operators... Wolfram Alpha 7
  8. 8. So My Point Is... API’s Are Getting Too Low Level NOT API’s For People [that happen to use machines via user- agent] 8
  9. 9. Let’s Define “People”• Not A Full Time Programmer/Developer... Has A Job To Do...• But Willing to: • Learn Some Basic Web Technologies... Javascript... • Spend ~30mn To Learn Your API Katjitzeu McCloud, Namibia API Consumer 9
  10. 10. My Personal Journey• NASA SensorWeb Group On Earth Observation System of Systems 10
  11. 11. API for The International Disaster Community? Big Data... Complex GeoSpatial API 11
  12. 12. Our Geo-API Reality, Today! DisasterFloods - Port-Au-Prince, Haiti 60+ standards at different version levels ? 3+ binding types 400+ Organizations Very Hard For APIConsumer To Access 12
  13. 13. APIs Should Expose Workflows• “Since your process is what your users want, just give that to them! This is the essence of hypermedia.” Steve Klabnik Designing Hypermedia APIs• “..Expose your workflow rather than your data model”People Do Not Care About Your Data or Your API...They Care About Meeting A Specific Goal 13
  14. 14. Donald Norman: Designing For People “Designers have to produce things that tame complexity.” http://www.jnd.orgStages of Execution:-•Start at the top with the goal, the state that is tobe achieved.•The goal is translated into an intention to do someaction.•The intention must be translated into a set of internalcommands, an action sequence that can be performedto satisfy the intention.•The action sequence is still a mutual even: nothinghappens until it is executed, performed upon theworld. The Design of Everyday Things. New York. 1986 14
  15. 15. Your Service Should Expose The Goals (not the Workflows) Goals Provide Activity Sequences (aka Behaviors) To Access Data 15
  16. 16. I Want A Flood Map in My Area Of Interest Flood Map ?Hyperspectral Data 16
  17. 17. GoalSo What If...• User Would Only State the Goal Get Floodmap... Get Flood Forecast... Floods - Port-Au-Prince, Haiti• Web Services Would Figure Out What To Do and Return It To Client Some Simple Steps to Follow)• Client Would Execute As Code-On-Demand (Simple Javascript Running In Browser or Thin Client or SmartPhone App 17
  18. 18. Problem: Encoding Behavior... Many Hierarchical Finite State Machines Options... intuitive reactive HFSM Existing Game Technology Behavior Trees Hierarchical Task Network Planners Scripting Workflows Planner C++ LUA s autonomous integrated purposeful flexible Alex Champandard 18
  19. 19. There Are Some Differences From Game AI!Behaviors As Code-on-demand• Behaviors Can Be Encoded in Javascript• Behaviors Can Be Sent To Client on Request Based On User Goal• Client Can Execute Behaviors in Browser (Javascript) and Execute Activities On the Server Side By Following the Activity Links • Smartphones... Tablets... and DeskTops...• NO Need for Workflow Engine, Finite State Model Engine, Planner or Compiler 19
  20. 20. Floods - Port-Au-Prince, Haiti Get Flood MapClientServerBut Not A Replacement For Low Level API 20
  21. 21. S T R An API for A People and T MachinesViaduc de Millau, France E G THANK YOU P I Email: Twitter:@cappelaere Skype:patrice_cappelaere 21