When faced with a design decision in which one option is more intuitive, and the other is more efficient, what guideline should be used to prioritize one desideratum over the other?
Which is more important depends on what you are designing. My general guidelines would be:
Intuitive matters mast when you're designing an app that people aren't going to invest time into learning. It's important that they get a win as soon as possible, and that means that they need to be able to use the product with little or no time learning it. Think of a small mobile app. Instagram is a great example.
Efficiency matters when people are likely to use the app a lot and they are prepared to spend time learning it. This applies when the perceived value in learning to use the application is greater than the perceived initial learning barrier. Note, perception matters a lot here. Think of an app which a programmer will use all day. VIM / VI / EMACS are good examples.
That said it is hardly ever such a clear decision between one or the other. It's a compromise between the two. Sometimes you can make something a little less efficient and a lot more intuitive and the other way around.
Spend some time thinking through what really matters to your target audience or, even better, ask them and do some early stage usability testing with them. You may just be surprised what you learn!
Looks like JohnGB beat me to it.
As he says, efficiency wins out when:
A good example might be a stock tracking application for a city trader. Traders obviously have a massive investment in getting the latest, up to date knowledge on the state of the market - thousands of pounds are at stake. So a trader will be quite willing to spend some time learning the app's shortcuts and nuances. Time is of the essence in stockbroking, so anything that shaves seconds off could really be worth it.
Good answers here for your typical consumer app. However, if you want to get beyond rules of thumb (such as “more use means favor efficiency over intuitiveness”), then you need to apply a formal human systems integration (HSI) approach.
With HSI, you look to minimize total lifecycle cost (or maximize revenue) by designing a system with optimal levels of out-of-the-box usability, training, personnel needs, and manpower. You do this by getting numeric estimates of the cost of each for your alternative system designs.
If you want, you can also toss in the cost of health, safety, habitability, and survivability into the equation, if they’re relevant.
This approach could be applied to the UX of a public web site or application.
Is your case really worth the effort of a formal HSI analysis? I guess that’s the meta-HSI of HSI. Estimate the cost of a formal analysis against the chance and cost of you coming up with a sub-optimal solution without it.
While it is very much dependent on the app, you should always balance the two. The efficiency of an application is an important part of the intuitive use - that when you do something, the system responds as quick as possible. If the system is inefficient, then you do not get the response, and so you lose efficiency.
OTOH, if the application is not intuitive to use for the target user - which may be someone who has spent some time learning - then the performance speed of the code will be irrelevant, as the user efficiency will be reduced.
So you have to balance the two in each situation, to find the best compromise.