I work in a very large, established company with a consistent philosophy of, "If it's not broken, don't fix it." The (large) division of the company that is responsible for maintaining customer records uses a text-based mainframe interface from the 1980's. From my perspective, the bright side of this system is that we can hook into and control the mainframe session object via .NET for screen-reading, task automation, etc. The down side is that it's extremely user-unfriendly and the training cycle is extensive to teach everyone all the commands and what each of the fields mean. Months to proficiency and years to master.

What I'd like to do is create an adaptive wrapper -- something that processes each of the fields and input areas on the screen and presents it as something easy/quick to understand by the end user. A natural flow. The division is about to hire a few hundred people, more than usual, and getting them off the ground quick is very important.

Data Entry example: http://docs.oracle.com/cd/E13187_01/JAM/v51/cross/wwimages/CP72.gif Record definition

Customer Record example: http://seindal.com/ConsoleMVS38.jpg data entry

These two images are examples of more-or-less similar systems. From a programming point of view, the screen is a grid and each character on the screen is accessible by (X,Y) coordinates. The tricky part will be that there are hundreds of mainframe screens, so rather than redo the interface for each one, I'll be using dynamic fields and reconstructing screens dynamically on the fly. I'm confident that I can handle the programming to read all the data and input areas and repaint it in a different shape.

I need some expert advice on exactly what shape that could be. I've been impressed with some of the examples of work that I've seen on this site, and it's an interesting challenge, so I thought I would ask for any tips? Thanks for any help.

  • 1
    Maybe I'm a bit old and dusty, but I love TUIs. If you are reconstructing the screens on the fly, what becomes of all the arcane field names and abbreviations necessary to fit the TUI into the 80x24 character box? How do you change them and how would you teach your users their meaning? Mar 31, 2013 at 21:27
  • 2
    I'm just afraid it's not possible to form a good general recommendation. The system is too complicated for that, and in the same time it needs plunging in to come up with ideas for specific parts of it. Mar 31, 2013 at 21:35
  • 2
    You aren't going to be able to generically update the UI and expect huge gains in learnability/ease of use. You need to study your users, generate designs and then test them. There are no shortcuts. Apr 1, 2013 at 0:15
  • 2
    I'd say the command line interface is the biggest hurdle. You would help everybody by adding a simple "grid and detail forms" approach on top of it. Never mind skeuomorphism. Take baby steps and concentrate on learnability of the new interface and on making it easy to get things done. Get that right, and even the experienced users will soon forget all about their lovely command line interface with which they could ... whatever. Apr 1, 2013 at 8:47
  • 1
    Consider looking at an application like Perforce's p4v which 'wraps' a CLI. It still shows the text command, which helps users transition from one interface to the other. Apr 2, 2013 at 19:17

1 Answer 1


I think that Marjan Venema's comment should be rewrite as answer to question and I vote for it. The only restriction could be that each user must know current application interface. In case new users can use alternative new software all the time this application definitely should be redesigned. What about mobile client app with this legacy interface? It sounds like a joke, isn't it?

Not the answer you're looking for? Browse other questions tagged or ask your own question.