Recently I split some forms out from 'name' to 'firstname' and 'lastname'. An extra column was added to the backend table too.
So why did I do this, go from what you want to something else? What was the evil marketing intent?
Those names also get used by other systems, therefore to create a support ticket in 3rd party system, extra name needed. There is also the small matter of writing back to whomever filled in the form. 'Dear Steve, thanks for applying for the position of blah blah...' becomes possible.
The backend form handling is there to build a tidy database so extra fettling goes on. Customer enters 'steve mcdonald' in the 'name' field, but when you email them their tickets you would prefer to have the name as 'Steve McDonald'. Note the titlecasing going on there and the tidying of whitespace. This is a snip if using two fields, a bit more complex otherwise.
Doing this makes it easier when it comes to customer enquiries, the name is the same in the sales order table, the customer database, the newsletter system somewhere in the cloud and in the helpdesk system. Simple.
Also important to the change was the reality of how web forms work. You can get autofill to do a good job of 'firstname' and 'lastname', it is all there to be clicked 'submit' to if the form autofill helpers are configured correctly in a HTML5 way.
Sometimes the Mr/Mrs option is helpful as you instantly get people's gender. That is why the Mr/Mrs box is there.
Personally I do not put Mr/Mrs in forms, instead I use the 'gender' library to guess the customer's gender based on their IP address (country) and their first name. In this mini-'shadow profile' the gender guess is not disclosed to the customer but it does get pulled through to the reports and the inaccuracy of not knowing whether 'Viv' is a girl or a boy does not matter in the aggregate.
So there you have it, why an 'evolved web form' can move away from a 'name' box to 'firstname' and 'lastname'.
Why do companies want to know my gender at all? I am offended anytime some form asks me for it, often even making the field mandatory. It is seldom relevant to my relation with the company.
As it was mentioned somewhere else, asking for a full legal name and a shorthand form ("what you'd want us to call you") is a good solution that covers both usecases.
So why did I do this, go from what you want to something else? What was the evil marketing intent?
Those names also get used by other systems, therefore to create a support ticket in 3rd party system, extra name needed. There is also the small matter of writing back to whomever filled in the form. 'Dear Steve, thanks for applying for the position of blah blah...' becomes possible.
The backend form handling is there to build a tidy database so extra fettling goes on. Customer enters 'steve mcdonald' in the 'name' field, but when you email them their tickets you would prefer to have the name as 'Steve McDonald'. Note the titlecasing going on there and the tidying of whitespace. This is a snip if using two fields, a bit more complex otherwise.
Doing this makes it easier when it comes to customer enquiries, the name is the same in the sales order table, the customer database, the newsletter system somewhere in the cloud and in the helpdesk system. Simple.
Also important to the change was the reality of how web forms work. You can get autofill to do a good job of 'firstname' and 'lastname', it is all there to be clicked 'submit' to if the form autofill helpers are configured correctly in a HTML5 way.
Sometimes the Mr/Mrs option is helpful as you instantly get people's gender. That is why the Mr/Mrs box is there.
Personally I do not put Mr/Mrs in forms, instead I use the 'gender' library to guess the customer's gender based on their IP address (country) and their first name. In this mini-'shadow profile' the gender guess is not disclosed to the customer but it does get pulled through to the reports and the inaccuracy of not knowing whether 'Viv' is a girl or a boy does not matter in the aggregate.
So there you have it, why an 'evolved web form' can move away from a 'name' box to 'firstname' and 'lastname'.