Defining the project scope and timing
So you have your brand new app idea, that’s cool!
We now have to define the minimal set of features your app is going to have before releasing a first version on the App Store – namely a Minimal Viable Product.
We will rely on a sample project Salsa Coach, the basic idea of this project is to provide an app that allows salsa dancers to keep in mind some key moves to perform during salsa dance events, and allow them to track their progress.
Before starting, the first thing to do is to remind yourself productivity laws to avoid spending too much time on details. You can get plenty of articles for example this one.
Among them, those two are really useful to keep in mind:
“80% of our results are the result of 20% of our efforts”
This is exactly why we need to define priorities and not focus on small UI details, your project will never be perfect and can always be improved.
“After a while, productivity tends to decrease or even reach negative values”
Working on an indie project can be really addicting and most of the time you will probably not even notice that you are not being productive anymore; that is why all we will discuss is an asynchronous process, you are free to (and you should) define times where you will work and times when you will have a break.
If this suits your workflow, you can also use the Pomodoro Technique to boost your productivity, by working and having breaks on well defined times.
Then, you have to challenge the idea by explaining it around you as your app must satisfy your end users, not you.
You can ask them some basic questions like:
“Does this sound useful to you?”
“What features would you like to see in this app?”
“Do you think you would use it on a daily basis?”
“According to you, what would be a fair price for this application?”
This will give you some qualitative results.
If you have acquired a user email database (which belongs to your app target users), you can also complete your study with quantitative results.
Now, take only the few features that are requested the most and ensure they will fit in a small timeline (of only 5 up to 10 days of work), you have a limited time for indie project so you have to impose yourself short deadlines and regular objectives.
As your project development will be asynchronous (unless you can work on it continuously), the simplest way to impose yourself deadlines is to clearly define expectations.
You can use for example Trello which is a great tool for managing your tasks using a visual cards representation and has a Due Date feature.
Investing some time on this software will be valuable as it is used a lot in both startup and indie developments ecosystem.
For our sample Salsa Coach application, we defined our users profile (personas) as being non beginners nor very experienced salsa dancers: the goal of the app is to help salsa dancers to remember some key moves to allow them to include some variety in their dance.
This goal has been defined by looking at existing Salsa applications in the App Store and Google Play stores.
A majority of them provide quality teaching videos, some allow users to learn by watching “virtual” coaches using Augmented Reality. The thing that is missing and provide value is allow dancers to track their progress and to have a more user friendly interface.
Applying the above process to this project, we performed a quantitative analysis using Google Forms, targeting some Salsa Groups mail lists along with asking for advices to salsa teachers (Is the project viable? Does it provide a useful tool along with salsa courses? Can it help dancers to improve faster?).
Based on this analysis, we define the following minimal set of features:
- A tutorial should explain the user how to use the app correctly
- Present a random list of moves to perform for the user next dance
- Provide a precise description of each move
- The list of random moves can be shuffled
- Self-rate your dance moves
- Display user its progress in a given week
- Display user its achievements
We will discuss how to present the user these informations in the next tutorial.
Now that we validated the concept, we must take a second look, and see what we can improve in the design of the User Interface and how we can improve the overall User Experience.
See more in the second part of this tutorial!
Day 2 – User Interface.