If you change basic things like keybindings in an application do not change them for users who are already using your application. At the very least warn them upon startup in a nice message box:
“Dear user, you have been using our application for a while. Obviously, you are happy with it, otherwise you wouldn’t have launched it again. Still, we have determined that your by now ingrained habits are not consistent with those of the rest of the world, so we want you to relearn. Or you could go and change our preferred defaults back to what you are used to by clicking –here–.”
So, to summarize:
- Keep consistent with the rest of your environment.
- If you have determined you will not do that, at least don’t change the way your existing users work without warning them.
- Realize that there is difference between new users and existing users.
Personally, I don’t give a fig for what the rest of the world is used to (i.e, “other IM clients except for ICQ”. I used Gaim before Kopete, and I distinctly remember having Gaim set to be consistent with the rest of my environment), and I don’t give a fig for technical problems with having two KXMLGUIClients either , and I don’t give a fig about IRC either (because the difference between IRC and IM is that with IM the messages can be a lot longer than with IRC).
I care about not being disrupted by the software I use. I care about being able to let my fingers learn the moves and about being able to trust my fingers.