At one point in the history of UX design there was almost hysteria for simplicity, with many people claiming that simplicity was always good and complexity was always bad. Lately, though, it’s become clear that not everything can have only one button, and pursuit of simplicity by omitting important functionality is not good for user experiences. A certain level of complexity is good as long as it adds value through functionality. The optimal level of complexity any given certain product is totally dependent on the particulars of the product, so it’s impossible to define a sweet spot for every possible product.

But for signup forms, it is possible to know that sweet spot: the acceptable level of complexity is zero. There should be no complexity in a signup form because it provides no functionality and value that the user actually wants; all the value is for the website owner.

It is tempting when designing a signup form to ask data lots of information and make everything a required field. But nothing should be asked of the user that is not absolutely necessary for the system to work. Even if the signup form is for a dating site, it shouldn’t ask for gender, eye color, etc.—that can wait till later. Ask only for the minimum amount of fields for the system to work.

The vast majority of systems will work with only an email address, username, and password—just three fields. To take that further, it’s even possible to do without usernames, which can be annoying for some users. The email address can be the username. Now we’re down to two fields on the signup form. Simple.

And this can be made even simpler! Allowing users to sign up using Facebook, Google, Yahoo!, MSN, or other such systems is easy and rewarding. If the user is already logged into Facebook, he will be able to sign up for your site without typing anything. There are many advantages of using external authentication services:

  • Very fast signups resulting in an increased user conversion
  • Access to rich user profile information that can be imported with a single click
  • Access to users’ networks of connections and friends, which helps you promote your website/service to more people.

Integrate as many of these third-party services as you can—don’t stop with Facebook, or with Google. Offering only one service will make it seem like your website is somehow affiliated with that service. If you are not getting any revenue from such an association, there is no reason to promote a certain site. Give users options and let them choose which they prefer and trust the most. Implementation is very easy and there are already packages supporting all major providers, such as Gigya. And, of course, all of the authentication services have well documented public APIs if you prefer not to use third party packages:

Another way to get rid of the hassle of signup is to support OpenID. More about OpenID can be found on the official website.

To recap, keep signup forms simple and fast, and delegate as much as possible. Convert users with a few clicks or taps, not with a bunch of text fields.