In our last lesson we mentioned a way to minimize development time by employing a technique referred to as the "minimum marketable feature".
What does “minimum marketable feature” mean?
You could also call it minimum useful feature.
We know your product is a whizz-bang collection of killer features, but stripped down to its most basic, what is it really? There’s one key idea or feature, and the rest is add-ons.
For first release, to save yourself a lot of wasted development and testing time, possible back-tracking and redesign and more development and testing, just release that one key feature. Add on all of the rest in response to user feedback. Then your add-ons are built right the first time, knowing how the user wants it. You don’t waste time with features users never ask for.
Our minimum marketable feature
Video chat with one other person from at least Chrome, Firefox, both PC/Mac, and Chrome Android.
Video chat represents the pinnacle in real-time communication, but text based chat, or IM, is also valuable, and will be included as part of the minimum marketable feature.
While video chat, alone, is a feature, we recognize that enhancing add-ons, like file-sharing, desktop sharing, interactive white-boarding and recording presentations make it an even more significant communication tool. We do intend to add these features, primarily in response to user feedback, but those features are beyond the scope of this specific lesson series. Perhaps later series will address feature enhancements.
Video chat and text IM will demonstrate WebRTC technologies nicely, but is that it? How would that even work exactly? You show up at the site and chat with who?
So, yes, some basic site infrastructure is needed in the support of our minimum marketable features. Users need to have a username with which to refer to other users. They need to be able to search for and find users based on certain criteria. They need to be found by others.
This means our users need to register for an account and the account needs to maintain a certain minimum amount of information about them to make finding them possible.
We need login and register pages/functions. User profile and search pages/functions. A database to store user information.
Some form of administrative access to the database for record management.