One of my first jobs involved writing a modern (for the time) GUI app to replace some ancient services that involved logging in a mainframe to use. They needed to updated for a host of technical reasons, but there was also hope that more user-friendly versions would decrease the onboarding time for new employees.
The first version was a fairly literal replacement of the workflows. The users were pissed. They demanded the checkboxes be replaced with "Y" and "N" options to mimic what they were used to. It was interesting to see the reluctance to any change at all.
> The users were pissed. They demanded the checkboxes be replaced with "Y" and "N" options to mimic what they were used to.
If you removed my keyboard workflow, I'd be pissed too. Muscle memory means you don't have to think about it; with the mouse, you always have to think about what you're doing, and can't think of other things (e.g. why you're doing it) while you're doing the rote bits.
Is there a particular reason you couldn't've supported the Y/N workflow? (i.e. “Y” is like “set, tab” and “N” is like “clear, tab”)
> They were pissed we replaced the Y/N text items with a checkbox.
At this point, I'd probably factor out the UI, hand them the client-side source code and tell them to get on with it. If they want to customise the UI, then so long as you're not supporting it…
… but yeah; that's a less reasonable objection than I thought it was. (Still a change to their workflow, and still understandable, but there were legitimate business reasons that the workflow needed to be changed.)