Does ensuring software usability always result in a decrease in efficiency?
It normally results in an increase in efficiency for the user - if you have a user interacting with the software, this is normally the rate limiting step in anything it achieves anyway, so taking everything into account I'd say a resounding "no".
Efficiency for whom?
Usability should increase the user's efficiency - which, in nearly all cases, should be the most important measurement.
Though one measure of usability is the speed of response of the software which is one sort of efficiency, so - turning your statement around - by making the software more efficient you are making it more usable.
The answer is ultimately no.
Usability:
- How easily can a user accomplish their goals?
- How obvious is the correct path to their target?
- How difficult it is for a user to fail?
Ideally, you would be able to answer very to all of these.
Efficiency:
- Programmer Efficiency: How many things need to be implemented vs. are being implemented
- Processor Efficiency: How fast does the application run
- Memory Efficiency: How small is the application's running footprint
- User Efficiency: How fast can the user accomplish their task
Applications which are not usable tend to have:
- Too many options
- Too much screen clutter
- Few helpful indicators
- Few icons
- Little guidance
In order to be a strongly usable program, it means that the user must be able to quickly and easily accomplish their tasks without anything else getting in their way.
Simplification
In general, this would mean removing all options that a user does not need. Even if there is an option that a user could need, it should only be presented to them when it is a relevant option at that moment.
Doing this increases all four of the efficiency goals we set out earlier. Fewer options to implement, fewer items to render, and faster user efficiency. Simplification both enhances usability and increases efficiency. However, this is at the cost of a higher upfront design-time.
Icons and indicators
Adding icons and indicators will typically (if done correctly) enhance usability, however they do decrease programmer efficiency, as they are extra tasks which need to be completed. Presuming a web-app, they would increase (to whatever extent, large or small) the render time of the page if you are sending more large images, rather than a strictly text page.
However, they dramatically increase the user efficiency and usability.
Basically, increases in usability require a large investment up front to design your application correctly, and to run a large number of usability tests. These can inturrupt your development cycle but they will create a better project. They will also reduce bugs and require less of a support infrastructure, because your application will be better suited to its purpose.
Usability is always worth investing in.
Absolutely not. Usability is efficiency.
The word 'sufficient' come to mind.
In any case the question is kinda a non-event. If the product has now usability then it aint going to be used ... so it then has low value. :-)
Rob Smyth