Eating your own Dogfood

Want to build a really great app? One that people love using and will tell their friends about? One that people will leave great reviews for? One that will leave users clamoring for more?

Here are the steps you can follow, to accomplish this.

1. Create an app that you yourself want to use.

Solve a problem that you have, that you haven’t found a solution for.

Being a target user yourself will help you a lot in the research phase of figuring out what problems there are that require a solution, and what people would be willing to pay for that solution. Would you be willing to pay for it yourself? Would you use this product regularly?

Be honest with your evaluation, since if this isn’t something you wouldn’t pay for or use, then it may be difficult to find others who would.

Eating your own dog food or just dogfoodingis a common term used in the software industry, where software companies encourage (or require) employees to use their own products in order to find bugs, improve usability etc.

2. Use the app regularly and see if you’re happy with it.

If you’re not happy with it, refine it further until you’re happy with it as an end user (not just because it’s your app!). Decide early on if the reason you’re not using the product is something that an update would fix. You may decide in the end that your problem isn’t something that an app could solve, in which case it’s better to terminate the project early on (preferably even in the mockup stage). Or there may be technical challenges involved that cannot be overcome.

3. Attract other like-minded users to give you feedback.

Being a target user yourself, you are hopefully already engaged in communities with like minded individuals through forums, Facebook or Reddit groups. If so, see if you can sign on others to help you beta test or give feedback on whether they would use your product. Many people are genuinely happy to provide such feedback if the product will help them out in the future.

4. Continue improving and developing the app.

You’ll want to launch with the simplest version of your product (without any additional bells and whistles), so you can start receiving feedback right away. Since bells and whistles can eat up a budget pretty quickly, make sure that each feature you add really makes the product better and is closer to a must-have, rather than a would-be-nice-to-have.

5. Develop additional products and enhancements that you can sell to this same audience.

By following this process, and engaging in constant communication with your users, you should be able to develop a following that should make it easier to launch future products in a similar manner. Ideally, if later products you create also target the same audience, you can save yourself a lot in marketing costs, as you’ll already have an audience ready to sell your future product to.

I followed this exact process with my first product – Chinese Learn Online. I wasn’t satisfied with the other resources out there so I created my own, with myself being a target user. I created what I’d want to see in the perfect learning system out there.

Later, I became active in forums for learning Chinese, where I was able to promote and get feedback on my product. I developed a loyal following of users who suggested new features and gave me feedback on my implementation of them.

What started off as a small site for a few hundred users later blossomed into something much bigger, with thousands of paying users and millions of content downloads. But it all started with me creating something for myself.

A similar approach was later used with my STL Contact Manager app – I created a simple app to manage my contacts. After receiving additional feedback from users, more features were added, along with in-app purchases to further grow the product.

So what app have you always looked for but haven’t seen out there? Can you create a solution to your own problem?