Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add commentary to 9.3 Working with personal names #72

Merged
merged 4 commits into from Jun 16, 2022
Merged

Conversation

r12a
Copy link
Contributor

@r12a r12a commented May 18, 2022

@r12a r12a requested review from aphillips and xfq May 18, 2022 10:41
Copy link
Contributor

@aphillips aphillips left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great. Here's a bunch of suggestions.

index.html Outdated
@@ -2816,7 +2816,9 @@ <h3>Working with time</h3>
<section id="loc_names" class="subtopic">
<h3>Working with personal names</h3>



<p>People who create web forms, databases, or ontologies are often unaware how different people’s names can be in other countries. They build their forms or databases in a way that assumes too much on the part of foreign users. This section provides guidelines for working with personal names from around the world.</p>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's probably just me, but I found the first sentence difficult to read--the false correspondence between people and people and the fact that different isn't an adjective. I also found forms, databases, or ontologies perhaps too restrictive? Perhaps:

People who are creating applications that use personal names (in forms, databases, ontologies, and so forth), are often unaware of how different personal names can be in other countries.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed to:
Developers who create applications that use personal names (in web forms, databases, ontologies, and so forth) are often unaware of how different names can be in other countries.

index.html Show resolved Hide resolved
index.html Outdated
</div>

<p>Names around the world differ greatly in composition and the order of components (see <a href="https://www.w3.org/International/questions/qa-personal-names">Personal names around the world</a>). This can create difficulties when you try to split a person's name into smaller parts for storage in a database and then retrieve them. Difficulties include understanding which part of a person's name belongs in which database field (especially when there are more or fewer parts than fields in the database), and dealing with ordering of name parts when retrieving someone's name from the database for actual use.</p>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

perhaps and then retrieve them => and then reconstruct the name later?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It may not involve reconstruction. A developer may try to just retrieve the family name, say for sorting.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fair enough. I would probably still change this:

This can create difficulties when you try to split a person's name into smaller parts for storage in a database and then retrieve them.

to something like:

This can create difficulties when you try to split a person's name into smaller parts for storage and then retrieve them for use later.

(I removed "in a database" as too specific and added "for use later" just because I think it reads more clearly)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed to:
This can create difficulties if, for example, you try to split a person's name into smaller parts for storage in a database and then later attempt to retrieve them, especially if some reconstruction is needed.

index.html Outdated
<div class="req" id="loc_names_first_last">
<p class="advisement">Try to avoid using the labels 'first name' and 'last name' in non-localized contexts.</p>
<details class="links"><summary>explanations &amp; examples</summary>
<p>Bear in mind that names in some cultures can be quite a lot longer than your own. Make fields long enough to enter long names. Also do not assume that a name will have more than one letter. In particular, avoid counting length in bytes (see [[#char_string]]) – do not assume that a four-character Japanese name in UTF-8 will fit in four bytes; you are likely to actually need 12.</p>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would probably paragraph break before In particular

Perhaps the discussion of length limits should link to section 5.5

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Para broken.
It links to 4.9 Defining 'string' (now that i fixed the code), which i think is more directly relevant.

index.html Outdated


<div class="req" id="loc_names_first_last">
<p class="advisement">Try to avoid using the labels 'first name' and 'last name' in non-localized contexts. Consider an alternative such as 'given name(s)' and 'family name(s)'.</p>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I understand what you're doing here, but maybe more explanation is needed? The phrase "non-localized contexts" is somewhat mysterious. Perhaps add an example that is more direct, such as:

For example, users in the United States expect forms to be labeled 'first name' and 'last name', but the generic, unlocalized, software (even in English) should use the non-positional labels 'given name' and 'family name' so that users in other countries can understand which value goes into which field. The form can then be localized into US English with "positional" labels for that audience.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Part of the problem is that you can't easily localise a form for a particular audience, especially for somewhere like the USA, where immigrants are arriving constantly. You'd need to have a very high degree of personalisation to get it right.

I changed the text by dropping "in non-localized contexts" from the requirement, and rewriting the explanation as:

Use of the terms 'first' and 'last' can be confusing for people who normally write their family name followed by given names. Although it may seem acceptable to use 'first' and 'last' for forms aimed at users in the United States, the forms may eventually be used by people with different cultural backgrounds, both within and potentially outside of the USA.

Bear in mind, also, that in some cultures this is still problematic, such as for Icelanders, who don't actually have family names. However, short of highly localized customization, this is probably the best we can do for a generic solution.

index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
index.html Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
</div>

<p>People do have names that are one letter long. These people can have problems if the form validator refuses to accept their name and demands that they supply their name in full. If you want to encourage people not to use initials, perhaps you should make that a warning message, rather than block the form submission.</p>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe it doesn't need to be written here, but I have a similar and real example.

Pengyou requires usernames to be real names. A friend of mine tried to register with his real name, but the form validator says it's not a real name and refuses to accept his name, most likely because his family name is rare. So sites shouldn't assume people's family names are in a finite set.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we need a new requirement for this. Perhaps something like this:

Don't block unusual or unexpected names when trying to enforce real name usage.

It isn't hard to find examples of people who have been blocked from using a service because their name doesn't conform to expectations of the developers. If you are planning to enforce real name usage, you need to allow a mechanism for people to validate their actual names if their name is rare, or has an unexpected structure.

Copy link
Member

@xfq xfq Jun 14, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. Do you want to add it in this PR or a separate issue/PR?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added a commit [3] to this PR.

index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
@netlify
Copy link

netlify bot commented Jun 15, 2022

Deploy Preview for bp-i18n-specdev ready!

Name Link
🔨 Latest commit dc58b3b
🔍 Latest deploy log https://app.netlify.com/sites/bp-i18n-specdev/deploys/62a9f0a0cf5b770008dba9f3
😎 Deploy Preview https://deploy-preview-72--bp-i18n-specdev.netlify.app/
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site settings.

<div class="req" id="loc_names_given_family">
<p class="advisement">Check whether you really need to store or access given name and family name separately.</p>
<details class="links"><summary>explanations &amp; examples</summary>
<p class="advisement">Check whether you really need to store or access given name(s) and family name(s) separately.</p>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would just eliminate the parentheses and say ...access given names and family names...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm trying to remind the reader that a given person's name may have more than one given and/or family name.

<p class="advisement">Try to avoid using the labels 'first name' and 'last name' in non-localized contexts.</p>
<details class="links"><summary>explanations &amp; examples</summary>
<p>Bear in mind that names in some cultures can be quite a lot longer than your own. Make fields long enough to enter long names. Also do not assume that a name will have more than one letter. </p>
<p>In particular, avoid counting length in bytes (see [[[#char_string]]]) – do not assume that a four-character Japanese name in UTF-8 will fit in four bytes; you are likely to actually need 12.</p>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

replace hyphen with colon or em dash?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's an en-dash (with the normal spacing), not a hyphen.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah... it's a British vs. American thing (we tend to use em dash where you tend to use en dashes)

@r12a r12a merged commit 659e444 into gh-pages Jun 16, 2022
@r12a r12a deleted the ri_personal_names branch June 16, 2022 16:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants