Aug 24 2010

Episode 83: APIs


Application Programming Interfaces are an important part of applications.

News/Follow-Ups – 00:37

  • Kittahs

Geek Tools – 01:22

Web Apps – 04:48

APIs – 09:14

  • Why API?
    • Can be a companies greatest asset (Think twitter, facebook apps)
    • Customers invest heavily
    • Cost to stop can be great
  • Downsides
    • A poorly designed API can lead to endless support calls
    • Public APIs are forever – One chance to get it right
  • Characteristics of a good API
    • Easy to learn
    • Easy to use, even without documentation
    • Hard to misuse
    • Easy to use and maintain code that uses it
    • Easy to extend
    • appropriate to audience
    • Good APIs let you get a lot done with few lines of code
  • Designing a good API
    • Get requirements from actual use cases
    • Start with a simple 1 page spec
    • Bounce spec off as many people as possible
    • If spec is short it will be easier to modify
    • If you can use your own API
    • It should do one thing and one thing well
    • When in doubt leave it out
    • Names should be self-explanatory
    • Provide programmatic access to all data available in strings
  • Documentation
    • Document religiously
    • Should include
      • Syntax
      • Parameters
      • Details about the return values
      • Examples
      • Usage scenario
      • Related APIs