| Its not that interface design is a weak area for developers. The thing is, we tend to spend very little time thinking about user interface (we like to jump directly to books instead which will do the thinking for us). I've found you can achieve quite a massive improvement by simply spending a decent amount of time thinking about / working on / testing your UI. Draw sketches, think about usage patterns, explain how things would work on paper, ask random people to try out your designs after you're finished implementing them, get feedback, identify actual usage patterns and optimize for them. Repeat. If possible, become a user of the product. It helps a lot. The second most important thing is to copy other people's good interface designs. Or less harshly put, use existing patterns, especially those widely accepted by users. Check out popular websites and applications, see how they solve your current UI subproblem, copy their solution, perhaps improve upon it. Read about UI patterns and when to use them. note: We're trained to think that copying is bad, originality is good. In UI, the reverse is true - by copying you save time on user training as users are already familiar with the design. There is nothing shameful about copying other people's good UI design (and I don't mean the visual aspect of it) Of course, this is not really a substitute for proper training - but quite often its a really good first step which we seem to miss . |