Once the product's task is known design the interface first then implement...
Right now computers which are supposed to be our servant are oppressing us.
Imagine if every Thursday your shoes exploded if you tied them the usual way....
This is the precept by which I have lived: Prepare for the worst expect the best and take what comes.