Lazy Registration and Progressive Disclosure
Design patterns were first described in the 1960's by Christopher Alexander, a civil engineer who noticed that many things in our lives happen according to patterns. He adapted his observations to his work and published many findings. Design patterns are found in many areas of our lives, and can be found in the design and development of user interfaces as well. UI design patterns are solutions to common user interface problems.
To appreciate the problem of registration, we can consider the hassle that led to the opinion that sign-up forms must be killed. This doesn't mean they should be completely omitted but rather that they should be only one part in the process of introducing users to a system, and should come late in the process. Such an approach is called lazy registration and relates to the account registration pattern.
When would we use lazy registration? Although it may seem like lazy registration could be used all the time, some circumstances are ideal. When users are allowed to try out our app before making a decision, which not every app does. When it is important to familiarize our users with our system before they sign up, which can be a crucial step in their process of deciding whether to register. This pattern is meant to allow the users to use our system and take action before registering. If satisfied with our service so far, the users will think of registering as just another small step in the entire process and not an obligation. The shopping cart is a good example of this pattern; users can browse and choose products and only have to register when they proceed to check out.
Progressive disclosure is used to show only the information or features relevant to the user's current activity and to delay other information until it is requested. By hiding more complex or infrequently used features, we de-clutter the user interface by revealing them only as they are needed, we guide users to perform a complex, multi-step process on a single page. The goal is to show only essential information in the first step and then invite users to take the next step. When the user completes a step, we reveal the information in the next step, keeping all previous steps visible. By keeping previous steps visible, we allow users to change what they have entered. And the data they input in the current step can affect the behavior of the next step. Examples of progressive disclosure can be found everywhere. A simple Show more link that shows more information is one of the simplest forms of progressive disclosure. Progressive disclosure can be used for more complex cases, such as filling out Web forms.
UI design is all about guiding the user to our intended actions. We, as designers can simply this by having a hassle free registration that doesn't make the user enter too much information without the user knowing what they are signing up for. When it comes to more complex actions, we can guide the users by only showing part of the information so we don't frustrate the users but continue to show the user where they have been.