This is a balance I never get right when building a new system, inevitably I either have a grogeous UI and a fragile, hackneyed underlying system or a fantastic system design (so, loose coupling between strata, usable caching strategy, secure authorisation system, flexible templating etc...) and a UI that looks like it belongs in the early sixties on a hippy commune (let's say messy
). I guess this is partly me; I have trouble context switching when building complex apps; and partly the nature of the development culture at my current company; single man with occasional designer input.
Anyway, anyone have any advice on how to merge these two areas? What tricks do you use to get great UIs as well as good application design?