I work for a company that produces a large, 13-year-old web application. Lately, I've taken on the task of trying to get some kind of User Experience guidelines going for the system - something that hasn't really been worried about here before (Pretty much everyone here is a backend developer, no one has ever really worried about UX beyond "is it somehow possible to do what the user wants to do?").
One problem I've identified is our use of buttons, and it's giving me some trouble.
As we know from various design principles, having a whole bunch of options for a user that all look the same, but do different things, is bad. Cool.
Here's what part of our system currently looks like (Button names substituted, obviously):
download bmml source – Wireframes created with Balsamiq Mockups
This is just one, fairly minor example (we've got much worse) of a pervasive problem across our system.
I should note at this point that our system is mainly used by highly inexperienced computer users, who will not necessarily be familiar with common UI conventions. However, it forms the core of our users' day to day job, and they therefore become very familiar with the particular part of it that they use.
What changes can I recommend to our approach to using buttons that:
- Would make pages such as the one above much more clear in their purpose.
- Would allow much quicker use of the system with less effort.
- Doesn't alienate the highly experienced users of our system who - while very knowledgable about the way our system currently works, are not fast to learn "new" systems, or adapt to change in our product, at all.
For bonus marks: in the general case, how does one alter bad design (that is understood and used fairly efficiently by experienced users simply due to their massive amounts of repetition of a task) without alienating experienced users in favour of inexperienced ones?