1. It is.
Functionality is A&O. On these a 2 part solution could bring out the deal for finish. First one witch is design for high-end user. More options, more selections ect.
Second. UI version what should follow what the most trending today is, not a direct copy, but something what can be related how. 80% of mobile apps hold. So user from SnapChat/Facebook can relate to what they see on UI without any more issues.
2. Features are important.
Too simple concept leads to Agar.io. Should have options for fine tinkering (could be set for the High-end user UI). Perhaps a style like Advanced system care hold one point "beginner/norm/nerd".
Of course all depending what all is going to be implemented in.
Single program, one function. Does not need much of anything, but a clear 1,2,3 done. A compilation of programs? Perhaps more advanced look for what is wanted at whatever point.
3. I would say always the first version out. Fix bugs, improve. This way you got the golden user-end feedback and even maybe give you the light pulp moment for perfection.
4. ??????? After a while of thought, i want to see your original ideas come to life(do requests). And... Hey i want to see you eat a sandwich.