I remain, as ever, the K.I.S.S. adherent. Assumption one: Users are generally stupid. Assumption two: programmers are, too. Can't do anything about Assumption one, but we can do all we can about Assumption two! Reality is you need both working together to get Assumption three: Results are possible if only we work at it!