Succeed with a Developer-centric API Strategy
Ronnie Mitra
Principal API Architect – Europe
API Management

on-premise

virtual

cloud
Strategy
Identify goal(s)
Define activities that support the goal
Your API is not your strategy
Your API enables your strategy
Revenue Source
Consumer Reach
Marketing

Innovation
Integration
Light Bulb designed by Jean-Philippe Cabaroc from The Noun...
API Strategy
Identify goal
Define activities that support the goal
Priority:
Lower Cost
Priority:
Increased Adoption
Lots of Dials

Developer Outreach
Interface Design
Marketing
Support
Visibility
Control
Registration
Change Management
Good strategy involves making decisions
My API Strategy

http://www.flickr.com/photos/nirufe/3469696707
A developer-centric approach will
help you make decisions.
Product Design
Bill Moggridge

Interaction Design
Usability
Human-Computer-Interaction
User Experience Design
Goal Oriented Design
http://www.flickr.com/photos/58754750@N08/5541472392/
A user-centric view improves
product design.
A developer-centric view improves
API design.
three forms of design
Experience
Usability
Functionality
Experience
Usability
Functionality
What does the API do?
Where is it located?
The stereotypical SOA approach
Functionality focused
Everything is a service
Service catalog
Make people use it
Experience
Usability
Functionality
How do I use the API?
How easy is it for me to accomplish my own goals?
How much of my time do I need to commit?
The API Revolution
Developer focused
Deployed in competitive markets
Don’t forget:
Usefulness > Usability
Experience
Usability
Functionality
How does using the API make me feel?
Developer Experience (DX):
1. the sum of interactions between the
developer and an API owner
Developer Experience (DX):
1. the sum of interactions between the
developer and an API owner
2. the emotive impact of API ...
sometimes experience can trump usability
An API Scenario….
I want to add weather
forecast data to my
mobile app. An API
should help!

http://www.southparkstudios.co.uk/avatar
I’m having trouble
finding an API that
does what I want.

http://www.southparkstudios.co.uk/avatar
the registration process
is a nightmare!

http://www.southparkstudios.co.uk/avatar
What is XML-RPC? I
don’t even have an
XML parser!

http://www.southparkstudios.co.uk/avatar
Why is everything in
Fahrenheit!?

http://www.southparkstudios.co.uk/avatar
small annoyances add up
to create a poor experience
API Interactions
Dev
Portal

API
Dev
Portal

API
is a developer-centric strategy
obvious?
why is it difficult to design usable APIs?
We project our own perspective.
We project our own biases.
We make bad assumptions
We lack the time, money or
incentive.
Reason #1
We project our own perspective.
External Perspective

Internal Perspective
Reason #2
We project our own biases.
Never use SOAP?
Why?
Consider keyboards…
http://www.flickr.com/photos/yvettemn/139890573/
http://www.flickr.com/photos/jonathanpberger/7126054997/
http://www.flickr.com/photos/novemberborn/286773981/
OR
It doesn’t matter that you don’t like
SOAP.
What matters is what your developer
base thinks!
(and what the business objective is)
Reason #3
We make bad assumptions.
API publishers are also developers.
“I built a mobile app once.”
may not qualify you to understand
your mobile developers
Reason #4
We lack the time, money or
incentive for good design
“Best practices”, patterns and
references become shortcuts
We project our own perspective.
We project our own biases.
We make bad assumptions
We lack the time, money or
incentive.
overcoming the usability challenge
developer-centric design requires
effort and diligence.
Mental Models
Mental Models
Design with the developer in mind.
who are our users?
Josh
I blog, I tweet, I
code and I swear.
Age: 25
Occupation: Web/Mobile Developer

Technical Profile: 7 years
experience,...
why are we always building APIs for Josh?
Tony
I’m never leaving
this company.
Age: 45
Occupation: Enterprise Developer
Technical Profile: 27 years industry
experie...
You can’t design for usability if you don’t
know who is using your API
Design the API

Prototype

Design

Observe
try using your API from a developer
perspective
+

=
API Usability
Dev
Portal

API

API
Gateway
API
good API design is user-centric
is good security user-centric?
practical API design becomes a series of
tradeoffs
What keeps API owners up at night…
Brand Control
Data Security
Threat Prevention
Resource Protection
Availability
the API strategy challenge – balancing control and
usability
reduce usability impact (for our user)
focus on experience (s...
API Security
Dev
Portal

API

API
Gateway
API
API Management
Dev
Portal

API

API
Gateway
API
API Management

on-premise

virtual

cloud
Establish Business Goals
Establish API Goals
Identify Target Users
Design for your users
Succeed with a Developer-centric API Strategy
Ronnie Mitra
Principal API Architect – Europe
Succeed with a Developer-Centric API Strategy - Ronnie Mitra, Principal API Architect, Layer 7 @ Apps World
Upcoming SlideShare
Loading in …5
×

Succeed with a Developer-Centric API Strategy - Ronnie Mitra, Principal API Architect, Layer 7 @ Apps World

746
-1

Published on

DX as the key to building a great API
Going beyond usability and simplicity in design
Considerations for the API lifecycle
Treating your API like a product

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
746
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
20
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • It’s tough when you are faced with that blank sheet of paper
  • Lots of methodologies and terminology
  • Coined in the 1980sBut rooted in the design ideas of industrial age products and how users interact with technology
  • Lots of methodologies and terminology
  • We are not simply producing products that perform a funciton, but we consider how people (or users) will interact with the product.
  • We are not simply producing products that perform a funciton, but we consider how people (or users) will interact with the product.
  • On our own we could create an API in 20 minutesPut us together and it would be much more difficult
  • What is this thing that we are exposing? What is the data or service that we are making available? What features or functions are we providing?
  • What is this thing that we are exposing? What is the data or service that we are making available? What features or functions are we providing?
  • What is this thing that we are exposing? What is the data or service that we are making available? What features or functions are we providing?
  • What is this thing that we are exposing? What is the data or service that we are making available? What features or functions are we providing?
  • What is this thing that we are exposing? What is the data or service that we are making available? What features or functions are we providing?
  • Think: greater than the sum of its parts
  • But we need to expand the focus to include our user, the developer
  • APIs are all about connectivity.
  • APIs are all about connectivity.
  • APIs are all about connectivity.
  • APIs are all about connectivity.
  • APIs are all about connectivity.
  • Different social conventions.Another form of this, is the question of RESTfulness.
  • APIs are all about connectivity.
  • APIs are all about connectivity.
  • [there was something else I realized after this pres. for Reason #4. – try to remember]Talk about when API dsigners don’t botyher with usability – selling to enterprises. (or do I leave this till later?)
  • APIs are all about connectivity.
  • APIs are all about connectivity.
  • Designer mental model vs. user mental model
  • Designer mental model vs. user mental model
  • APIs are all about connectivity.
  • Make bold choices
  • Make bold choicesGoals should correlate to bigger strategy
  • Succeed with a Developer-Centric API Strategy - Ronnie Mitra, Principal API Architect, Layer 7 @ Apps World

    1. 1. Succeed with a Developer-centric API Strategy Ronnie Mitra Principal API Architect – Europe
    2. 2. API Management on-premise virtual cloud
    3. 3. Strategy Identify goal(s) Define activities that support the goal
    4. 4. Your API is not your strategy
    5. 5. Your API enables your strategy
    6. 6. Revenue Source Consumer Reach Marketing Innovation Integration Light Bulb designed by Jean-Philippe Cabaroc from The Noun Project
    7. 7. API Strategy Identify goal Define activities that support the goal
    8. 8. Priority: Lower Cost Priority: Increased Adoption
    9. 9. Lots of Dials Developer Outreach Interface Design Marketing Support Visibility Control Registration Change Management
    10. 10. Good strategy involves making decisions
    11. 11. My API Strategy http://www.flickr.com/photos/nirufe/3469696707
    12. 12. A developer-centric approach will help you make decisions.
    13. 13. Product Design
    14. 14. Bill Moggridge Interaction Design
    15. 15. Usability Human-Computer-Interaction User Experience Design Goal Oriented Design
    16. 16. http://www.flickr.com/photos/58754750@N08/5541472392/
    17. 17. A user-centric view improves product design.
    18. 18. A developer-centric view improves API design.
    19. 19. three forms of design
    20. 20. Experience Usability Functionality
    21. 21. Experience Usability Functionality
    22. 22. What does the API do? Where is it located?
    23. 23. The stereotypical SOA approach Functionality focused Everything is a service Service catalog Make people use it
    24. 24. Experience Usability Functionality
    25. 25. How do I use the API? How easy is it for me to accomplish my own goals? How much of my time do I need to commit?
    26. 26. The API Revolution Developer focused Deployed in competitive markets
    27. 27. Don’t forget: Usefulness > Usability
    28. 28. Experience Usability Functionality
    29. 29. How does using the API make me feel?
    30. 30. Developer Experience (DX): 1. the sum of interactions between the developer and an API owner
    31. 31. Developer Experience (DX): 1. the sum of interactions between the developer and an API owner 2. the emotive impact of API usage on the developer
    32. 32. sometimes experience can trump usability
    33. 33. An API Scenario….
    34. 34. I want to add weather forecast data to my mobile app. An API should help! http://www.southparkstudios.co.uk/avatar
    35. 35. I’m having trouble finding an API that does what I want. http://www.southparkstudios.co.uk/avatar
    36. 36. the registration process is a nightmare! http://www.southparkstudios.co.uk/avatar
    37. 37. What is XML-RPC? I don’t even have an XML parser! http://www.southparkstudios.co.uk/avatar
    38. 38. Why is everything in Fahrenheit!? http://www.southparkstudios.co.uk/avatar
    39. 39. small annoyances add up to create a poor experience
    40. 40. API Interactions
    41. 41. Dev Portal API
    42. 42. Dev Portal API
    43. 43. is a developer-centric strategy obvious?
    44. 44. why is it difficult to design usable APIs?
    45. 45. We project our own perspective. We project our own biases. We make bad assumptions We lack the time, money or incentive.
    46. 46. Reason #1 We project our own perspective.
    47. 47. External Perspective Internal Perspective
    48. 48. Reason #2 We project our own biases.
    49. 49. Never use SOAP? Why?
    50. 50. Consider keyboards…
    51. 51. http://www.flickr.com/photos/yvettemn/139890573/
    52. 52. http://www.flickr.com/photos/jonathanpberger/7126054997/
    53. 53. http://www.flickr.com/photos/novemberborn/286773981/
    54. 54. OR
    55. 55. It doesn’t matter that you don’t like SOAP.
    56. 56. What matters is what your developer base thinks! (and what the business objective is)
    57. 57. Reason #3 We make bad assumptions.
    58. 58. API publishers are also developers.
    59. 59. “I built a mobile app once.” may not qualify you to understand your mobile developers
    60. 60. Reason #4 We lack the time, money or incentive for good design
    61. 61. “Best practices”, patterns and references become shortcuts
    62. 62. We project our own perspective. We project our own biases. We make bad assumptions We lack the time, money or incentive.
    63. 63. overcoming the usability challenge
    64. 64. developer-centric design requires effort and diligence.
    65. 65. Mental Models
    66. 66. Mental Models
    67. 67. Design with the developer in mind.
    68. 68. who are our users?
    69. 69. Josh I blog, I tweet, I code and I swear. Age: 25 Occupation: Web/Mobile Developer Technical Profile: 7 years experience, hackathon
    70. 70. why are we always building APIs for Josh?
    71. 71. Tony I’m never leaving this company. Age: 45 Occupation: Enterprise Developer Technical Profile: 27 years industry experience, skilled in Java, VB, COBOL.
    72. 72. You can’t design for usability if you don’t know who is using your API
    73. 73. Design the API Prototype Design Observe
    74. 74. try using your API from a developer perspective
    75. 75. + =
    76. 76. API Usability Dev Portal API API Gateway API
    77. 77. good API design is user-centric
    78. 78. is good security user-centric?
    79. 79. practical API design becomes a series of tradeoffs
    80. 80. What keeps API owners up at night… Brand Control Data Security Threat Prevention Resource Protection Availability
    81. 81. the API strategy challenge – balancing control and usability reduce usability impact (for our user) focus on experience (sum of interactions) use just as much security as we need
    82. 82. API Security Dev Portal API API Gateway API
    83. 83. API Management Dev Portal API API Gateway API
    84. 84. API Management on-premise virtual cloud
    85. 85. Establish Business Goals Establish API Goals Identify Target Users Design for your users
    86. 86. Succeed with a Developer-centric API Strategy Ronnie Mitra Principal API Architect – Europe
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×