Why your forms should have a default gender

Recently, I had an interesting discussion with @LeaVerou, a very nice web developer living in Greece. She argued websites having a “default” gender in their registration form were offending, since that gender usually was male.

In the discussion that followed, she asked the websites to provide no default value for the field. While this seems reasonable, I didn’t fully agree with her, because doing it like this is making your UI design globally worse.

Equal should not mean worse

Let me explain a bit: since they are more than 50% of men worldwide, having ‘male’ as a default value for the <select> result in the following situation: the majority of the users of your website will have nothing to do, and a minority will have two additional clicks to perform.

If you decide to provide no default, you end up in a situation where everybody has to perform two clicks to select its gender. It’s the same effort for male and female, but you increased the mean time of your form’s fulfilling. From an interaction designer point of view, this is a bad move.

We can compare this the Belgian education system which is sometimes judged as unequal (some schools are better than others) but where the only result of every governmental action taken to solve the issue has been to make worse the quality of good schools while not improving at all the one of the less good ones.

Sometimes, solving inequalities imply more than just making everything as worse to the trivial inequality-free solution.

Statistical point of view

However, Lea had a good point when she said that providing each time the same default value is introducing a bias in your data: lazy women which don’t care being categorized as men are counted in your database as men, therefore making it difficult to make useful stats about man vs woman usage of your website.

The first solution that came to my mind was to randomly select a default value of the field (either male or female). This is a technically viable solution, that give one person over two the possibility not the change the gender field (things didn’t degrade from an usability point of view).

Also, that doesn’t introduce any gender bias since lazy people which don’t change the gender field have equal chance to be categorized as man or as woman. You blurred your data a bit, but you didn’t introduce a bias.

Machine learning point of view

However, we can go further and infer the gender default value for the person’s first name (or all the previously typed data). Using a good statistical model (or machine learning), it’s possible to guess the good gender in a very significant portion of the times.

Guessing the right gender leaves the “two clicks to change” delay to a small portion of your new users only, and makes everybody happy: the “feminist”, the “designer” and the “data analyst”. This is why, if you are to make a registration form with a gender field, I recommend you to do like this.

Just to conclude on why those two clicks are so important

Some may also wonder why the “everyone has two additional clicks to perform” solution isn’t good. I’m ready to explain that.

In my country (Belgium), people usually speak one of two languages: French or Dutch. When you navigate to a website, most actually infer the site language from your browser language. Sometimes, they are doing it wrong (because you’re using an English browser, for example; then most select Dutch, the most spoken language at 59% vs 40%).

Most of the time, however, the experience is fast and fluid. When you encounter a website in the wrong language, you usually have a button to click to change the language. But you don’t have to do this a lot.

My concern is that other companies have “landing” page where you have to select your language before actually entering the website. This is fuckingly irritating, and this is even more if you need to go on the website on a regular basis.

So, seriously, if we can get it right with language, we can get it right with gender.
Machine learning for the win.

Published on 2012-07-06 under ALL, USABILITY


A javascript file is loading the comments.