Salve!
Trazendo um ponto que eu vi só algumas tangentes na discussão até agora:
A parte do design tem tanta ciência quanto a da programação
Da mesma forma que tem bastante conteúdo de programação disponível online, também existe bastante coisa sobre como fazer uma interface efetiva. Um exemplo que eu acho interessante, que comenta sobre a importância de saber pra onde vc quer que seu usuário olhe - e impedir que elementos do seu próprio projeto compitam entre si: https://www.youtube.com/watch?v=MlsV3hu84as
Às vezes, pode ser difícil de identificar quais elementos estão fora de harmonia na sua composição. Nesses casos, vc sempre pode pedir o feedback de alguém com experiência (às vezes, até aqui no TabNews :] ) e descobrir alguns princípios pela sua própria experiência também.