Hacker News new | past | comments | ask | show | jobs | submit login

Do you ask users for both? i.e. "please enter your full name", "please enter the name by which you'd like us to call you"



I do!

The join form says:

- Your full name (e.g. Mary Smith)*

- Your short name (e.g. Mary)*

And I have placeholder text in the inputs with "Mary Smith" and "Mary".

My demographic is skewed to be about 70% female hence the female name example.


Exactly, but you can try to default the second one (using the same algorithm you’d use to generate “first name” unreliably).


And then there's sometimes a need for a "sort name" value. When I have upstream data consisting of separate first name and last name fields, my function to generate a sort name is to concatenate last name and first name, and then keep only letters. That way, apostrophes, dashes, spaces, etc. don't influence sorting whatsoever.

It seems quite tricky to deduce a sort string when you're only storing full name and short name... should the user be asked to provide this?


Why wouldn't you just accept the entire thing as a Unicode string and use the culture-free Unicode Collation Algorithm?


I don't mean to ask about or promote any particular sort algorithm. Rather, I'm discussing the transformation of a name into a "sort string," which will then be sorted (the algorithm you mention being a fine choice for this) after said transformation. Given discrete first/last fields, the transformation I mentioned works well for my purposes, but if I didn't have those particular discrete fields (instead having full/short fields) then it would be quite difficult, likely needing the user to weigh in, which I think is an atypical UX.


Because then you are sorting by the first name, and most people in Europe/America do not expect list of names to be sorted like that.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: