SlideShare ist ein Scribd-Unternehmen logo
1 von 21
API Time For A New Strategy?
Pat Cappelaere
Sofware Architect
                    An API for People and
                           Machines




                                            1
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 API
Consumer




       We Forgot The Most Important
   Element Of The API Food Chain: People   3
We Have A Problem

                        API Exponential Growth




Cannot Keep to
 To Connect People Up
       Products
                                       Wolfram Alpha
                                                       4
100 Years Ago, The Emma Days...
Did Not Scale Well Either...




             Emma Nutt
             1860-1915
  The world's first female
  telephone operator hired
  on Sept 1 1878 in Boston,
  Massachusetts.




                                  5
When Finally Almon Strowger
Changed The API...


 Telephone Users Could Now Meet
 Their Goals Without An Intermediary   Almon Brown
                                       Strowger
                                       1839-1902

    ~1900             ~1910




                                                     6
The Decline Of Switchboard Operators...




                                   Wolfram Alpha




                                                   7
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
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
My Personal Journey

• NASA SensorWeb




       Group On Earth Observation System of
                     Systems
                                              10
API for The International Disaster
          Community?




          Big Data... Complex GeoSpatial
                        API            11
Our Geo-API Reality, Today!
                     DisasterFloods - Port-Au-Prince, Haiti

           60+ standards
    at different version levels
                                                              ?
         3+ binding types
       400+ Organizations




 Very Hard For API
Consumer To Access                                            12
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
Donald Norman: Designing For People
                                   “Designers have to produce things that tame complexity.”

                                                                                              http://www.jnd.org




Stages of Execution:-
•Start at the top with the goal, the state that is to
be achieved.
•The goal is translated into an intention to do some
action.
•The intention must be translated into a set of internal
commands, an action sequence that can be performed
to satisfy the intention.
•The action sequence is still a mutual even: nothing
happens until it is executed, performed upon the
world.




                                                                The Design of Everyday Things. New York.

                                                                                1986                           14
Your Service Should Expose The Goals (not the
                      Workflows)




       Goals

   Provide
    Activity
  Sequences
    (aka Behaviors)




   To Access
      Data                                      15
I Want A Flood Map in My Area Of
                        Interest




  Flood Map



       ?




Hyperspectral Data                            16
Goal
So 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
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/
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
Floods - Port-Au-Prince, Haiti
                                      Get Flood Map




Client

Server




But Not A Replacement For Low Level API               20
S
                                 T
                                 R   An API for
                                 A   People and
                                 T     Machines

Viaduc de Millau, France
                                 E
                                 G
                           THANK YOU
                             P
                             I


                     Email: pat@cappelaere.com
                        Twitter:@cappelaere
                      Skype:patrice_cappelaere
                                                      21
               http://www.slideshare.net/cappelaere

Weitere ähnliche Inhalte

Ähnlich wie Is It API Time For A New Strategy?

Device APIs at TakeOff Conference
Device APIs at TakeOff ConferenceDevice APIs at TakeOff Conference
Device APIs at TakeOff Conferencedianacheng
 
4 D Computing: Life comes at us polydimensionally
4 D Computing: Life comes at us polydimensionally4 D Computing: Life comes at us polydimensionally
4 D Computing: Life comes at us polydimensionallyJoe Raimondo
 
[B3]couchbase server for speed and scale with interactive applications sdec...
[B3]couchbase server for speed and scale with interactive applications   sdec...[B3]couchbase server for speed and scale with interactive applications   sdec...
[B3]couchbase server for speed and scale with interactive applications sdec...NAVER D2
 
Nolan Wright: Appcelerator's World-Class Ecosystem
Nolan Wright: Appcelerator's World-Class Ecosystem Nolan Wright: Appcelerator's World-Class Ecosystem
Nolan Wright: Appcelerator's World-Class Ecosystem Axway Appcelerator
 
Fast Track - Windows 8 Apps
Fast Track - Windows 8 AppsFast Track - Windows 8 Apps
Fast Track - Windows 8 AppsAnkit Kashyap
 
Siruna session at Drupalcon Paris 2009
Siruna session at Drupalcon Paris 2009Siruna session at Drupalcon Paris 2009
Siruna session at Drupalcon Paris 2009Tom Deryckere
 
Is the Browser a Transitional Technology?
Is the Browser a Transitional Technology?Is the Browser a Transitional Technology?
Is the Browser a Transitional Technology?Allen Wirfs-Brock
 
Device Independent API design
Device Independent API designDevice Independent API design
Device Independent API designAmrita jain
 
Drupalcamp New York 2009
Drupalcamp New York 2009Drupalcamp New York 2009
Drupalcamp New York 2009Tom Deryckere
 
Delivering services to the Mash-up Generation
 Delivering services to the Mash-up Generation Delivering services to the Mash-up Generation
Delivering services to the Mash-up GenerationEd Parsons
 
Ibrussels For Stedenlink
Ibrussels For StedenlinkIbrussels For Stedenlink
Ibrussels For StedenlinkKoen Delvaux
 
Android Development...The 20,000-Foot View
Android Development...The 20,000-Foot ViewAndroid Development...The 20,000-Foot View
Android Development...The 20,000-Foot ViewCommonsWare
 
Agileload - load testing tool for better web performance
Agileload - load testing tool for better web performanceAgileload - load testing tool for better web performance
Agileload - load testing tool for better web performanceAgileload testing
 
Node js - Enterprise Class
Node js - Enterprise ClassNode js - Enterprise Class
Node js - Enterprise ClassGlenn Block
 
Faбrik - TimesOpen: Sockets and Streams - Sept. 2012
Faбrik - TimesOpen: Sockets and Streams - Sept. 2012Faбrik - TimesOpen: Sockets and Streams - Sept. 2012
Faбrik - TimesOpen: Sockets and Streams - Sept. 2012NYT-TimesOpen
 
Teaching Elephants to Dance (Federal Audience): A Developer's Journey to Digi...
Teaching Elephants to Dance (Federal Audience): A Developer's Journey to Digi...Teaching Elephants to Dance (Federal Audience): A Developer's Journey to Digi...
Teaching Elephants to Dance (Federal Audience): A Developer's Journey to Digi...Burr Sutter
 

Ähnlich wie Is It API Time For A New Strategy? (20)

Open GeoSocial API
Open GeoSocial APIOpen GeoSocial API
Open GeoSocial API
 
Device APIs at TakeOff Conference
Device APIs at TakeOff ConferenceDevice APIs at TakeOff Conference
Device APIs at TakeOff Conference
 
4 D Computing: Life comes at us polydimensionally
4 D Computing: Life comes at us polydimensionally4 D Computing: Life comes at us polydimensionally
4 D Computing: Life comes at us polydimensionally
 
[B3]couchbase server for speed and scale with interactive applications sdec...
[B3]couchbase server for speed and scale with interactive applications   sdec...[B3]couchbase server for speed and scale with interactive applications   sdec...
[B3]couchbase server for speed and scale with interactive applications sdec...
 
Nolan Wright: Appcelerator's World-Class Ecosystem
Nolan Wright: Appcelerator's World-Class Ecosystem Nolan Wright: Appcelerator's World-Class Ecosystem
Nolan Wright: Appcelerator's World-Class Ecosystem
 
Fast Track - Windows 8 Apps
Fast Track - Windows 8 AppsFast Track - Windows 8 Apps
Fast Track - Windows 8 Apps
 
Siruna session at Drupalcon Paris 2009
Siruna session at Drupalcon Paris 2009Siruna session at Drupalcon Paris 2009
Siruna session at Drupalcon Paris 2009
 
Is the Browser a Transitional Technology?
Is the Browser a Transitional Technology?Is the Browser a Transitional Technology?
Is the Browser a Transitional Technology?
 
Device Independent API design
Device Independent API designDevice Independent API design
Device Independent API design
 
Drupalcamp New York 2009
Drupalcamp New York 2009Drupalcamp New York 2009
Drupalcamp New York 2009
 
Dmeeker Finala
Dmeeker FinalaDmeeker Finala
Dmeeker Finala
 
Delivering services to the Mash-up Generation
 Delivering services to the Mash-up Generation Delivering services to the Mash-up Generation
Delivering services to the Mash-up Generation
 
Ibrussels For Stedenlink
Ibrussels For StedenlinkIbrussels For Stedenlink
Ibrussels For Stedenlink
 
Android Development...The 20,000-Foot View
Android Development...The 20,000-Foot ViewAndroid Development...The 20,000-Foot View
Android Development...The 20,000-Foot View
 
biggest technology trends
biggest technology trendsbiggest technology trends
biggest technology trends
 
Agileload - load testing tool for better web performance
Agileload - load testing tool for better web performanceAgileload - load testing tool for better web performance
Agileload - load testing tool for better web performance
 
Node js - Enterprise Class
Node js - Enterprise ClassNode js - Enterprise Class
Node js - Enterprise Class
 
Faбrik - TimesOpen: Sockets and Streams - Sept. 2012
Faбrik - TimesOpen: Sockets and Streams - Sept. 2012Faбrik - TimesOpen: Sockets and Streams - Sept. 2012
Faбrik - TimesOpen: Sockets and Streams - Sept. 2012
 
Teaching Elephants to Dance (Federal Audience): A Developer's Journey to Digi...
Teaching Elephants to Dance (Federal Audience): A Developer's Journey to Digi...Teaching Elephants to Dance (Federal Audience): A Developer's Journey to Digi...
Teaching Elephants to Dance (Federal Audience): A Developer's Journey to Digi...
 
Web Hooks
Web HooksWeb Hooks
Web Hooks
 

Mehr von Pat Cappelaere

Shoudl We Have An API Day?
Shoudl We Have An API Day?Shoudl We Have An API Day?
Shoudl We Have An API Day?Pat Cappelaere
 
REST Level 5 - A Trek To The Summit
REST Level 5 - A Trek To The SummitREST Level 5 - A Trek To The Summit
REST Level 5 - A Trek To The SummitPat Cappelaere
 
HyspIRI IPM Goes Social
HyspIRI IPM Goes SocialHyspIRI IPM Goes Social
HyspIRI IPM Goes SocialPat Cappelaere
 
Want Your API to Stick? Try Story-Telling...
Want Your API to Stick? Try Story-Telling...Want Your API to Stick? Try Story-Telling...
Want Your API to Stick? Try Story-Telling...Pat Cappelaere
 
RESTFul Services, Does it Matter Anymore?
RESTFul Services, Does it Matter Anymore?RESTFul Services, Does it Matter Anymore?
RESTFul Services, Does it Matter Anymore?Pat Cappelaere
 
Cathalac Story Based on Actual Data
Cathalac Story Based on Actual DataCathalac Story Based on Actual Data
Cathalac Story Based on Actual DataPat Cappelaere
 
Radarsat Facebook App Concept
Radarsat Facebook App ConceptRadarsat Facebook App Concept
Radarsat Facebook App ConceptPat Cappelaere
 
Story Telling as an Activity-based Architecture
Story Telling as an Activity-based ArchitectureStory Telling as an Activity-based Architecture
Story Telling as an Activity-based ArchitecturePat Cappelaere
 
Building Tomorrow's Web Services
Building Tomorrow's Web ServicesBuilding Tomorrow's Web Services
Building Tomorrow's Web ServicesPat Cappelaere
 
NASA SensorWeb Enterprise Services
NASA SensorWeb Enterprise ServicesNASA SensorWeb Enterprise Services
NASA SensorWeb Enterprise ServicesPat Cappelaere
 
Intelligent Payload Processing
Intelligent Payload ProcessingIntelligent Payload Processing
Intelligent Payload ProcessingPat Cappelaere
 
Restful Security Requirements
Restful Security RequirementsRestful Security Requirements
Restful Security RequirementsPat Cappelaere
 
Two Degrees To SensoWeb
Two Degrees To SensoWebTwo Degrees To SensoWeb
Two Degrees To SensoWebPat Cappelaere
 
EO/NRE Interoperability Presentation
EO/NRE Interoperability PresentationEO/NRE Interoperability Presentation
EO/NRE Interoperability PresentationPat Cappelaere
 
Geobliki: A Platform For Emergency Response
Geobliki: A Platform For Emergency ResponseGeobliki: A Platform For Emergency Response
Geobliki: A Platform For Emergency ResponsePat Cappelaere
 

Mehr von Pat Cappelaere (20)

Shoudl We Have An API Day?
Shoudl We Have An API Day?Shoudl We Have An API Day?
Shoudl We Have An API Day?
 
REST Level 5 - A Trek To The Summit
REST Level 5 - A Trek To The SummitREST Level 5 - A Trek To The Summit
REST Level 5 - A Trek To The Summit
 
HyspIRI IPM Goes Social
HyspIRI IPM Goes SocialHyspIRI IPM Goes Social
HyspIRI IPM Goes Social
 
Want Your API to Stick? Try Story-Telling...
Want Your API to Stick? Try Story-Telling...Want Your API to Stick? Try Story-Telling...
Want Your API to Stick? Try Story-Telling...
 
RESTFul Services, Does it Matter Anymore?
RESTFul Services, Does it Matter Anymore?RESTFul Services, Does it Matter Anymore?
RESTFul Services, Does it Matter Anymore?
 
Cathalac Story Based on Actual Data
Cathalac Story Based on Actual DataCathalac Story Based on Actual Data
Cathalac Story Based on Actual Data
 
Radarsat Facebook App Concept
Radarsat Facebook App ConceptRadarsat Facebook App Concept
Radarsat Facebook App Concept
 
Story Telling as an Activity-based Architecture
Story Telling as an Activity-based ArchitectureStory Telling as an Activity-based Architecture
Story Telling as an Activity-based Architecture
 
Building Tomorrow's Web Services
Building Tomorrow's Web ServicesBuilding Tomorrow's Web Services
Building Tomorrow's Web Services
 
NASA SensorWeb Enterprise Services
NASA SensorWeb Enterprise ServicesNASA SensorWeb Enterprise Services
NASA SensorWeb Enterprise Services
 
RIP
RIPRIP
RIP
 
Nasa aip5.pptx
Nasa aip5.pptxNasa aip5.pptx
Nasa aip5.pptx
 
Intelligent Payload Processing
Intelligent Payload ProcessingIntelligent Payload Processing
Intelligent Payload Processing
 
Restful Security Requirements
Restful Security RequirementsRestful Security Requirements
Restful Security Requirements
 
Two Degrees To SensoWeb
Two Degrees To SensoWebTwo Degrees To SensoWeb
Two Degrees To SensoWeb
 
Esip Jan 09
Esip Jan 09Esip Jan 09
Esip Jan 09
 
EO/NRE Interoperability Presentation
EO/NRE Interoperability PresentationEO/NRE Interoperability Presentation
EO/NRE Interoperability Presentation
 
A RESTful WfXML
A RESTful WfXMLA RESTful WfXML
A RESTful WfXML
 
RESTful OGC Services
RESTful OGC ServicesRESTful OGC Services
RESTful OGC Services
 
Geobliki: A Platform For Emergency Response
Geobliki: A Platform For Emergency ResponseGeobliki: A Platform For Emergency Response
Geobliki: A Platform For Emergency Response
 

Is It API Time For A New Strategy?

  • 1. API Time For A New Strategy? Pat Cappelaere Sofware Architect An API for People and Machines 1
  • 2. What Are Our API’s For? The Time Has Come To Design APIs For People To Meet Their Goals 2
  • 3. API Should Target The Biggest API Consumer We Forgot The Most Important Element Of The API Food Chain: People 3
  • 4. We Have A Problem API Exponential Growth Cannot Keep to To Connect People Up Products Wolfram Alpha 4
  • 5. 100 Years Ago, The Emma Days... Did Not Scale Well Either... Emma Nutt 1860-1915 The world's first female telephone operator hired on Sept 1 1878 in Boston, Massachusetts. 5
  • 6. When Finally Almon Strowger Changed The API... Telephone Users Could Now Meet Their Goals Without An Intermediary Almon Brown Strowger 1839-1902 ~1900 ~1910 6
  • 7. The Decline Of Switchboard Operators... Wolfram Alpha 7
  • 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. 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. My Personal Journey • NASA SensorWeb Group On Earth Observation System of Systems 10
  • 11. API for The International Disaster Community? Big Data... Complex GeoSpatial API 11
  • 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 API Consumer To Access 12
  • 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. Donald Norman: Designing For People “Designers have to produce things that tame complexity.” http://www.jnd.org Stages of Execution:- •Start at the top with the goal, the state that is to be achieved. •The goal is translated into an intention to do some action. •The intention must be translated into a set of internal commands, an action sequence that can be performed to satisfy the intention. •The action sequence is still a mutual even: nothing happens until it is executed, performed upon the world. The Design of Everyday Things. New York. 1986 14
  • 15. Your Service Should Expose The Goals (not the Workflows) Goals Provide Activity Sequences (aka Behaviors) To Access Data 15
  • 16. I Want A Flood Map in My Area Of Interest Flood Map ? Hyperspectral Data 16
  • 17. Goal So 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. 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. 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. Floods - Port-Au-Prince, Haiti Get Flood Map Client Server But Not A Replacement For Low Level API 20
  • 21. S T R An API for A People and T Machines Viaduc de Millau, France E G THANK YOU P I Email: pat@cappelaere.com Twitter:@cappelaere Skype:patrice_cappelaere 21 http://www.slideshare.net/cappelaere