ACM Ubiquity has an article by Benjamin Bederson, which “reviews the literature, and interprets the characteristics of flow within the context of interface design with the goal of understanding what kinds of interfaces are most conducive to supporting users being in the flow.”
Interfaces that are targeted at improving user’s ability to stay in the flow shouldn’t underestimate the importance of speed in supporting creativity, quality, and enjoyment. Every time there is an interruption, literal or conceptual that gets in the way of users concentrating on their tasks, flow is lost. Slow interfaces, which I define as any that get in the way of users acting on their work as quickly as they can think about it, are problematic.
Similarly, as has often been said before, users have extremely limited short-term memory. Any interface elements that strain a user’s memory are problematic because, again, the user’s flow will be interrupted.
Balanced with the many details of interface design is the constant need to consider the trade-offs between novice and expert users. Many interface designers find themselves feeling trapped with no opportunities to support expert users – but this is a trap that must be avoided, and can be. The new Mozilla Firebird web browser, for example, has a hidden “incremental search” feature that allows users to search within a page and follow links, all from the keyboard. This is an advanced and “scary” feature to some – but many of us that have put the energy into learning it have found that it has dramatically improved our web browsing efficiency.
My vision of computer interfaces is that they become tools in the best sense – that they become an invisible extension to our body, so we can apply them to our work with just barely being aware that we are doing so. Computers should be able to help us concentrate on our work, without concentrating on the computer.