Eating Your Own Dog Food

Eating Your Own Dog Food


Nick Jackson

July 12, 2012


  1. 5.
  2. 6.

    YE OLDE REPOSITORY • Built on the premise of deposition

    of files (or pointers). • Generally limited interface methods, eg browser or nothing. • Focuses on format (if filetype), not form (ie structure).
  3. 8.

    LOVE YOUR BACKEND (LOL) • Be prepared to deal with

    raw data. • Build your APIs first. Not your UI, your APIs. • Build good APIs which people will want to use.
  4. 9.

    EAT YOUR OWN DOG FOOD • Use your own APIs

    to build the frontend. • Use your own documentation. • Find a user, and make them use things.
  5. 10.
  6. 11.
  7. 12.
  8. 13.

    FORGET THE CONTAINERS • Storing a CSV file is great,

    if you want a whole CSV file. • Research happens on subsets of data. • Give researchers a shared, easily usable database. • Use the APIs to put stuff in and out automatically.
  9. 14.

    MAKE IT EXTENSIBLE • Make sure data is accessible and

    writable easily. • Encourage re-usable modularity. • Rely on things that do things to get things done.
  10. 15.
  11. 16.

    WE BUILD BETTER STUFF • APIs are robust and reliable.

    • APIs are easily implementable by 3rd parties. • All functionality is available over APIs. • Error handling is consistent and clear. • Security is forcibly implemented across the board.
  12. 17.

    IMPROVED VISIBILITY • Database querying lets researchers find what they

    want. • Improved quantitative information on how much stuff. • Data can be seamlessly integrated with other systems.
  13. 18.

    SCALE TO INFINITY (And Beyond!) • Designed to scale horizontally.

    • No horrible statefulness to maintain. • Loose coupling means no un-picking necessary. Just go.
  14. 19.
  15. 20.

    THE PROBLEMS • Takes time to design decent architecture first,

    so less ‘jump in’. • Doubling up development at API and interface ends. • APIs can add overhead, especially ‘heavy’ types like XML-RPC.
  16. 21.