0
API Time For A New Strategy?Pat CappelaereSofware Architect                    An API for People and                      ...
What Are Our API’s For?  The Time Has Come To  Design APIs For People   To Meet Their Goals                           2
API Should Target The Biggest APIConsumer       We Forgot The Most Important   Element Of The API Food Chain: People   3
We Have A Problem                        API Exponential GrowthCannot Keep to To Connect People Up       Products         ...
100 Years Ago, The Emma Days...Did Not Scale Well Either...             Emma Nutt             1860-1915  The worlds first ...
When Finally Almon StrowgerChanged The API... Telephone Users Could Now Meet Their Goals Without An Intermediary   Almon B...
The Decline Of Switchboard Operators...                                   Wolfram Alpha                                   ...
So My Point Is...                 API’s Are Getting Too Low Level         NOT API’s For People [that happen to use machine...
Let’s Define “People”• Not A Full Time Programmer/Developer... Has A Job To Do...• But Willing to:   • Learn Some Basic We...
My Personal Journey• NASA SensorWeb       Group On Earth Observation System of                     Systems                ...
API for The International Disaster          Community?          Big Data... Complex GeoSpatial                        API ...
Our Geo-API Reality, Today!                     DisasterFloods - Port-Au-Prince, Haiti           60+ standards    at diffe...
APIs Should Expose Workflows• “Since your process is what your users  want, just give that to them! This is the  essence o...
Donald Norman: Designing For People                                   “Designers have to produce things that tame complexi...
Your Service Should Expose The Goals (not the                      Workflows)       Goals   Provide    Activity  Sequences...
I Want A Flood Map in My Area Of                        Interest  Flood Map       ?Hyperspectral Data                     ...
GoalSo What If...• User Would Only State the Goal                                                      Get Floodmap...    ...
Problem: Encoding Behavior...    Many         Hierarchical Finite State Machines  Options...                              ...
There Are Some Differences From                                                       Game AI!Behaviors As Code-on-demand•...
Floods - Port-Au-Prince, Haiti                                      Get Flood MapClientServerBut Not A Replacement For Low...
S                                 T                                 R   An API for                                 A   Peo...
Upcoming SlideShare
Loading in...5
×

Is It API Time For A New Strategy?

622

Published on

API Strategy Conference

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
622
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
17
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "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 http://aigamedev.com/open/articles/behavior-trees-part1/ http://aigamedev.com/open/articles/behavior-trees-part2/ 18 http://aigamedev.com/open/articles/behavior-trees-part3/
  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: pat@cappelaere.com Twitter:@cappelaere Skype:patrice_cappelaere 21 http://www.slideshare.net/cappelaere
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×