During this phase you need to define the MVP – the minimum viable product, the minimum set of functionality that is enough to address, at least some, part of the bigger problem. Sounds good but there are MVPs and MVPs. You must go through the rabbit hole, look around, mind the gap and decide where and when to draw the line, otherwise you’ll drown in petty details.

For our context, let’s assume that the high level MVP has 3 parts:
- Have front (landing) page – not aware of a website without such
- Have user registration page – so people can register and use the service
- Have user space, from where users can manage their images – because register & nothing does not sound appealing
Things look pretty clear, right? Wrong. They aren’t, that’s why this is a high level MVP. Let’s start with the front (landing) page. You have to decide how it is going to look like, the design, look`n`feel, functionality. This is going to be the first page a user is going to see, the face of the service, the first point of contact, the impression generator. It must be catchy, it should make people want to register. One can go on forever with the questions but that’s the idea of the MVP – to draw the line and stop. For our case what we want is this:
- Front Page
- Shows nice picture for header (must define what’s ‘nice’)
- Neutral, color for background (dark green?)
- Title (what the service is going to be called? (Limshare?)
- Registration button
- Footer with links – ‘about us’, ‘terms of service’, ‘contact us’
This is not detailed enough but let’s assume it is okay for now How about the Registration Page? Do we really want to have a separate Registration Page? Can’t we just do it with a pop-up form? Isn’t it more convenient? Hmm… You’ll have to figure this out. For our case let’s settle on a new page, dedicated to registration. When one clicks on the Register button (or link?), one is redirected to the registration page. What should this page have?
- Registration Page
- Email and Password input fields
- First/Last name fields
- Register button
Which of those fields must be required? Obviously Email and Password, but how about First/Last name? Should we have country, date of birth, sex, something else? Should we allow somebody to sing-up with his Google/Facebook/Whatever account? Are we going to use any catpcha or bot protection, so we don’t get flooded with fake registrations? How can we distinguish between a throwaway (temporary) email and a legit one? What happens after successful registration? What if the registration is not successful? Do we have to do it right now, if yes, why? As you see, there are a lot of questions. Let’s draw the line and settle on just those fields and button.
Moving to User Space.
- User Space – Private
- Can upload/delete images to default album
- Can showcase 5 images from default album to public space
- User Space – Public
- Unique link to the public space for this user, which allows others to browse through the images
Given that this is the MVP let’s limit the functionality to the most basic one. After registration the user can log into his private space (no dirty!). There is a default album, so the user can upload/delete images to it. Great, but… how the images are going to be uploaded? Upload form with a ‘browse’ button, using drag and drop or both? How many images can be uploaded simultaneously? Is there going to be limit of the file size, file type? How much disk-space the user would have? Is there going to be some traffic limitation? HOW WE ARE GOING TO CONTROL ALL THAT?! Bang. Now it seems we need a new MVP because we forgot to take into account those details. We are going to need an admin UI, control panel. We need it so we can set service limitations or the available resources can easily get exhausted. Somebody had to think about this in advance but somebody didn’t… somebody was rushing, too focused on the front without paying attention to the rare (no dirty!).
- Admin panel
- Administrators can monitor and control system limitations – disk-space usage, traffic (a.k.a bandwidth), maximum upload size, simultaneous file uploads
- The monitoring and control are done on two levels – globally and per user account
- The statistics are collected every 5 minutes
Nice. Questions leading to questions leading to questions. That’s how things work though. One must balance things out and be careful not to go to the extreme – too many or too little questions. Enough for the Define phase. Let’s move the heavy-duty act, the act where shit always hits the fan and if it doesn’t – then either a lucky day or you missed something big time.