About a week ago, on the deployment night for the third release of one of our key applications, as always I stayed late in the company. Around 10:00 PM, I was talking with my key user, while we are waiting for the database to come up, and the system to come back, so she can do her acceptance testing.
When I asked about her list of top requirements and enhancements that she wanted for next release (reelase 4), she asked "can I keep my OMI"? Now OMI is an old application we had, which is written in COBOL and CICS, running on mainframe. This new application we were deploying was used to replace OMI, it is a mixture of web application (J2EE and Struts) and desktop GUI (written in OpenRoad and VB).
When I asked for the reason, she said that, the biggest reason was that, with the new application, in order to complete one business task, she has to go through 7 or 8 screens/pages, but with the old application, everything is on one screen. It is a big waste of time on user side. We were deploying the third release of the new application, so user traning is not the issue. She has already increased her staff to deal with the new application, and most likely has to increase again (so the labour cost is going up)
Mainframe CICS is a language allows you to create text-mode GUI applications. It was definitely not very easy to use from the programmer's point of view, and you can imagine that it is not visually pleasant. However as it is not easy to use for the programmers, they tend to create as less screens as possible. But as GUI design is getting more and more easy, programmers tend to come up more screens.
I came to realize one thing through this conversation and also other occassions that, when GUI PROGRAMMING is becoming more and more easy, GUI DESIGN is not. Users don't care what technology you use, or how greate they are, they care whether the application you created helps them, and makes their job and life easier, but not to jam their business processes.