Applying Design Principles to API Initiatives

5,473 views
4,723 views

Published on

Published in: Technology, Business
1 Comment
7 Likes
Statistics
Notes
  • <br /><iframe width="350" height="288" src="http://www.youtube.com/embed/am8Rdix_Xjw" frameborder="0"></iframe>
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
5,473
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
119
Comments
1
Likes
7
Embeds 0
No embeds

No notes for slide

Applying Design Principles to API Initiatives

  1.  Applying  Universal  Design  Principles  to  API  Ini5a5ves    Kevin Swiber@kevinswiberAlan Languirand Apigee@13protons @apigee
  2. groups.google.com/group/api-craft
  3. youtube.com/apigee
  4. slideshare.net/apigee
  5. @kevinswiber   @13protons  Kevin  Swiber   Alan  Languirand  
  6. amazon.com   *
  7. “ Successful  products  typically  follow  four  stages  of  crea5on:   requirements,  design,  development,  and  tes5ng.   Development  Cycle   Universal  Principles  of  Design   *
  8. Development  Cycle  Requirements   Design   Development   Tes5ng           *
  9. 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   *
  10. Applica5on  Developers  are  Kingmakers  App App App World of API Internal App APIUser Store Developer APIs Team Systems
  11. Ques5ons  to  ask  at  each  phase:  •   What  is  the  app  developer  doing?  •   How  can  we  help?   *
  12. 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   *
  13. “ A  high  percentage  of  effects  in  any  large  system  are  caused   by  a  low  percentage  of  variables.   80/20  Rule   Universal  Principles  of  Design   *
  14. Invest  in  highly-­‐used  features   *
  15. Fix  high-­‐impact  bugs   *
  16. “ As  the  flexibility  of  a  system  increases,  its  usability   decreases.   Flexibility-­‐Usability  Tradeoff   Universal  Principles  of  Design   *
  17. Many  op5ons  vs.  quick  adop5on   *
  18. Start  with  a  well-­‐defined  use  case   *
  19. Iterate  to  greater  flexibility   *
  20. 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   *
  21. Point  the  way   *
  22. *
  23. “ The  usability  of  a  system  is  improved  when  similar  parts  are   expressed  in  similar  ways.   Consistency   Universal  Principles  of  Design   *
  24. Define  paerns   *
  25. *
  26. “ The  process  of  organizing  informa5on  into  related   groupings  in  order  to  manage  complexity  and  reinforce   rela5onships  in  the  informa5on.   Layering   Universal  Principles  of  Design   *
  27. *
  28. “ A  method  of  limi5ng  the  ac5ons  that  can  be  performed  on   a  system.   Constraint   Universal  Principles  of  Design   *
  29. Twier  v1:  /statuses/public_timeline.json/statuses/public_timeline.xml *
  30. Twier  v1.1  /statuses/public_timeline.json *
  31. Eliminate  unnecessary  choices   *
  32. 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   *
  33. Share  our  domain  knowledge   *
  34. *
  35. *
  36. *
  37. *
  38. Share  our  API  knowledge   *
  39. *
  40. *
  41. *
  42. “ A  method  of  informa5on  presenta5on  in  which  informa5on   is  presented  in  descending  order  of  importance.   Inverted  Pyramid   Universal  Principles  of  Design   *
  43. Does  alphabet  soup  taste  good?   *
  44. List  resources  by  importance   *
  45. *
  46. *
  47. *
  48. “ An  ac5on  or  omission  of  ac5on  yielding  an  unintended   consequence.   Errors   Universal  Principles  of  Design   *
  49. Make  it  easy  to  learn  from  mistakes   *
  50. *
  51. *
  52. *
  53. “ The  usability  of  a  system  is  improved  when  its  status  and   methods  of  use  are  clearly  visible.   Visibility   Universal  Principles  of  Design   *
  54. Be  transparent  and  human   *
  55. *
  56. *
  57. *
  58. 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   *
  59. Ask  for  input,  give  data   *
  60. *
  61. *
  62. *
  63. “ 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   *
  64. Maintain  clarity.   *
  65. Tip:  Verify  design  principles  as  well  as  correctness.   *
  66. 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   *
  67. Ques5ons  
  68. groups.google.com/group/api-­‐cra?  
  69. THANK  YOU    Ques%ons  and  ideas  to:  @kevinswiber  @13protons    groups.google.com/group/api-­‐cra?  

×