Introduction to (web) APIs - definitions, examples, concepts and trends

Preview:

DESCRIPTION

This story is about the added value of APIs (application programming interfaces) for modern businesses, developers and software consumers. It deals with API-fundamentals and shows how APIs are the cornerstones of modern business development (BizDev2.0). By looking at casestudies from Google Maps, Twitter, Amazon, eBay, Moo, Flickr, Netflix and other web2.0-companies, it becomes clear how APIs add value for all parties on the modern web. This presentation was given by Olaf Janssen - Open Data coordinator for the National Library of the Netherlands (KB) - as a lecture for students of the master's course "Digital Access to Cultural Heritage" at Leiden University on 13-3-2014

Citation preview

Lecture for the course ‘Digital Access to Cultural Heritage’, 12-03-2015

Olaf Janssen, National Library of the Netherlands

olaf.janssen@kb.nl - @ookgezellig - slideshare.net/OlafJanssenNL

Introduction to (web) APIs Definitions, examples, concepts and trends

Hi, I’m Olaf Janssen I’m an Open Data Coordinator

at the National Library of the Netherlands (KB) Open Data coordinator???

That means I make sure KB’s open data and APIs get used by as many parties and services as possible kb.nl/dataservices

olaf.janssen@kb.nl

@ookgezellig

slideshare.net/OlafJanssenNL

My presentation philosophy

This slidedeck is optimised

for

slideshare.net/OlafJanssenNL

What I hope you’ll get out of this talk Better understanding of 1. What APIs are, and their importance

2. How APIs change life for

- organisations - software developers - consumers

Understand possibilities of APIs for cultural heritage

How does my talk fit in overall DACH course?

Dig

itiz

ing h

erita

ge:

what

& w

hy?

, M

art

ina B

org

hm

ans,

5 F

ebru

ary

2015

w.r.t. APIs

Access

“beyond the website”

Alright, let’s start

with a bit of history ...

.. about access

.. about access to cultural heritage

.. about access to cultural heritage B.PC

Before the PC ≈

Before the ‘80s

Source: Business Model Innovatie Cultureel Erfgoed – DEN / Kennisland / OCW, 2009

BMICE ring 1

Access ’80s - PCs are the T.F.O.

?

From To

date

T.F.O.

http://www.slideshare.net/edsonm/michael-edson-let-us-go-boldly-into-the-future

date

T.F.O. Technology Fetish Object

Technology Fetish Object

to show how quickly the gadgets of

our youth go out of date.

http://www.slideshare.net/edsonm/michael-edson-let-us-go-boldly-into-the-future

1985 1998 2003

[ CD player ] [ Computer ] [ 27” Widescreen

TV ]

http://www.slideshare.net/edsonm/michael-edson-let-us-go-boldly-into-the-future

2008 2011 2015

[ Tablets ] [ iPhone 3G ] [ Oculus ]

Source: Business Model Innovatie Cultureel Erfgoed – DEN / Kennisland / OCW, 2009

BMICE ring 2

Access ’90s – websites are T.F.O.’s

Access ’90s – websites are T.F.O.’s

Access ’90s – websites are T.F.O.’s

Access ’90s – websites are T.F.O.’s

Access ’90s – websites are T.F.O.’s

BMICE ring 3

Source: Business Model Innovatie Cultureel Erfgoed – DEN / Kennisland / OCW, 2009

Unfortunately:

Digitizing content (ring 2) +

putting it on a website (ring 3)

≠ findable & usable for today’s users

htt

p:/

/ww

w.d

esi

gnandux.c

om

/wp-c

onte

nt/

uplo

ads/

2013/0

9/u

nhappy-u

sers

.jpg

Bron: Business Model Innovatie Cultureel Erfgoed – DEN / Kennisland / OCW, 2009

BMICE ring 4

Bron: Business Model Innovatie Cultureel Erfgoed – DEN / Kennisland / OCW, 2009

BMICE ring 4

? ?

Bron: Business Model Innovatie Cultureel Erfgoed – DEN / Kennisland / OCW, 2009

BMICE ring 4

Web2.0 ?

Bron: Business Model Innovatie Cultureel Erfgoed – DEN / Kennisland / OCW, 2009

BMICE ring 4

Web2.0

APIs

Bron: Business Model Innovatie Cultureel Erfgoed – DEN / Kennisland / OCW, 2009

Web2.0 & APIs

I’ll focus on these phenomena for the rest of the talk

Web 2.0

Slide taken from http://www.slideshare.net/edsonm/michael-edson-let-us-go-boldly-into-the-future

You read this article in preparation

If not: http://oreilly.com/web2/archive/what-is-web-20.html

Web2.0 key concepts 2005 Tim O’Reilly What is Web 2.0: Design Patterns and Business Models for the Next Generation of Software

1. The long tail 2. Data is the next Intel Inside 3. Users add value 4. Network effects by default 5. Some rights reserved 6. The perpetual beta 7. Software above the level of a single device 8. Cooperate, don't control

2005 Tim O’Reilly What is Web 2.0: Design Patterns and Business Models for the Next Generation of Software

Concepts 1-7 elaborated on

slideshare.net/OlafJanssenNL/part-1-of-the-lecture-so-you-think-you-understand-everyday-life-web20-

api-theory-still-very-relevant-in-2013

Slide taken from http://www.slideshare.net/edsonm/michael-edson-let-us-go-boldly-into-the-future

1. The long tail 2. Data is the next Intel Inside 3. Users add value 4. Network effects by default 5. Some rights reserved 6. The perpetual beta 7. Software above the level of a single device 8. Cooperate, don't control

2005 Tim O’Reilly What is Web 2.0: Design Patterns and Business Models for the Next Generation of Software

Slide taken from http://www.slideshare.net/edsonm/michael-edson-let-us-go-boldly-into-the-future

That is:

Web 2.0 applications are built of a network of cooperating open data

services (open APIs).

API ?

Application Programming Interface

http

://ww

w.le

nin

imports.co

m/ca

ry_gra

nt_

new

_7a.jp

g

http

://ww

w.le

nin

imports.co

m/ca

ry_gra

nt_

new

_7a.jp

g

GUI

(graphical) interface for interaction human user computer

Websites Apps

API

(programmable) interface for interaction computer computer

application application software software

.. a means of putting information in and getting information out of your system

without having to type it yourself…

API

(programmable) interface for interaction computer computer

application application software software

… with a number of characteristics ….

ATM to illustrate API characteristics • Specialized service

does limited set of things very well (“exposes certain services of bank”)

• Consistent & well-defined

operation

• Limited set of input card, pin, amount, receipt Y/N

• Limited set of output

cash, (receipt)

• Enabling (protocolised) self-service

.... all while bank keeps control over the €€s

1. The long tail 2. Data is the next Intel Inside 3. Users add value 4. Network effects by default 5. Some rights reserved 6. The perpetual beta 7. Software above the level of a single device 8. Cooperate, don't control

Web 2.0 applications are built of a

network of cooperating open data services (open APIs).

2005 Tim O’Reilly What is Web 2.0: Design Patterns and Business Models for the Next Generation of Software

1. The long tail 2. Data is the next Intel Inside 3. Users add value 4. Network effects by default 5. Some rights reserved 6. The perpetual beta 7. Software above the level of a single device 8. Cooperate, don't control

2005 Tim O’Reilly What is Web 2.0: Design Patterns and Business Models for the Next Generation of Software

Network of cooperating open data services (APIs)

Offer APIs yourself

Offer open APIs yourself

Re-use open APIs of others

Your own open webservice #1

Web2.0 (BMICE Ring 4)

a network of open APIs

Your own open webservice #1

Web2.0 (BMICE Ring 4)

a network of open APIs

For the KB • OAI-PMH • SRU • Resolver

Your own open

API #2

Your own open webservice #1

Web2.0 (BMICE Ring 4)

a network of open APIs

Your own open

API #2

Your own open webservice #1

Other party’s open webservice

Web2.0 (BMICE Ring 4)

a network of open APIs

Your own open

API #2

Your own open webservice #1

Other party’s open webservice

Web2.0 (BMICE Ring 4)

a network of open APIs

Mashup (in browser)

Your own open

API #2

Your own open webservice #1

Other party’s open webservice

Web2.0 (BMICE Ring 4)

a network of open APIs

Mashup (in browser)

Open API

Your own open

API #2

Your own open webservice #1

Other party’s open webservice

Open webservice

Web2.0 (BMICE Ring 4)

a network of open APIs

Mashup (in browser)

Open API

Open API

Your own open

API #2

Your own open webservice #1

Other party’s open webservice

Open webservice

Web2.0 (BMICE Ring 4)

a network of open APIs

Mashup (in browser)

Open API

Open API

Application on desktop

Your own open

API #2

Your own open webservice #1

Other party’s open webservice

Open webservice

Web2.0 (BMICE Ring 4)

a network of open APIs

Mashup (in browser) Mobile app

Open API

Open API

Application on desktop

Open API? • Available on the web, freely shared

• Everybody can use it

(often after account registration / API-key, via self-service)

• Open standards & technologies

(JavaScript, XML, JSON, Oauth, SRU, OAI-PMH…)

• Openly documented

Open API? http://www.youtube.com/watch?v=7r7QpIDEI_o

too vague,

abstract

Is ?

No worries, let’s look at some

real life examples of open APIs in action to improve our understanding

Some popular open APIs

Google Maps API https://developers.google.com/maps/?hl=nl

Google Maps API https://developers.google.com/maps/?hl=nl

True web2.0 setup - network of more specialized APIs

StreetView, Directions, Elevations, Timezone, Geocoding, Places etc.

cyclingthealps.com

Google Maps API

cyclingthealps.com Google Maps API

StreetView API

cyclingthealps.com Google Maps API

Elevations API

National monuments heatmap

Google Maps API

dev.twitter.com Twitter API

Embedded Tweets & timelines Twitter API

htt

p:/

/ww

w.n

rc.n

l/nie

uw

s/2015/0

2/2

7/inte

rnet-

in-d

e-b

an-v

an-e

en-b

lauw

-met-

zwart

e-j

urk

/

Embedded Tweets & timelines Twitter API

htt

p:/

/ww

w.n

rc.n

l/nie

uw

s/2015/0

2/2

7/inte

rnet-

in-d

e-b

an-v

an-e

en-b

lauw

-met-

zwart

e-j

urk

/

Emedded Twitter Card

Embedded Tweets & timelines Twitter API

htt

p:/

/ww

w.n

rc.n

l/nie

uw

s/2015/0

2/2

7/inte

rnet-

in-d

e-b

an-v

an-e

en-b

lauw

-met-

zwart

e-j

urk

/

Emedded timeline

Embedded Tweets & timelines Twitter API

htt

p:/

/ww

w.n

rc.n

l/nie

uw

s/2015/0

2/2

7/inte

rnet-

in-d

e-b

an-v

an-e

en-b

lauw

-met-

zwart

e-j

urk

/

Tweet button

Embedded Tweets & timelines Twitter API

htt

p:/

/ww

w.n

rc.n

l/nie

uw

s/2015/0

2/2

7/inte

rnet-

in-d

e-b

an-v

an-e

en-b

lauw

-met-

zwart

e-j

urk

/

(Facebook API)

Embedded Tweets & timelines Twitter API

htt

p:/

/ww

w.n

rc.n

l/nie

uw

s/2015/0

2/2

7/inte

rnet-

in-d

e-b

an-v

an-e

en-b

lauw

-met-

zwart

e-j

urk

/

(Youtube API)

Embedded Tweets & timelines Twitter API

htt

p:/

/ww

w.n

rc.n

l/nie

uw

s/2015/0

2/2

7/inte

rnet-

in-d

e-b

an-v

an-e

en-b

lauw

-met-

zwart

e-j

urk

/

(Tumblr API)

Tweetdeck (in browser) Twitter API

tweetstats.com

Twitter API

Amazon API APIs actually…

programmableweb.com/apitag/?q=amazon

bookstore.icm.ac.uk Amazon API

i.e. all product advertising & transaction features are

using Amazon’s API

Amazon API bookstore.icm.ac.uk

Liveplasma

Liveplasma gives you a visual display of related

bands, songs, movies, books etc..

Amazon API

Relationships generated by Amazon API

“customers who bought this album also like….”

Amazon API

labs.europeana.eu/api/ Europeana API

Europeana Open Culture App Europeana API

‘official’ Europeana app

Twitter EuropeanaBot Europeana API

Posts images related to

• austrian place names • nobel Prize winners • animals

from Europeana to Twitter

Twitter EuropeanaBot Europeana API

This ≠ ‘official’ Europeana thing,

just an enthusiastic private developer!

Moo.com is a printing company

They print personalised business cards, postcards, Christmas cards, stickers, labels…

For businesscards,

you can use Moo’s templates …

.. or design your own

And Moo offers an API!

Question:

Why the would Moo need an API?

Some answers at the end of the talk…

OK, so far for the examples

let’s now look at

how APIs add value …

add value for

add value for

API consumers (software developers)

API providers (businesses)

Software consumers

(you & me)

API value chain

http://www.forbes.com/sites/danwoods/2011/12/15/explaining-the-api-revolution-to-your-ceo/

• Product data (Amazon) • Geo-data (Google) • Personal data (Facebook) • Metadata (Europeana) • Phone numbers (WhatsApp)

API value chain

http://www.forbes.com/sites/danwoods/2011/12/15/explaining-the-api-revolution-to-your-ceo/

API provider

Businesses open up their assets via APIs, while keeping control over their data, products & services

API value chain

http://www.forbes.com/sites/danwoods/2011/12/15/explaining-the-api-revolution-to-your-ceo/

API provider Business assets

owner

Owner of business assets

≠ necessarily

provider of API

API value chain

http://www.forbes.com/sites/danwoods/2011/12/15/explaining-the-api-revolution-to-your-ceo/

API provider Business assets

owner

3scale.net & apigee.com Specialized

API service providers

API value chain

http://www.forbes.com/sites/danwoods/2011/12/15/explaining-the-api-revolution-to-your-ceo/

API consumer

Developers

can start building applications and businesses around a company’s assets. They use open APIs and self-service tools to establish a business relationship

API value chain

http://www.forbes.com/sites/danwoods/2011/12/15/explaining-the-api-revolution-to-your-ceo/

API consumer

Game makers like Zynga,

Playfish & Crowdstar exist(ed)

because of Facebook APIs.

Developers

can start building applications and businesses around a company’s assets. They use open APIs and self-service tools to establish a business relationship

API value chain

http://www.forbes.com/sites/danwoods/2011/12/15/explaining-the-api-revolution-to-your-ceo/

Software consumer

Let’s look at these 3 groups in more detail…

API consumers (software developers)

API providers (businesses)

Software consumers

(you & me)

1. APIs from biz dev POV

Apps Partners

Income Adam DuVander

http://thenextweb.com/video/2012/04/28/the-new-api-apps-partners-income-adam-duvander-at-the-next-web-conference-2012-video

Biz Stone

(Twitter co-founder):

“The API has been inarguably the most important thing we’ve done

with Twitter.”

Biz Stone

(Twitter co-founder):

“The API has been inarguably the most important thing we’ve done

with Twitter.”

“It has allowed developers to build on top of our infrastructure and come up

with ideas that are way better than our ideas, …. that we wouldn’t have been able to get to, being a very small

team.”

Biz Stone

(Twitter co-founder):

“The API has been inarguably the most important thing we’ve done

with Twitter.”

“It has allowed developers to build on top of our infrastructure and come up

with ideas that are way better than our ideas, …. that we wouldn’t have been able to get to, being a very small

team.”

Joy’s law

“No matter which

business you are in, the smartest people always

work for someone else”

Biz Stone

(Twitter co-founder):

“The API has been inarguably the most important thing we’ve done

with Twitter.”

“It has allowed developers to build on top of our infrastructure and come up

with ideas that are way better than our ideas, …. that we wouldn’t have been able to get to, being a very small

team.”

So, the API has easily 10x more traffic than the website..”

Biz Stone

(Twitter co-founder):

“The API has been inarguably the most important thing we’ve done

with Twitter.”

“It has allowed developers to build on top of our infrastructure and come up

with ideas that are way better than our ideas, …. that we wouldn’t have been able to get to, being a very small

team.”

So, the API has easily 10x more traffic than the website..”

“So, the API becomes a way for us

to grow our business…”

(Source, 2007)

Jeff Bar (Amazon evangelist - 2008)

“The adoption of Amazon's Web

services (API) is currently driving more network activity than

everything Amazon does through their traditional websites”

Brian Swette (eBay - 2000)

Our new API will openly provide the tools that developers need to create

applications based on eBay technology”

"There are already dozens of companies and hundreds of

applications that rely on our site…. "Our new API will provide much

needed standardization. Existing applications will run more reliably..”

“More and more companies will be able

to easily and seamlessly weave eBay into their business models."

(source)

Q: How big is this API

business stuff?

A: It’s huge!

APIs are the cornerstones of BizDev 2.0

Having a well-developed API is the

modern & decentralised way for growing a business

Rings a bell?

117

1995

Why do we

need a Web

site?

2000 2005 2010

Of course we

have a Web

site

Of course

we have an

API

Why do we

need an

API?

118

1995

Why do we

need a Web

site?

2000 2005 2010

Of course we

have a Web

site

Of course

we have an

API

Why do we

need an

API?

But websites are limited …

Disadvantages

• Limited population reach (650M websites in 2012)

• Limited brand distribution

• Significant SEO and SEM costs

Source: Dion Hinchcliffe, http://www.zdnet.com/blog/hinchcliffe

120

1995

Why do we

need a Web

site?

2000 2005 2010

Of course we

have a Web

site

Of course

we have an

API

Why do we

need an

API?

Martin Tantow

(co-founder of 3scale, an API service provider):

“Not having an API today is like not having a website in the 90s..”

“The website serves as no more than a

marketing tool, all added value is

delivered through the API “

(source)

John Musser

(Founder ProgrammableWeb.com):

123

1995

Why do we

need a Web

site?

2000 2005 2010

Of course we

have a Web

site

Of course

we have an

API

Why do we

need an

API?

APIs help you grow your business

Added value

• Unlock new distribution channels for your content (mobile, social, gaming etc.)

• Reach new partners, markets, platforms & devices

Source: Dion Hinchcliffe, http://blogs.zdnet.con/Hinchcliffe

APIs help you grow your business

Added value

• Unlock new distribution channels for your content (mobile, social, gaming etc.)

• Reach new partners, markets, platforms & devices

Source: Dion Hinchcliffe, http://blogs.zdnet.con/Hinchcliffe

http://translogic.aolautos.com/2011/06/01/ford-googles-prediction-api-foresees-greener-driving-routes-vi/

http://www.samsung.com/us/topic/apps-on-your-fridge

BizDev2.0 – decentalised business dev

Consumer/Hacker Business/Partner

Flickr API

www.flickr.com/services/apps/search/?q=printing These companies take

Flickr's API and build printing services without ever engaging with Flickr's team

Flickr receives $$ for API-calls

BizDev2.0 – decentalised business dev http://www.flickr.com/services

Consumer/Hacker Business/Partner

Flickr API

Flickr receives • free brand distribution • free content distribution • customer loyalty • goodwill

These people use Flickr’s API for making home-grown apps without ever engaging with Flickr's team

APIs help you grow your business

Added value

• Unlock new distribution channels for your content (mobile, social, gaming etc.)

• Reach new partners, markets, platforms & devices

• Stimulate innovation. Enable others to build (new, better) products & functionalities

• Improve brand recognition and customer loyalty

.. all while keeping control over your data!

Joy’s law

OK, so this API stuff is huge!

Time for some hard figures!

API Timeline

2009 • 13.000 3rd party apps for eBay (source)

• 60% of all eBay.com traffic via API (source)

• 7 billion $$$ revenu via API

2012 • eBay API 1 billion calls per day!

Success for these businesses is heavily relying on their API(s)

2. APIs from developers’ POV

flickr.com/tom_w_bn

Developers are the craftsmen…

© Eric Roth

... and women of the 21st century

flickr.com/mashery

Developers build stuff

Developers solve problems

They change the world

Q: How big is this API developer world?

“An effort which engaged 390.000 people”

(source)

source

2007 • 7.000 apps 2008 • 33.000 apps • 400.000 developers

2012 • 9.000.000 apps

source

2007 • 7.000 apps 2008 • 33.000 apps • 400.000 developers

2012 • 9.000.000 apps!

3. APIs from end-user POV

APIs make life easier… with new possibilities & experiences

• Your favourite apps

• Your favourite apps

• Device-independence

“Software above the level of a single device”

APIs make life easier… with new possibilities & experiences

Evernote.com

APIs make life easier… with new possibilities & experiences

• Your favourite apps

• Device-independence

• Sharing content

Android Blog

APIs make life easier… with new possibilities & experiences

• Your favourite apps

• Device-independence

• Sharing content

• Embedding content

APIs make life easier… with new possibilities & experiences

• Your favourite apps

• Device-independence

• Sharing content

• Embedding content

Slideshare embedded in

LinkedIn

APIs make life easier… with new possibilities & experiences

• Your favourite apps

• Device-independence

• Sharing content

• Embedding content

Flickr embedded in

Gmail

APIs make life easier… with new possibilities & experiences

• Your favourite apps

• Device-independence

• Sharing content

• Embedding content

Embedded Youtube clips

APIs make life easier… with new possibilities & experiences

• Your favourite apps

• Device-independence

• Sharing content

• Embedding content

• Synchronisation & automation

APIs make life easier… with new possibilities & experiences

• Your favourite apps

• Device-independence

• Sharing content

• Embedding content

• Synchronisation & automation

Social media wall

APIs make life easier… with new possibilities & experiences

• Your favourite apps

• Device-independence

• Sharing content

• Embedding content

• Synchronisation & automation

ifttt.com

zapier.com

APIs make life easier… with new possibilities & experiences

• Your favourite apps

• Device-independence

• Sharing content

• Embedding content

• Synchronisation & automation

• Easier authentication

Q: How big is this API

end-user world?

“Every month 375M people play Facebook-connected

games”

Source

“FBers have uploaded 250B photos,

growing by 350M per day!”

Source

Question:

Why the would Moo need an API?

1. Build your own card design apps & websites Moo will do printing / checkout / shipping / customer care

1. Build your own card design apps & websites Moo will do printing / checkout / shipping / customer care

1. Build your own card design apps & websites Moo will do printing / checkout / shipping / customer care

2. Become Moo-affiliate

2. Become Moo-affiliate

Self-service made possible by API

• Adobe InDesign Extension

• Adobe Photoshop Lightroom Plugin

3. Build extensions for desktop software

THANKS!

olaf.janssen@kb.nl @ookgezellig slideshare.net/OlafJanssenNL

Recommended