I feel like I could write a book on this subject.
Early in my career, and for many years, the software I had a part in developing focused on innovative functionality. We created software that replaced mundane tasks, accomplished search and match functions super-fast (and early project was an Automatic General Ledger Reconciliation software for Washington Mutual Bank), and automatically delivered scheduled reports.
To explain the importance of user interface design and involving end-users in the design of a system I used to use an anecdote from my days at Washington Mutual. A team of data entry staff would be typing data into a new system. I created a quick prototype for them to test out which included a date format of M/D/YY. Users would be able to type the minimal number of characters for month and day, and only 2 for the year (this was in the nineties). The users hated it. Because they had all been using a different system for a while that required dates be entered in MM/DD/YYYY, that’s what they were used to, and could type that format faster, even though it had more keystrokes. Seems like a small difference, but with the scale of the effort in mind, it was a real impact.
Dozens of systems later, I would brag that many of the systems I built didn't need user documentation, and would lament those users (now more fashionable to call them ‘customers’, no matter the context… they are a customer of the software) who would comment “It took a while for me to figure out that if I wanted to accomplish [Task A], I had to click the button that read [Task A]. Well yeah.
I realized the reason it took them a while was not because it was complex, but because they didn't enjoy using the system. Some called it ‘user engagement’, and then with the nomenclature shift, borrowing a term from marketing, ‘customer engagement’ had a new definition regarding software.
Since that realization, I have embraced Interface Design with dual priorities.
Interfaces must be:
• Fun (Pick an adjective here: engaging, delightful, entertaining, enjoyable, etc.)
Business software developers have always done their best to simplify tasks and provide useful functionality. While functionality is necessary, it’s time to also keep in mind your customers’ emotional connection with the software. That is what brings systems to the next level of success.