• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Applying Design Principles to API Initiatives
 

Applying Design Principles to API Initiatives

on

  • 4,906 views

 

Statistics

Views

Total Views
4,906
Views on SlideShare
3,201
Embed Views
1,705

Actions

Likes
6
Downloads
91
Comments
1

13 Embeds 1,705

http://apigee.com 804
http://blog.apigee.com 684
http://blog.edit.apigee.net 79
http://feeds.apigee.com 66
https://blog.apigee.com 36
http://edit.apigee.net 11
https://twitter.com 7
http://mktg-dev.apigee.com 7
https://si0.twimg.com 6
http://blog-dev.apigee.com 2
http://www.directrss.co.il 1
http://www.hanrss.com 1
http://mktg-new.local 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • <br /><iframe width="350" height="288" src="http://www.youtube.com/embed/am8Rdix_Xjw" frameborder="0"></iframe>
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Applying Design Principles to API Initiatives Applying Design Principles to API Initiatives Presentation Transcript

    •  Applying  Universal  Design  Principles  to  API  Ini5a5ves    Kevin Swiber@kevinswiberAlan Languirand Apigee@13protons @apigee
    • groups.google.com/group/api-craft
    • youtube.com/apigee
    • slideshare.net/apigee
    • @kevinswiber   @13protons  Kevin  Swiber   Alan  Languirand  
    • amazon.com   *
    • “ Successful  products  typically  follow  four  stages  of  crea5on:   requirements,  design,  development,  and  tes5ng.   Development  Cycle   Universal  Principles  of  Design   *
    • Development  Cycle  Requirements   Design   Development   Tes5ng           *
    • Development  Cycle  Requirements   Design   Development   Tes5ng          80/20   Consistency   Inverted  Pyramid   Signal  to  Noise  Ra5o       Errors   Validate  Flexibility  vs.   Layering    Usability  Trade-­‐off     Visibility     Constraints   *
    • Applica5on  Developers  are  Kingmakers  App App App World of API Internal App APIUser Store Developer APIs Team Systems
    • Ques5ons  to  ask  at  each  phase:  •   What  is  the  app  developer  doing?  •   How  can  we  help?   *
    • Development  Cycle  Requirements   Design   Development   Tes5ng          80/20   Consistency   Inverted  Pyramid   Signal  to  Noise  Ra5o       Errors   Validate  Flexibility  vs.   Layering    Usability  Trade-­‐off     Visibility     Constraints   *
    • “ A  high  percentage  of  effects  in  any  large  system  are  caused   by  a  low  percentage  of  variables.   80/20  Rule   Universal  Principles  of  Design   *
    • Invest  in  highly-­‐used  features   *
    • Fix  high-­‐impact  bugs   *
    • “ As  the  flexibility  of  a  system  increases,  its  usability   decreases.   Flexibility-­‐Usability  Tradeoff   Universal  Principles  of  Design   *
    • Many  op5ons  vs.  quick  adop5on   *
    • Start  with  a  well-­‐defined  use  case   *
    • Iterate  to  greater  flexibility   *
    • Development  Cycle  Requirements   Design   Development   Tes5ng          80/20   Consistency   Inverted  Pyramid   Signal  to  Noise  Ra5o       Errors   Validate  Flexibility  vs.   Layering    Usability  Trade-­‐off     Visibility     Constraints   *
    • Point  the  way   *
    • *
    • “ The  usability  of  a  system  is  improved  when  similar  parts  are   expressed  in  similar  ways.   Consistency   Universal  Principles  of  Design   *
    • Define  paerns   *
    • *
    • “ The  process  of  organizing  informa5on  into  related   groupings  in  order  to  manage  complexity  and  reinforce   rela5onships  in  the  informa5on.   Layering   Universal  Principles  of  Design   *
    • *
    • “ A  method  of  limi5ng  the  ac5ons  that  can  be  performed  on   a  system.   Constraint   Universal  Principles  of  Design   *
    • Twier  v1:  /statuses/public_timeline.json/statuses/public_timeline.xml *
    • Twier  v1.1  /statuses/public_timeline.json *
    • Eliminate  unnecessary  choices   *
    • Development  Cycle  Requirements   Design   Development   Tes5ng          80/20   Consistency   Inverted  Pyramid   Signal  to  Noise  Ra5o       Errors   Validate  Flexibility  vs.   Layering    Usability  Trade-­‐off     Visibility     Constraints   *
    • Share  our  domain  knowledge   *
    • *
    • *
    • *
    • *
    • Share  our  API  knowledge   *
    • *
    • *
    • *
    • “ A  method  of  informa5on  presenta5on  in  which  informa5on   is  presented  in  descending  order  of  importance.   Inverted  Pyramid   Universal  Principles  of  Design   *
    • Does  alphabet  soup  taste  good?   *
    • List  resources  by  importance   *
    • *
    • *
    • *
    • “ An  ac5on  or  omission  of  ac5on  yielding  an  unintended   consequence.   Errors   Universal  Principles  of  Design   *
    • Make  it  easy  to  learn  from  mistakes   *
    • *
    • *
    • *
    • “ The  usability  of  a  system  is  improved  when  its  status  and   methods  of  use  are  clearly  visible.   Visibility   Universal  Principles  of  Design   *
    • Be  transparent  and  human   *
    • *
    • *
    • *
    • Development  Cycle  Requirements   Design   Development   Tes5ng          80/20   Consistency   Inverted  Pyramid   Signal  to  Noise  Ra5o       Errors   Validate  Flexibility  vs.   Layering    Usability  Trade-­‐off     Visibility     Constraints   *
    • Ask  for  input,  give  data   *
    • *
    • *
    • *
    • “ The  ra5o  of  relevant  to  irrelevant  informa5on  in  a  display.   The  highest  possible  signal-­‐to-­‐noise  ra5o  is  desirable  in   design.   Signal-­‐to-­‐Noise  Ra5o   Universal  Principles  of  Design   *
    • Maintain  clarity.   *
    • Tip:  Verify  design  principles  as  well  as  correctness.   *
    • Universal  Principles  of  Design  •  Educate  others  about  our  domain  •  Cer5fy  our  partner  developers  •  Inspire  with  an  app  gallery  •  Guide  the  design  of  apps  •  List  the  objects  in  our  system  •  Engage  developers  with  an  API  console  •  Be  accessible  via  forums,  social  media  &  email  •  Receive  bugs  &  feature  requests  directly  from  developers  •  Show  each  developer  his  API  data  •  Respond  with  HTTP  status  codes  for  apps  •  Respond  with  verbose  messages  for  app  developers  •  Create  social  error  pages  with  details  and  hints  •  Favor  flexibility  •  Op5mize  usability  •  Eliminate  unnecessary  choices  •  Invest  in  highly-­‐used  features  •  Fix  high-­‐impact  bugs  •  List  resources  by  importance   *
    • Ques5ons  
    • groups.google.com/group/api-­‐cra?  
    • THANK  YOU    Ques%ons  and  ideas  to:  @kevinswiber  @13protons    groups.google.com/group/api-­‐cra?