Want Your API to Stick?
Try Story-Telling...
                          Once Upon A Time...
PatCappelaere
pat@cappelaere.com
www.vightel.com
twitter: @cappelaere




                                            1
Rationale
• Certain parts of the monkey’s brains are activated both when the monkeys perform
  an action and when they witness other monkeys performing that same action.


• We live through the actions and stories of others. Good stories are more memorable


• An API that helps users tell stories will create stronger emotional relevance than
  resource-centric API


  Your API needs to enable users to tell GREAT Stories

  This   will increases the likelihood that it will be accepted and adopted.



                                                                                       2
Why Do People Love Facebook?

• Gives People An Opportunity To Tell Great Stories (with Pictures)
• Gives People An Opportunity To Read Other People’s Good And Bad Stories
  (with Pictures)




                                                                            3
Emil’s Story
              http://www.slideshare.net/cappelaere/cathalac-story-based-on-actual-data

• Emil Cherrington, CATHALAC (Panama) also on Facebook Belize Group


• Emil tasked EO1 satellite


• Emil downloaded observation


• Emil processed imagery


• Emil shared imagery




      Story Went Viral... Environment Ministry Was Alerted...
       Spanish Company Was Fined For Breaking The Law
                                                                                     4
Story Corollary

• Belize Group Users Read Emil’s Story


• They Now Know They Can Duplicate Emil’s Activities During a Disaster


• They Shared it With Their Friends


• Now They Are Empowered...




                                                                         5
Stories Can Be Simple...

• {user} {verb} {object} {context}




                                     6
OpenGeoSpatial Consortium Activities Examples

 {user | system} {acquired} {observation}

 {user} {searches for} {observations | products | maps | features | …}

 {user} {is viewing} {an observation | map | product | …}

 {user} {likes} {observation}

 {user} {processed} {observation}

 {user} {executed} {algorithm} {observation}

 {user} {downloaded} {observations | products | map layer}

 {user} {ordered} {imagery product}

 {user} {requested feasibility) {location}

 {user} {requested imaging) {location}

 {user} {collaborates with} {user}
                                                                         7
Stories Are Easy To Generate and Share

• Activity Streams Standard
  • Facebook, MySpaces, Google Buzz, Yammer,
    Atlassian, Superfeedr, Windows Live, IBM,
    BBC, Drupal...




                                                8
Current State of the API



                           REST
                           Level 3
                           Resources
                           HTTP Verbs, Caching,
                           Hypermedia Controls




                                              9
Activity-Oriented Architecture - Level 4




Focus On Users Activities that Are Enabled By API   10
Activity = MOST Important Resource




           We Are Still Talking About REST...
Example:        Verbs
Facebook Web
Apps



               Objects




                         12
And Linked Data

 <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb#
radarsat: http://ogp.me/ns/fb/radarsat#">

  <meta   property="fb:app_id"   content="174581479345038" />
  <meta   property="og:type"     content="radarsat:floodmap" />
  <meta   property="og:url"      content="http://radartsat.geobliki.com/URLhere" />
  <meta   property="og:title"    content="My Floodmap" />
  <meta   property="og:image"    content="https://fbcdn.net/images/devsite/img.png" />




                                                                                         13
Why Does This Matter?

• Because It Will Get Us To The Next Level




                                             14
The Other Thing


Tomorrow’s Primary Users
of Your Web Site Will Not
Be Humans


        Forget about a web page interface...
        User-agents will be primary users of your app...   15
Preparing For Level 5

            SIRI or Paperclip as User-Agents
                                                      Web Apps




     Goal                                        Activities


                                 Behavior Tree
                                                              16
Everything Becomes Connected in OpenGraph




   And Searchable... Including Activities Sparql?   17
UserAgents Will Crawl The Web

 Not For Web Pages But For Activities to Perform on Behalf of Users


 ... And Meet User Goals.




                                                                      18
Activities = Action Links = Hypermedia Controls

 • Can Be Represented in JSON


   • SIREN


   • HAL


   • JSON-Schema / Hyper Meta-Schema


 • Can Be Described in API Discovery Document




                                     Not a Foreign Concept
                                                             19
“Agile” Instructions
                                Activity

Design User Stories

Implement User Activities

Publish User Activities

Generate User Activity Stream
Repeat


                                       20
Take Away: Story-Telling For Your API

 Linked Data in Web Apps


 For Tomorrow’s Users (Not Human)


 Using Activities and Action Links Within a Semantic Web


 and Social Networks


                                                       Thank You
   YOUR API                                                Pat Cappelaere
                                                      pat@cappelaere.com
                                                     http://www.vightel.com



                                                                              21

Want Your API to Stick? Try Story-Telling...

  • 1.
    Want Your APIto Stick? Try Story-Telling... Once Upon A Time... PatCappelaere pat@cappelaere.com www.vightel.com twitter: @cappelaere 1
  • 2.
    Rationale • Certain partsof the monkey’s brains are activated both when the monkeys perform an action and when they witness other monkeys performing that same action. • We live through the actions and stories of others. Good stories are more memorable • An API that helps users tell stories will create stronger emotional relevance than resource-centric API Your API needs to enable users to tell GREAT Stories This will increases the likelihood that it will be accepted and adopted. 2
  • 3.
    Why Do PeopleLove Facebook? • Gives People An Opportunity To Tell Great Stories (with Pictures) • Gives People An Opportunity To Read Other People’s Good And Bad Stories (with Pictures) 3
  • 4.
    Emil’s Story http://www.slideshare.net/cappelaere/cathalac-story-based-on-actual-data • Emil Cherrington, CATHALAC (Panama) also on Facebook Belize Group • Emil tasked EO1 satellite • Emil downloaded observation • Emil processed imagery • Emil shared imagery Story Went Viral... Environment Ministry Was Alerted... Spanish Company Was Fined For Breaking The Law 4
  • 5.
    Story Corollary • BelizeGroup Users Read Emil’s Story • They Now Know They Can Duplicate Emil’s Activities During a Disaster • They Shared it With Their Friends • Now They Are Empowered... 5
  • 6.
    Stories Can BeSimple... • {user} {verb} {object} {context} 6
  • 7.
    OpenGeoSpatial Consortium ActivitiesExamples {user | system} {acquired} {observation} {user} {searches for} {observations | products | maps | features | …} {user} {is viewing} {an observation | map | product | …} {user} {likes} {observation} {user} {processed} {observation} {user} {executed} {algorithm} {observation} {user} {downloaded} {observations | products | map layer} {user} {ordered} {imagery product} {user} {requested feasibility) {location} {user} {requested imaging) {location} {user} {collaborates with} {user} 7
  • 8.
    Stories Are EasyTo Generate and Share • Activity Streams Standard • Facebook, MySpaces, Google Buzz, Yammer, Atlassian, Superfeedr, Windows Live, IBM, BBC, Drupal... 8
  • 9.
    Current State ofthe API REST Level 3 Resources HTTP Verbs, Caching, Hypermedia Controls 9
  • 10.
    Activity-Oriented Architecture -Level 4 Focus On Users Activities that Are Enabled By API 10
  • 11.
    Activity = MOSTImportant Resource We Are Still Talking About REST...
  • 12.
    Example: Verbs Facebook Web Apps Objects 12
  • 13.
    And Linked Data <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# radarsat: http://ogp.me/ns/fb/radarsat#"> <meta property="fb:app_id" content="174581479345038" /> <meta property="og:type" content="radarsat:floodmap" /> <meta property="og:url" content="http://radartsat.geobliki.com/URLhere" /> <meta property="og:title" content="My Floodmap" /> <meta property="og:image" content="https://fbcdn.net/images/devsite/img.png" /> 13
  • 14.
    Why Does ThisMatter? • Because It Will Get Us To The Next Level 14
  • 15.
    The Other Thing Tomorrow’sPrimary Users of Your Web Site Will Not Be Humans Forget about a web page interface... User-agents will be primary users of your app... 15
  • 16.
    Preparing For Level5 SIRI or Paperclip as User-Agents Web Apps Goal Activities Behavior Tree 16
  • 17.
    Everything Becomes Connectedin OpenGraph And Searchable... Including Activities Sparql? 17
  • 18.
    UserAgents Will CrawlThe Web Not For Web Pages But For Activities to Perform on Behalf of Users ... And Meet User Goals. 18
  • 19.
    Activities = ActionLinks = Hypermedia Controls • Can Be Represented in JSON • SIREN • HAL • JSON-Schema / Hyper Meta-Schema • Can Be Described in API Discovery Document Not a Foreign Concept 19
  • 20.
    “Agile” Instructions Activity Design User Stories Implement User Activities Publish User Activities Generate User Activity Stream Repeat 20
  • 21.
    Take Away: Story-TellingFor Your API Linked Data in Web Apps For Tomorrow’s Users (Not Human) Using Activities and Action Links Within a Semantic Web and Social Networks Thank You YOUR API Pat Cappelaere pat@cappelaere.com http://www.vightel.com 21