Jeff Atwood cites various instances of user interface friction. Any aspect of the UI design that makes its usage inconvenient and complex causes friction. Most of the times I have seen that it arises not because of lack of thinking, it is wrong automation. I like what David Muir says:
I venture that the more someone understands a topic, the better able they are to convey it in the most basic terms. I think the same thing applies to user interface design. If someone truly understands the problem domain and the software technology, they will be able to design a minimally complex interaction.
Whether we call it modeling, marriage or automation, the problem domain has to be represented completely in software design to be able to efficiently address it.
Also, I don’t think that number of steps required are necessarily a good metric to measure friction. It is the number of steps that the user thinks are unnecessary. Where do they come from? Like Tantek Ã‡elik compares IM and email interfactions I have met a lot of people who compare it to calling on phone. Some tech non-savvy people still feel that IM is inconvenient.
One principle I try to follow in automation, is to avoid introducing new entities and new actions. The automation should be as close as possible to the real actions. Of course you can argue that all software is not automation, but think about where it gets used in the real world, and what does it replace. If a user has to know more or learn more it is going to cause friction. More the UI design plays to the user’s mental model and perception, lesser the friction.
One thing I miss seeing in many places is the automation aspect of software. Not that the aspect itself is important, but its implication in understanding the role of that software in real world and its usage is critical in its design.