To make your system easy to learn, consider the following:
Make the interfaces consistent. If your interfaces are consistent, then having learned to understand one interface, the user can understand related interfaces with little effort.
Choose objects that are intuitive to the user. This requires that you base the design on conceptual entities, which are familiar to the user.
Choose operations on the objects that are intuitive. For example, use create, change, delete, and work with. Use simple standard metaphors wherever possible.
Follow object-action principles. Generally, the user should choose an object, and then an action.
Allow backing out. It should be possible for the user to explore the system without serious consequences.
Provide feedback to reassure the user at every step.
Provide online help and search indices.
To make your system efficient to use, consider the following:
Use as simple of a design as possible.
Avoid the need for the user to recall information.
Avoid modes.
Provide basic and expert paths.
Make the most common path the default path.
Provide the system ready set up for use.
Only provide additional facilities on a demand basis.