Essential vs. Non-Essential 07 Feb 2006
53 comments Latest by lil beeky
One of the toughest things to figure out when trying to launch a simple product is what to add in and what to leave out. The way we do it is to figure out what’s essential and non-essential. Non-essential stuff stays out of 1.0.
A great way to spot non-essential stuff is to run it through a filter. If the feature is attached to “wouldn’t it be nice if…” or “It would be cool if…” then it’s usually non-essential. Nice and cool are definite red flags.
During the development of Campfire we had a lot of “nice and cool” moments. A great way to deal with those is to immediately slap the “v1.1” label on them. That means we’ll consider it after launch.
Here are some v1.1 features we initially wanted to include in v1.0 but decided against them since they were non-essential. Nice to have, but certainly non-essential:
- Room locking (not allowing anyone else in a room)
- Room caps (cap the # of people in a room)
- A marker to show you the last message you saw before you left the room
- Private chats
- An “off the record” feature that keeps certain messages out of the transcript
- The ability to clear message backlog in a room
- An API
- and more…
Some of these features may make it into a future version of Campfire but they are non-essential for 1.0. And how do we know they are non-essential? We’ve been using Campfire for over a month without any of these features and doing just fine. Yes, some would be nice. Some would be helpful. Some would make it more useful. But none of them are essential. That’s the difference.
Bottom line: When you build an app always look out for the non-essential features. Make sure they don’t make it into your v1.0. They slow down your release, they dilute your focus, they require resources that pull you away from perfecting the core of your app, and they open the door to more bugs at launch.