• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Designing Great APIs: Learning from Jony Ive, Orwell, and the Kano Model
 

Designing Great APIs: Learning from Jony Ive, Orwell, and the Kano Model

on

  • 1,209 views

APIs are interfaces, just like UIs. But while a website or a mobile app is designed to be used by a consumer, an API has two very specific audiences in mind: other systems, and the programmers who ...

APIs are interfaces, just like UIs. But while a website or a mobile app is designed to be used by a consumer, an API has two very specific audiences in mind: other systems, and the programmers who build them.
A well-designed API can make or break an application. So how do developers build great APIs? What design principles should be followed? We will discuss these questions based on the work of thinkers in the areas of industrial design, writing, and a product development theory.

Statistics

Views

Total Views
1,209
Views on SlideShare
1,202
Embed Views
7

Actions

Likes
0
Downloads
7
Comments
0

1 Embed 7

https://twitter.com 7

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Designing Great APIs: Learning from Jony Ive, Orwell, and the Kano Model Designing Great APIs: Learning from Jony Ive, Orwell, and the Kano Model Presentation Transcript

    • Designinggreat APIs Learning fromJonathan Ive,Orwell, andthe Kano Modelby Jon Dahlmisc at Brightcove
    • API
    • API
    • API is an interface
    • Two users
    • What does this user want?
    • What does this user want?
    • API Design
    • George OrwellDieter RamsKano Model
    • George Orwell WritingDieter Rams Industrial DesignKano Model Product
    • Five guiding principles
    • Specific examples
    • Discuss
    • GeorgeOrwell
    • POST /things
    • USA Patriot Act
    • ExpandedSurveillance Act
    • Propaganda
    • While freely conceding that the Sovietregime exhibits certain features whichthe humanitarian may be inclined todeplore, we must, I think, agree that acertain curtailment of the right to politicalopposition is an unavoidableconcomitant of transitional periods, andthat the rigors which the Russian peoplehave been called upon to undergo havebeen amply justified in the sphere ofconcrete achievement.
    • I am not, indeed, sure whether it is nottrue to say that the Milton who onceseemed not unlike a seventeenth-centuryShelley had not become, out of anexperience ever more bitter in each year,more alien to the founder of that Jesuitsect which nothing could induce him totolerate.Harold Laski, Essay in Freedom of Expression
    • I am not, indeed, sure whether it is nottrue to say that the Milton who onceseemed not unlike a seventeenth-centuryShelley had not become, out of anexperience ever more bitter in each year,more alien to the founder of that Jesuitsect which nothing could induce him totolerate.
    • I am not, indeed, sure whether it is nottrue to say that the Milton who onceseemed not unlike a seventeenth-centuryShelley had not become, out of anexperience ever more bitter in each year,more alien to the founder of that Jesuitsect which nothing could induce him totolerate.
    • 1. Never use a metaphor, simile,or other figure of speech whichyou are used to seeing in print.
    • 2. Never use a long word where ashort one will do.
    • 3. If it is possible to cut a wordout, always cut it out.
    • 4. Never use the passive whereyou can use the active.
    • 5. Never use a foreign phrase, ascientific word, or a jargon word ifyou can think of an everydayEnglish equivalent.
    • 6. Break any of these rules soonerthan say anything outrightbarbarous.
    • Five guiding principles1. minimalism
    • Five guiding principles1. minimalism2. get out of the way
    • REST
    • Consistency
    • 401 Unauthorized403 Forbidden
    • Dieter Rams
    • JonathanIve
    • Objectified (2009)
    • Five guiding principles1. minimalism2. get out of the way3. design for extremes
    • Dim strPname As StringDim dblPrice As Double
    • POST /api/jobs HTTP/1.1Accept: application/jsonContent-Type: application/json{"api_key" : "does not exist","color" : "green"}
    • HTTP/1.1 500 Internal Server Error
    • HTTP/1.1 401 Unauthorized
    • HTTP/1.1 401 Unauthorized{"errors": ["api_key not found"]}
    • HTTP/1.1 401 Unauthorized{"errors": ["api_key not found.","api_key may not include spaces."]}
    • HTTP/1.1 401 Unauthorized{"errors": ["api_key not found. Please log in to https://example.com/account/api to retrieve your APIkey.","api_key may not include spaces."]}
    • POST /api/user HTTP/1.1Accept: application/jsonContent-Type: application/json{"api_key" : "A23B92F281CC""strength" : 18}
    • HTTP/1.1 400 Bad Request
    • HTTP/1.1 400 Bad Request{"errors": ["JSON is not valid. Syntax error,unexpected TSTRING, expecting }at line 2"]}
    • HTTP/1.1 200 OK
    • HTTP/1.1 503 Service Unavailable
    • HTTP/1.1 408 Request Timeout
    • https://api.example.com/v1
    • 913ebf20417e434390d56ccd81e54d1c
    • Five guiding principles1. minimalism2. get out of the way3. design for extremes4. be predictable
    • How do youcharge moneywith Stripe?
    • What is the URL?What are the params?
    • curl https://api.stripe.com/v1/charges -u my_api_key: -d amount=20 -d currency=usd -d customer=12093155
    • KanoModel
    • NoriakiKano
    • NoriakiKano
    • Basic needs(must have)
    • Performance needs(one-dimensional)
    • Indifferent(don’t care)
    • Delighters(attractive, exciting)
    • Support
    • Focus ondelight andperformance
    • Five guiding principles1. minimalism2. get out of the way3. design for extremes4. be predictable
    • Five guiding principles1. minimalism2. get out of the way3. design for extremes4. be predictable5. excite users
    • What do you think?
    • Thanks!by Jon Dahlmisc at Brightcove