Eating your own dog food

In 1988 Paul Maritz, then a manager at Microsoft, coined the phrase “eating your own dog food” to describe the practice of using your products in your own work, not just selling those products to the customers.

It occurs to me that in computer graphics research we do this a lot. We don’t just use graphics techniques to make images and animations, we also use them to explain to other people how those techniques work. It’s a wonderful example of graphics as a meta-discipline (a discipline that can be used on itself).

For example, as part of my little game to teach reading, I needed the game to generate a bunch of sentences. I was on my way to a meeting to explain to somebody how this worked, when I realized I could just use computer graphics to pretty much do the explaining for me about how this is done.

If you click here to launch the Java applet, you see an example sentence. Moving your mouse around over the applet generates different sentences.

If you then click on the applet, an animated graphic shows up that explains how it’s done — as a kind of random MadLibs generator. Of course I could have just said “random MadLibs generator”, but (1) not everyone is familiar with MadLibs, and (2) the graphical representation makes it much more clear exactly what’s going on behind the scenes.

3 thoughts on “Eating your own dog food”

  1. Now there’s a challenge for your ARCADE system!

    Another wonderful meta-discipline is compilation. That magic moment when a compiler is bootstrapped enough to compile itself! (Harder to explain to laymen though).

  2. Yes, definitely true for writing compilers.

    I had, not surprisingly, a similar thought about the ARCADE system. 🙂

  3. Of course 🙂

    I was thinking about explaining a compiler that compiles itself to a non-CS person and the analogy of a single-language dictionary came to mind. A dictionary uses a language go describe itself. It also requires some bootstraping to be useful. It isn’t an exact analogy but it might be helpful in conveying that sense of “meta”.

Leave a Reply

Your email address will not be published. Required fields are marked *