Good Advice! Do you have any recommendations for how to gain a grasp of what problem to solve in the first place - how do I know where to begin and what users to speak to?
Be careful about not talking to someone thats too successful though- they are playing a different game and their knowledge probably won't be applicable at lower levels (i.e. don't a formula 1 driver how to parallel park)