This was a conversation rolling through my Twitter feed lately: how do we design good web service signup form? One that is unobtrusive, intuitive and inclusive. How many fields do you need? What is the best way to arrange them? What kind of questions are important to ask your users? Turns out that there is a lot of disagreement on this, and a lot of misinformation and false myths floating around.
For example, is this a good sign up form?
I would argue that it is not great. In my opinion splitting the users name is absolutely pointless. Even, assuming your service needs to use the legal names of your customers (which 99.9% of web services do not “need” to do, they just choose to do so because of reasons) you really only need a single field. This is not a very popular opinion, and a lot of programmers are very, very defensive of their first name/last name split.
I get it, though. I too was taught the mantra of “always be normalizing” when it comes to a database scheme design. The software engineer in me wants (even needs) to have human identity split into two or more clearly labeled forms so that it can be properly sorted. But, asking for first and last name does not work for everyone. As soon as you normalize this way, you are automatically starting to exclude swaths of users whose names do not conform to the particular pattern you chose.
You probably heard of this little factoid: in some cultures you list your family name first, and your given name last. That alone should give you a pause, and make you re-consider using a two field strategy. Some people think that simply labeling the fields as “given” and “family” instead of “first” and “last” will do the trick. I also saw a developer claiming that his app is going to be primarily used by English speaking Americans so it does not matter. But that’s wrong too, because even in that narrow demographic you are going to have a number of people whose names do not fit into the first/last pattern. You want examples? How about Madonna, Eminem, Pink, Xzibit, Nelly, Sinbad, Rihanna, Kesha, Mr. T, Lady Gaga or “The Artist Formerly Known as Prince”. There is a strong history of performers adopting mononyms or stage names which either become their legal names, or at the very least are more publicly recognizable than their birth names.
The fact that I could rattle a dozen names of the top of my head, all of which belong to prominent and recognizable celebrities is a proof that this practice is very much part of western culture. Mononyms and funky stage names are as American as apple pie. So you can’t really use “culture” to defend the over-normalization of the name field, when your own culture has a large group of very prominent outliers.
People make a lot of assumptions as to how people’s names work, but all of them are false. Yes, all of them. The single, uniform field for name is not just something I pulled out of my ass for the purpose of this article. It is actually the best practice recommended by W3C.
Same goes for sex. Why does Facebook think it is necessary to ask its users what kind of genitals they have? I can see how this could be a valuable data point for a dating service, since people use those specifically to facilitate mutual mashing of genitals together. So it makes sense to let people sort and filter potential future romantic partners based on their sex and gender preferences in addition to other criteria. Facebook however, like most social and anti-social web apps in existence has virtually no business to ask this question.
Don’t even try to sell me on “demographics” and “advertising” argument because it is bullshit, at least with respect to Facebook since they track your behavior and browsing habits anyone. There is nothing your sex tells their advertisers that they could not get from analyzing your posts, likes and social graph interactions. In fact, the tracking data is more valuable and more accurate way to target advertising than an empty data point that designates you as “man” or “woman”.
Also, why is it a strict binary choice? I mean, unless you’re building something like Christian Mingle type service (where religious dogma only allows you to recognize an arbitrarily chosen set of genders and appropriate parings), why would you want to wantonly ignore biology? If you are going to ask this question (and you have no business doing so in the first place), why not ask it the right way?
Is the Facebook form asking for sex, or gender? Because I honestly can’t tell? This is an important question to ask because Facebook has weird “real name” policies that could result in the suspension of your account if their support staff determines you “lied” on this question. So what do you put down biological sex does not match the gender you identify with? What if you don’t identify neither as male nor as female?
I think Twitter does this right:
A single field for “full name” and no unnecessary questions about sex and gender. This is how it should be.
My personal rule of thumb for designing web forms: make them Time Lord friendly. Whenever you want to add or normalize a field, think how the protagonist of BBC’s Doctor Who series would fill it out. Your form should allow one to use The Doctor as the single and only personal identifier.
- The Doctor does not have a first name
- The Doctor does not have a last name
- The Doctor does not have a middle name or middle initial
- The Doctor does not have a set of initials based on name
- The Doctor is not a given name
- The Doctor does not have a family name
- The Doctor does not use a honorific – it’s just The Doctor
- No, you can not abbreviate Doctor as Dr. or anything else
- The Doctor does not have a short name or nickname. You address him as Doctor
- You can’t use Doctor’s date of birth to calculate age because he is a time traveler
- The Doctor’s age won’t fit in your two-digit age field
- The Doctor’s does not have a fixed height, eye color, hair color, etc..
- The Doctor does not have a fixed ethnicity or skin color
- The Doctor does not have a fixed gender
If you keep these things in mind you can avoid common pitfalls of web form design and build signup forms that are not only intuitive but also maximally inclusive.
as always with that topic it’s “structured data that we’ll need later” against simplicity
actually most profiles could be reduced to some unique identificator (well most use e-mail for that, some some kind of username), password (you yourself did just bring the argument that even this isn’t needed anymore) and some freetext-“description”-field
this “first/last name”-problem isn’t even the worst thing you’ll find with such. Most people nowadays kinda know that this will happen and have ways to cope with it (like entering firstname “the” and last-name “doctor”)
When it comes to postal addresses it gets much worse. Then you find “validation”-stuff like “your house-number should consist of one to 4 digits and one character” (yeah.. right.. “12B HH” – go fuck yourself!)
Those fields keep popping up and really stop people from using services. I have no way to correctly enter my adress in such and since on my street there is a “12” and a “12B”, both not even being close to my door (and in 12 there even is someone with the same surname)
So if you build your form like that? Then i can’t use whatever your system tries to do.
I tried to enter such things into annotations/notes-fields but that didn’t help much.
people didn’t come that far at learning this stuff in the last 15 years an i’d bet they won’t get that better in the next years.
Dr. Azrael Tod wrote:
Exactly. Use email as the “username” type field, because it is guaranteed to be unique. If you need a public profile name, that should be a separate field anyway. If you want full name for the records make that a single box. If you need a salutation (as in “Welcome back Luke”) then ask for it separately. You end up with more fields but each has a specific purpose, and predictable behavior.
Dr. Azrael Tod wrote:
Yeah, definitely. People tend to figure out how to deal with these forms. The problem is when different forms have different validation rules. For example, I have a student in class right now whose name has four components, but where they fall on the First/Last spectrum depends on the character limit of any given system and whether or not it allows spaces. So in one system it is two parts in first, two parts in last with spaces in between. In the other system it is one in first, then everything else in the last without spaces, because not allowed. Student emails are typically last name + first initial + number, but that is not even close to what she ended up with. When she writes the name down on paper, it actually has a fifth thing in the middle, but I guess she just gave up trying to plug it into electronic forms. :P
Dr. Azrael Tod wrote:
Yeah, don’t even get me started on the address validation. I have a similar problem at work. I’m working in an office building without suite numbers so I usually use the secondary address field to write “2nd floor, company name” so the mail-critters don’t get confused. Every once in a while online services freak the hell out because that does not fit the appt# /suite# patterns. Also building is listed as office space in some databases and I guess previous landlord did have suite numbers so some services insist I put one down. Sometimes they offer me a pull-down list of non-existent suite numbers to pick from. :P Fun times.
In Facebook’s defense (yes, I just said that!) they did add 50+ gender options recently.
Of course, as a feminist, I’m strongly opposed to the male/female binary as the only way of identifying or categorizing people. Linguistically, though, some languages don’t give you much room to venture outside of this male/female binary. (French, I’m looking at you.) Until we figure out a different way to say “It’s ______’s birthday. Write something on [his/her] wall,” without using gendered pronouns, endless dropboxes and buttons might be here to stay.
@ K. Elysa:
Yeah, tell me about it. English is actually not that bad at being gender neutral. You can write in gender neutral way but it comes out impersonal and formal: “It’s that person’s birthday” or “Write on the person’s wall”. When I write documentation for software I usually go with “the user” in lieu of gendered pronouns and it usually does not require that much effort.
My native tongue, Polish on the other hand is a cluster when it comes to this because it’s not just pronouns but also verbs are gendered. For example “he went, she went” would be “on poszedł, ona poszła”. Also, nouns have intrinsic grammatically gender: for example “person” (osoba) can refer to people of both sexes, but it follows grammar rules for female gendered nouns. There are really no explicit rules for which nouns end up what sex other than the way they were entomologicaly derived. For example mouse (ta mysz) is female, rat (ten szczur) is male, table (ten stół) is also male, but chair (to krzesło) is gender neutral for whatever reason. So it is a bit of a mess.
In English we could just all agree upon a gender neutral pronoun (like xe, zhe or whatever) that is to be used both when gender is unknown or specifically not given. It is a little bit grating at first, but it’s only because we’re not used to it. Greg Egan did exactly that in Diaspora and after few chapters it of cringing it started to seem perfectly natural. Hell, Jacek Dukaj did the same in Perfect Imperfection in Polish, though it took many more chapters for me to stop cringing.
I think it’s just a matter of just exposure. Well, that and picking one, preferred pronoun type out of the four or five I’ve seen floating around, for consistency.