A lot has been written about the User Experience. Most of it is rather vague and abstract for us keyboard monkeys that are churning out business functionality as fast as we can.
So let’s try to look at it from a different angle: does having a nice GUI and a good User Experience stand in the way of a high software development productivity?
I’ll start with the answer: No.
When you try to design each and every pixel of each screen of your huge business critical application you will have a very low productivity and your project will fail. But that is not what people do in the real world. Large applications usually have many transactions that follow the same design pattern. And it helps both your productivity and the UX if you implement all these transactions in the same way.
Uniface offers good support for implementing patterns. Component templates offer a quick and reliable way of building many similar Forms. Code in your Application Model helps you implement the same business rules in the same way throughout your application. Using Include Procs also helps. And so do all the other types of Templates.
Besides patterns you also need consistency in the details of your user interface. I find that defining logical widgets in your ini file is a great help for that. Say your application has four types of buttons. Defining a logical widget for each of those types will ensure all these buttons have the same color, font, icon and other properties.
Do take the time at the start of a project or renovation to get your patterns and GUI right. Hire a UX expert or GUI designer if the topic is really important for your application. But please don’t give him or her a carte blanche. You still need to be able to build efficiently it in Uniface. Talk, discuss and find a good solution together.
And of course in each application there are a few screens where it is better not to try and follow your regular patterns. Those are the screens where you really have to slow down a bit. Sit down with the users and design something that is both buildable for you and usable for them. You will reclaim this investment in time because you do not have to redesign them a couple of times before everybody (but you) is happy.
In my opinion Consistency is King for both developer productivity and the user experience!