Dogfooding
Image by Steve Starer on Flickr
Eating dog food doesn't sound like much fun but it's an important part of creating software.
Dogfooding is short for “eating your own dog food”. As a software company or developer, this means using for yourself the software you write for your clients.
This has great advantages because you are able to see what the user experience is like for your clients. You are also more likely to fix a bug if it affects you in your daily work.
For a long time the compiler for Microsoft’s C# programming language was written in C++. Then the C# team at Microsoft created a new compiler called Roslyn, which is written in C#. It is a lot faster than the previous compiler and it has the advantage of now being cross-platform (it works on different types of computers). It’s interesting that the code to compile the language into code is written in the language.
No one really knows where the term dogfooding or eat your own dog food comes from. In the 1980s, a TV actor Lorne Greene mentioned he fed Alpo dog food to his own dogs. And the CEO of Kal Kan Pet food also supposedly ate the company’s dog food product at annual company meetings.
However, the first mention for computer programming was in an email from a 1988 email from Microsoft manager Paul Maritz, titled Eating our own Dog Food, encouraging another Microsoft manager to use their products as a way to understand and improve them.
So now that you know what dogfooding means, can you find ways to try it yourself when creating a tool or application for other people? What software do you use, or could you use, that you might also build for other people?
Learn More
Eat Your Own Dogfood
https://en.wikipedia.org/wiki/Eating_your_own_dog_food
https://web.archive.org/web/20080621080007/http://news.zdnet.com/2100-3513_22-5047467.html
https://www.computer.org/csdl/mags/so/2006/03/s3005.html
What is the Work of Dogs in this Country?
Also In The August 2019 Issue

Practical resources and tips to get kids engaged in STEAM from an early age.

Explore the world, spend time with family and friends, and shed some light on the secrets of nature!

Put the digital world aside and go back to the days of analog circuits with this cool open source application.

Make your sprite’s motion more realistic by adding acceleration and gravity to your code!

These three strange words keep popping up in coding tutorials. What’s their story?

Interactive play is a great way for students to learn STEM concepts, and new web technologies are making this easier than ever.

Meet the STEAM star who’s combining activism, innovation, and collaboration to build a better world — with sparkles!

Eating dog food doesn't sound like much fun but it's an important part of creating software.

Transform ordinary smiling faces into something kooky and unique with this fun SketchUp activity.

Learn what your antivirus software does, and why it’s important to keep it updated.

Driverless cars could mean less traffic and less accidents, but their developers have some challenges to solve.

A long time ago, before the internet, games were stored on cassette tapes — just like music! Well, Sort of.

We might think robots are a modern invention. But al-Jazari created amazing automatons in the thirteenth century. Today we would call him a maker.

This spiffy new programming language combines the best of typed and untyped languages.

Why does your computer need special hardware to render graphics? And what’s the deal with all those pixels, anyways?

A quick primer to the ins and outs of typed vs untyped programming languages.

Links from the bottom of all the August 2019 articles, collected in one place for you to print, share, or bookmark.

Interesting stories about computer science, software programming, and technology for August 2019.