- Having keyboard commands is helpful.
- Good documentation is very helpful; a program is understandable if it is documented.
- Some of the difficulty seems to be due to the programming environments and libraries that are used for making these programs; due to badly designed UI libraries and programming environments, the result will also be bad. However, this is not the only thing that can cause these problems.
- On a computer it should also be helpful that the operator is able to make other external programs and can interact with them too, with your software. Command-line programs, user configuration settings, API, etc, can also be helpful in doing this.