I have just finished reading a post (found on programming.reddit.com) about how sometimes sometimes, it’s best to leave old software systems alone. The author reports of an anecdote where the curses-based data entry system of company running on an old Unix system was replaced by a new and shiny .NET web application. Now, even as a web developer I can see that it’s a bad idea. Here is the part of the article I was expecting to read:
What was perhaps the worst failure involved the in-house users and their productivity. Large portions of the old system were built around a curses-based UI. Although it apparently wasn’t very pretty, it did allow for a great deal of user productivity. One of the main complaints about the new Web-based software was that the keyboard support was quite poor, requiring the user to select input fields using the mouse, and at times even having to scroll the page to input or manipulate certain data. With the earlier system, the nagivation (sic) could rapidly be performed using just the keyboard. Some of the more experienced users were apparently so efficient with the older system that their productivity was reduced to 25% of what it was before the switch.
Anytime something like this comes up, I am reminded of a story of my own. I live in a small village and there are two places where you can rent movie: the movie rental shop (MRS) or the convenience store, known in Quebec as a dépanneur (DEP). The two establishments are on the same street, barely 50 meters away from one another and both have decent offerings.
As a computer geek, one thing I noticed was how much faster it was to get a movie at the MRS than at the DEP. The MRS rental computer system was (from what I saw of it) some sort of DOS-based program. Input of data was extremely fast, because the clerks had completely memorized the key strokes necessary to register a rental. They asked for your membership number, they entered it (if you didn’t know it, they asked for your phone number), pressed Enter, entered the numbers on the tokens you brought to the counter pressed a couple more keys and then they told you how much it was and went to fetch the movies while you were searching for your money. The entire process didn’t take them more than 10 seconds.
At the DEP, they had a Windows-based system (maybe Delphi-based) and it was much longer to input your rental. They would take the mouse, click on “New Rental”, select the phone number field, ask your for your phone number, input it, take the mouse, click on search, click in the input field for entering the number on the token, input it, take the mouse, press “Add”, select the input field again, enter the second movie number, click “Add” and so on… Eventually, the system at the DEP was replaced by a good ol’ paper and pencil system. I didn’t ask why they changed the system, but my guess is that it was just faster to write with a pencil than with their computer system.
Whenever I hear of a data entry system, I immediately judge of its efficiency by its interface: white text on a black background? Probably good. Flashy widgets? Not so much.