why (unpaid) developers use apis (and what you can do about it) [nordic apis conference 2014]

23
Why (unpaid) developers use APIs (and what you can do about it) Daniel Rudmark Viktoria Swedish ICT / University of Borås

Upload: daniel-rudmark

Post on 01-Jul-2015

253 views

Category:

Software


7 download

DESCRIPTION

A crucial issue for any organization launching an API is developer adoption. However, while many organizations spend considerable resources in technical solutions, support functions and license agreements they may neglect investigating why developers want to work with their APIs. In his work, Daniel has studied (mainly unpaid) developers using APIs through some 50 in-depth interviews, analyzed around 60 hours of video and performed focused usability studies on APIs for his clients. To explain his findings he points theories of motivational psychology and software platform research.

TRANSCRIPT

Page 1: Why (unpaid) developers use APIs  (and what you can do about it) [Nordic APIs conference 2014]

Why (unpaid) developers use APIs

(and what you can do about it)

Daniel Rudmark Viktoria Swedish ICT / University of Borås

Page 2: Why (unpaid) developers use APIs  (and what you can do about it) [Nordic APIs conference 2014]

Previous API Experience• Research Partners

• Swedish Transport Administration, Stockholm Public Transport, City of Gothenburg, National Association of Public Transport Companies

• Methods

• Interviews (50+), Video Observation, Action Design Research

• Projects

• Trafiklab.se, TravelHack, Swedish API License, Open API for the Swedish Transport Administration

Page 3: Why (unpaid) developers use APIs  (and what you can do about it) [Nordic APIs conference 2014]

[Extrinsic] [Intrinsic]Money

User needs

Signaling

Learning

Reciprocity

Status

Fun/”Flow”

Professional and personal identity

Autonomy

Problem solving

Source: Boudreau, K. J., & Lakhani, K. R. (2009). How to manage outside innovation. MIT Sloan Management Review, 50(4), sid. 69–75.

Page 4: Why (unpaid) developers use APIs  (and what you can do about it) [Nordic APIs conference 2014]

Self-Determination Theory

• Widely accepted theory of human motivation

• Has been used in education, health care, work motivation etc.

• Deals with what facilitates and sustains motivations (and what hinders it)

Ryan, R. M., & Deci, E. L. (2000). Self-determination theory and the facilitation of intrinsic motivation, social development, and well-being. American Psychologist, 55(1), 68–78.

Page 5: Why (unpaid) developers use APIs  (and what you can do about it) [Nordic APIs conference 2014]

Autonomy

• The universal urge to be causal agents of one’s own life

• Need to feel in control of their own behaviors and goals

• Outside control will decrease motivation

Page 6: Why (unpaid) developers use APIs  (and what you can do about it) [Nordic APIs conference 2014]

Feelings of Competence

• Seek to control the outcome and experience mastery

• Positive feedback on competence is key

• (But different people have different degrees of competence…)

Page 7: Why (unpaid) developers use APIs  (and what you can do about it) [Nordic APIs conference 2014]

Autonomy and License Terms

Page 8: Why (unpaid) developers use APIs  (and what you can do about it) [Nordic APIs conference 2014]

0

750

1500

2250

3000

No of Developers

2 200

27

Restrictive License Terms

Open License Terms

Page 9: Why (unpaid) developers use APIs  (and what you can do about it) [Nordic APIs conference 2014]

–Anonymous Developer

”We came to meet the company and started talking. It was of course long, big contracts with many things we had to

sign. ‘You may only use it for a travel planner’ and all that. I felt that it was much about trying to protect so that someone

else not could get the data, you were not allowed to store anything on the user’s phone and so on. It prevented me

from doing stuff that I wanted to do!”

Page 10: Why (unpaid) developers use APIs  (and what you can do about it) [Nordic APIs conference 2014]

http://apilicens.se/en

Page 11: Why (unpaid) developers use APIs  (and what you can do about it) [Nordic APIs conference 2014]

Feelings of Competence and REST Endpoints

(the good)

Page 12: Why (unpaid) developers use APIs  (and what you can do about it) [Nordic APIs conference 2014]

Open API Swedish Transport Administration (iteration 1)

Page 13: Why (unpaid) developers use APIs  (and what you can do about it) [Nordic APIs conference 2014]
Page 14: Why (unpaid) developers use APIs  (and what you can do about it) [Nordic APIs conference 2014]
Page 15: Why (unpaid) developers use APIs  (and what you can do about it) [Nordic APIs conference 2014]

Autonomy and REST Endpoints

(the bad)

Page 16: Why (unpaid) developers use APIs  (and what you can do about it) [Nordic APIs conference 2014]

Easy but limited

• List stations (by name or position)

• List departures/arrivals (by station name or id)

• Get a specific train

Page 17: Why (unpaid) developers use APIs  (and what you can do about it) [Nordic APIs conference 2014]

”I want to list all trains departing from Uppsala to Stockholm”

Page 18: Why (unpaid) developers use APIs  (and what you can do about it) [Nordic APIs conference 2014]

”I want to monitor if a certain train is late”

Page 19: Why (unpaid) developers use APIs  (and what you can do about it) [Nordic APIs conference 2014]
Page 20: Why (unpaid) developers use APIs  (and what you can do about it) [Nordic APIs conference 2014]

–Experienced Developer

”Before I saw the API I didn’t even hope that it would be this good. It was very easy to work

with, it has a lot of potential!”

Page 21: Why (unpaid) developers use APIs  (and what you can do about it) [Nordic APIs conference 2014]

But what about developers with a lesser degree of

mastery..?

Page 22: Why (unpaid) developers use APIs  (and what you can do about it) [Nordic APIs conference 2014]
Page 23: Why (unpaid) developers use APIs  (and what you can do about it) [Nordic APIs conference 2014]

Final Take-Aways• Does your third-party developers rely solely on

business cases/revenue sharing?

• If not, make sure that your third-party developers, after working with your API experience

• Autonomy

• Feelings of Competence

• Initiate Third-Party Developer feedback loops!