I'm no expert but it's best to think of a good idea, then put some pen to paper before coding it all. You need to have a basic layout of the app in your head at least first of all so that you don't have massive headaches later on trying to change everything.
Think carefully about how is the simplest, best way of acheiving what your app's objective is. Where should the buttons go? Which buttons are needed, which aren't? Have a look at other apps (including the built-in ones) so that you can use paradigms from similar functionality there so as to keep the same experience.
Then experiment a bit and once you think you have completed it, tweak until you are happy with the product.