21
API Time For A New Strategy? Pat Cappelaere Sofware Architect An API for People and Machines 1

Is It API Time For A New Strategy?

Embed Size (px)

DESCRIPTION

API Strategy Conference

Citation preview

Page 1: Is It API Time For A New Strategy?

API Time For A New Strategy?Pat CappelaereSofware Architect

An API for People and Machines

1

Page 2: Is It API Time For A New Strategy?

What Are Our API’s For?

The Time Has Come To Design APIs For People

To Meet Their Goals

2

Page 3: Is It API Time For A New Strategy?

API Should Target The Biggest API Consumer

We Forgot The Most Important Element Of The API Food Chain:

People 3

Page 4: Is It API Time For A New Strategy?

We Have A Problem

Wolfram Alpha

API Exponential Growth

Cannot Keep UpTo Connect People to Products

4

Page 5: Is It API Time For A New Strategy?

100 Years Ago, The Emma Days... Did Not Scale Well Either...

Emma Nutt1860-1915

The world's first female telephone operator hired on Sept 1 1878 in Boston, Massachusetts.

5

Page 6: Is It API Time For A New Strategy?

When Finally Almon Strowger Changed The API...

~1900 ~1910

Almon Brown Strowger 1839-1902

Telephone Users Could Now Meet Their Goals Without An Intermediary

6

Page 7: Is It API Time For A New Strategy?

The Decline Of Switchboard Operators...

Wolfram Alpha

7

Page 8: Is It API Time For A New Strategy?

NOT

So My Point Is...

API’s For People [that happen to use machines via user-agent]

API’s Are Getting Too Low Level

8

Page 9: Is It API Time For A New Strategy?

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

9

API Consumer

Page 10: Is It API Time For A New Strategy?

My Personal Journey

• NASA SensorWeb

Group On Earth Observation System of Systems10

Page 11: Is It API Time For A New Strategy?

API for The International Disaster Community?

Big Data... Complex GeoSpatial API 11

Page 12: Is It API Time For A New Strategy?

Our Geo-API Reality, Today!

Floods - Port-Au-Prince, Haiti

60+ standardsat different version levels

3+ binding types400+ Organizations

Disaster

12

Very Hard For API Consumer To Access

?

Page 13: Is It API Time For A New Strategy?

APIs Should Expose Workflows

•“Since your process is what your users want, just give that to them! This is the essence of hypermedia.”

•“..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

Steve KlabnikDesigning Hypermedia APIs

13

Page 14: Is It API Time For A New Strategy?

Donald Norman: Designing For People

The Design of Everyday Things. New York.

1986 14

http://www.jnd.org

“Designers have to produce things that tame complexity.”

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.

Page 15: Is It API Time For A New Strategy?

Your Service Should Expose The Goals (not the Workflows)

15

Goals

Provide Activity

Sequences (aka Behaviors)

To Access Data

Page 16: Is It API Time For A New Strategy?

16

I Want A Flood Map in My Area Of Interest

Hyperspectral Data

Flood Map

?

Page 17: Is It API Time For A New Strategy?

So What If...

• User Would Only State the Goal

• 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

Get Floodmap...Get Flood Forecast...Floods - Port-Au-Prince, Haiti

Goal

17

Page 18: Is It API Time For A New Strategy?

Problem: Encoding Behavior...

HFSM

Planners

ScriptingWorkflows C++ LUA

Hierarchical Task Network Planners

Hierarchical Finite State Machines

BehaviorTrees

http://aigamedev.com/open/articles/behavior-trees-part1/

integratedflexible

intuitivereactive

autonomouspurposeful

http://aigamedev.com/open/articles/behavior-trees-part2/http://aigamedev.com/open/articles/behavior-trees-part3/

Many Options...

18

Alex Champandard

ExistingGame Technology

Page 19: Is It API Time For A New Strategy?

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

There Are Some Differences From Game AI!

Page 20: Is It API Time For A New Strategy?

Get Flood MapFloods - Port-Au-Prince, Haiti

20

Server

Client

But Not A Replacement For Low Level API

Page 21: Is It API Time For A New Strategy?

THANKPI

YOU

STRATEG

Email: [email protected]:@cappelaere

Skype:patrice_cappelaerehttp://www.slideshare.net/cappelaere

Viaduc de Millau, France

An API for People and

Machines

21