Websites can also be seen as finite-state machines that run on people. Successful websites must be well-designed machines that run on people, that don’t crash, don’t halt, and have the side-effect of bringing more people in. Websites that don’t do this will disappear.
Instead of a finite-state machine, think of a website as a flowchart of motivations. For every state the user is in, there are motivations: it’s fun; it’s the next action; it saves money; it’s intriguing; I’m in flow; I need to crop the photo and I remember there’s a tool to do it on that other page; it’s pretty.
…
Users should always know their next state, how they can reach it, and why they should want to.