Your SlideShare is downloading. ×
0
Developers are People Too!
Ronnie Mitra
@mitraman
rmitra@layer7tech.com
Developers are People Too
User Experience
 We continually have experiences as we use products in our day to day lives. Th...
Developers are People Too
Developer Experience!
slide 13 of 142
Developers are People Too
Ronnie Mitra
 I work for Layer 7
- A CA technologies company
- I am an API Architect in Layer 7...
Was that uncomfortable?
Why?
Aesthetics
Interaction
Structure
a poor experience overall
regardless of the content
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
http://www.southparkstudios.co.uk/avatar
Why is everything in
fahrenheit!?
small annoyances add up
to create a poor experience
designing an API is easy
effective API design is difficult
effective == meeting our design and business goals
Priority:
Lower Cost
Priority:
Increased Adoption
http://www.flickr.com/photos/nirufe/3469696707
My API
Style?
XML? JSON?
Representations?
Resources?
Security?
Streaming?
A user experience based approach can help
Functionality
Usability
Experience
Experience
Usability
Functionality
What does the API do?
Where is it located?
How reliable is the implementation?
The stereotypical SOA approach
Functionality focused
Everything is a service
Service catalog
Make people use it
Experience
Functionality
Usability
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
Functionality
Usability
Experience
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 ...
Understanding API Interactions
API
functionality
Portal
API
usability
API
experience
Portal
API
API
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
Human Computer Interaction
source: Brad A. Myers. "A Brief History of Human Computer Interaction Technology."
ACM interactions. Vol. 5, no. 2, March,...
Where is our Fitts’ Law?
Are we just feeling around in the dark?
We have lots of usability and UX guidance
We have API usability theory and guidance
Steven Clarke:
Describing and Measuring API Usability with the
Cognitive Dimensions
Abstraction level
Learning style
Worki...
Usability Aspects of a Web API (a work in progress)
Task : Invocation Ratio
Structure
Navigation
Developer Stack Size
Time...
Task:Invocation Ratio
How many calls does it take for the developer to
accomplish their desired task?
Structure
How deep is the required data located?
What is the signal to noise ratio?
Navigation
How difficult is it to move from one result to another?
How difficult is it to locate a required datum?
Developer Stack Size
how many new components are needed?
Time to First Call
How quickly can a new user make their first API call?
Errors
Where are they?
How difficult are they to fix?
What is the nature of the error? (unpredicted result,
invalid input,...
Vocabulary
How many new concepts, terms, labels or keywords must
be learned before an API can be successfully invoked.
Experience Aspects of an API (a work in progress)
Engagement
Pleasure
Familiarity
Trust
Safety
+ =
Design the API
Establish Business
Goals
Identify Design Goals and
System Constraints
Identify Target Users
Define Interact...
Prototype
Observe
Design
Design the API
DX is not a feature
understanding your audience is the key to
understanding their experience
design APIs for people not machines
API Management
virtual cloudon-premise
Layer 7 Demonstration
Tomorrow
10:50
Katrinebergssalen
Want to see our products in action?
Developers are People Too!
Ronnie Mitra
@mitraman
rmitra@layer7tech.com
Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7
Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7
Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7
Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7
Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7
Upcoming SlideShare
Loading in...5
×

Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

832

Published on

Presentation from Nordic APIs by Ronnie Mitra, Principal API Architect, Layer 7

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

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

No notes for slide
  • On our own we could create an API in 20 minutesPut us together and it would be much more difficult
  • 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?
  • We often focus on the interoperability between a client application and a server (engineering a solution)
  • But we need to expand the focus to include our user, the developer
  • But we need to expand the focus to include our user, the developer
  • Card applied fits’ law to empircally determine which was the best interface.Supporting science
  • Clarke works on Visual studio. He applied a framework from the IDE domain to measure usability of APIs
  • Make bold choices
  • Make bold choices
  • Transcript of "Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7"

    1. 1. Developers are People Too! Ronnie Mitra @mitraman rmitra@layer7tech.com
    2. 2. Developers are People Too User Experience  We continually have experiences as we use products in our day to day lives. Theese experiences can be both positive or negative and they shape the way we percieve the products that we that we use.  User Experience or UX based design invovles creating experiences that are positive for the user. We can apply this idea to the world of APIs and gain a positive outcome.  Of course in our world developers are our users, so we can be more specific and describe… slide 12 of 142
    3. 3. Developers are People Too Developer Experience! slide 13 of 142
    4. 4. Developers are People Too Ronnie Mitra  I work for Layer 7 - A CA technologies company - I am an API Architect in Layer 7’s API Academy - I was born in Toronto, Canada (remove this line)  I now live in London, England slide 2 of 142
    5. 5. Was that uncomfortable? Why?
    6. 6. Aesthetics
    7. 7. Interaction
    8. 8. Structure
    9. 9. a poor experience overall
    10. 10. regardless of the content
    11. 11. An API Scenario….
    12. 12. I want to add weather forecast data to my mobile app. An API should help! http://www.southparkstudios.co.uk/avatar
    13. 13. I’m having trouble finding an API that does what I want. http://www.southparkstudios.co.uk/avatar
    14. 14. the registration process is a nightmare! http://www.southparkstudios.co.uk/avatar
    15. 15. What is XML-RPC? I don’t even have an XML parser! http://www.southparkstudios.co.uk/avatar
    16. 16. http://www.southparkstudios.co.uk/avatar Why is everything in fahrenheit!?
    17. 17. small annoyances add up to create a poor experience
    18. 18. designing an API is easy effective API design is difficult
    19. 19. effective == meeting our design and business goals
    20. 20. Priority: Lower Cost Priority: Increased Adoption
    21. 21. http://www.flickr.com/photos/nirufe/3469696707 My API Style? XML? JSON? Representations? Resources? Security? Streaming?
    22. 22. A user experience based approach can help
    23. 23. Functionality Usability Experience
    24. 24. Experience Usability Functionality
    25. 25. What does the API do? Where is it located? How reliable is the implementation?
    26. 26. The stereotypical SOA approach Functionality focused Everything is a service Service catalog Make people use it
    27. 27. Experience Functionality Usability
    28. 28. 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?
    29. 29. The API Revolution Developer focused Deployed in competitive markets
    30. 30. Don’t forget: Usefulness > Usability
    31. 31. Functionality Usability Experience
    32. 32. How does using the API make me feel?
    33. 33. Developer Experience (DX): 1. the sum of interactions between the developer and an API owner
    34. 34. 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
    35. 35. Understanding API Interactions
    36. 36. API functionality
    37. 37. Portal API usability
    38. 38. API experience Portal
    39. 39. API
    40. 40. API
    41. 41. who are our users?
    42. 42. Josh I blog, I tweet, I code and I swear. Age: 25 Occupation: Web/Mobile Developer Technical Profile: 7 years experience, hackathon champion, JavaScript and objective-c expert. Hates XML.
    43. 43. why are we always building APIs for Josh?
    44. 44. Tony I’m never leaving this company. Age: 45 Occupation: Enterprise Developer Technical Profile: 27 years industry experience, skilled in Java, VB, COBOL. Knows the backend system better than you do.
    45. 45. You can’t design for usability if you don’t know who is using your API
    46. 46. Human Computer Interaction
    47. 47. source: Brad A. Myers. "A Brief History of Human Computer Interaction Technology." ACM interactions. Vol. 5, no. 2, March, 1998. pp. 44-54.
    48. 48. Where is our Fitts’ Law?
    49. 49. Are we just feeling around in the dark?
    50. 50. We have lots of usability and UX guidance
    51. 51. We have API usability theory and guidance
    52. 52. Steven Clarke: Describing and Measuring API Usability with the Cognitive Dimensions Abstraction level Learning style Working framework Work-step unit Progressive evaluation Premature commitment Penetrability API elaboration API viscosity Consistency Role expressiveness Domain correspondence
    53. 53. Usability Aspects of a Web API (a work in progress) Task : Invocation Ratio Structure Navigation Developer Stack Size Time to First Call Error Handling Number of Decisions Learnability Vocabulary
    54. 54. Task:Invocation Ratio How many calls does it take for the developer to accomplish their desired task?
    55. 55. Structure How deep is the required data located? What is the signal to noise ratio?
    56. 56. Navigation How difficult is it to move from one result to another? How difficult is it to locate a required datum?
    57. 57. Developer Stack Size how many new components are needed?
    58. 58. Time to First Call How quickly can a new user make their first API call?
    59. 59. Errors Where are they? How difficult are they to fix? What is the nature of the error? (unpredicted result, invalid input, out of sequence, etc…)
    60. 60. Vocabulary How many new concepts, terms, labels or keywords must be learned before an API can be successfully invoked.
    61. 61. Experience Aspects of an API (a work in progress) Engagement Pleasure Familiarity Trust Safety
    62. 62. + =
    63. 63. Design the API Establish Business Goals Identify Design Goals and System Constraints Identify Target Users Define Interactions
    64. 64. Prototype Observe Design Design the API
    65. 65. DX is not a feature
    66. 66. understanding your audience is the key to understanding their experience
    67. 67. design APIs for people not machines
    68. 68. API Management virtual cloudon-premise
    69. 69. Layer 7 Demonstration Tomorrow 10:50 Katrinebergssalen Want to see our products in action?
    70. 70. Developers are People Too! Ronnie Mitra @mitraman rmitra@layer7tech.com
    1. A particular slide catching your eye?

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

    ×