I mean don't try to make things simple on the first attempt.
Instead of it, try to quickly implement the first prototype, it will be complicated by default.
But it gives you an ability to understand what you do wrong,
analyse and try to understand your mistakes.
Iterate.<p>It seems an obvious thing, but it became obvious for me after more than a year of work on my project.
This is certainly a sort of restating of <a href="http://en.wikipedia.org/wiki/Occams_razor" rel="nofollow">http://en.wikipedia.org/wiki/Occams_razor</a> except with the assumption that there's a lot of material to start with.<p>I think these kinds of patterns are nice thought experiments for sure... for instance the antithesis to what you speak is to start with the absolute bare minimum, and then to consternate quite a bit before adding anything.<p>Additionally one could use randomness or Vonnegut style cut-ups to juxtapose unrelated ideas into possibly new concepts.<p>I'm glad you have found a method that works for you! That is perhaps the best statement of all.