What is the one thing that this application must do to give it any value at all?

When I starting building a new web app, I always ask myself the question:

What is the one thing that this application must do to give it any value at all?

Stripping away everything that isn’t absolutely necessary forces me to think hard about what is.

From this thought exercise I split my features into two lists, the ‘Absolute minimum’ and the ‘Nice to haves’. For Barometer (getbarometer.com) my two feature lists are:

Absolute minimum:

  • User signup using email address on to get some feedback tab code
  • System to send out the emails

Nice to have’s:

  • Tab image word can be changed e.g. Feedback, Support, Bugs etc
  • Tab colour can be changed
  • Option to change tab position i.e. left/right side and vertical
  • Form wording can be changed
  • Form title can be changed
  • Form success message can be changed
  • Admin system which can track statistics across code installations

You can see how my absolute minimum list is very short compared to my nice to have’s list. It is not possible to launch Barometer if it doesn’t fulfill my minimum list, but not being able to change the form title for example, is not going to hold back a launch. The split forces me to get the basics working well, and frees me from the extra bulk.

When you have a live running application, you can start working through your ‘Nice to have’s’. The chapter One Month Tuneup from Getting Real explains the benefit of this approach well.

A quick update shows momentum. It shows you’re listening. It shows you’ve got more tricks up your sleeve. It gives you a second wave of buzz. It reaffirms initial good feelings. It gives you something to talk about and others to blog about.

After launching you may find your user base asking for different features anyway. In tha past I have sometimes found that what I thought was important actually wasn’t for my users, and vice versa.

Real users help the web application grow as a product. Your aim should be to get your web app launched to a good standard ASAP; splitting your feature lists reduces the amount of time it takes to get there.