What’s in a name (validation)? @carlymho

I’m Carly Ho » Senior Engineer @ Clique Studios » carlymho.com » @carlymho @carlymho

! let’s talk about names @carlymho

What’s your name? » Names are pretty important across cultural borders » They’re one of the first pieces of info we ask for in conversation » They’re one of the first pieces we ask for in account creation » Having someone else mangle your name can range from mildly annoying to genuinely hurtful @carlymho

What’s in a name? @carlymho

Some assumptions about names » Everyone has one first name and one last name. » Everyone has one first name and two last names! » A name has a minimum of three characters. » A given name comes first, and a family name comes last. @carlymho

Some assumptions about names » Names are composed of letters. » Names are composed of letters from the Latin alphabet, or can be losslessly translated into letters from the Latin alphabet. » Names don’t change, or only change at a few very specific points in time. » Everyone has one canonical full name. @carlymho

These are all wrong. @carlymho

What is a name? @carlymho

The form of a name is different almost everywhere. @carlymho

Some naming conventions » First name, middle name, last name inherited from father. » First name, middle name, one last name from each parent. » One name at home, a “visitor name” for travel. » Family name, given name. » One name for the family tree, one for your first year, one for school, one for work. @carlymho

In the USA, we often assume western european norms. @carlymho

Some things get lost in a melting pot: » Immigrants frequently changed their names to assimilate » (And still do.) » People with “weird” names get marked as perpetual foreigners. » “Where are you from?” @carlymho

There’s no surefire way to validate names. @carlymho

Inclusive form design considerations @carlymho

What do you need the name for on a form for a(n)… » Email newsletter? » Online shopping cart? » Account registration? » Online voter registration? @carlymho

Email newsletter » Technically, you don’t need a name here » You might want to personalize/customize content » In that case, you probably want someone’s given/ first name » One box; ask how they’d like to be addressed @carlymho

Online shopping cart » Shipping and billing information » Names for shipping label, billing method » Some people have middle names on their credit card! » One field for each name: “Recipient” and “Name on card” @carlymho

Account Registration » Will a username or email address suffice? » Make it possible to change names (and usernames, and emails) » Let users know if a chosen name will be publicfacing » (Safety first!) @carlymho

Account Registration » Context is key: ask for the forms of address you’ll be using » Don’t ask for data you don’t need - everyone has a security breach eventually @carlymho

Online Voter Registration » This is tied to a legal name on a form of ID » Only need to be concerned with local name formats » High importance, so provide adequate instructions @carlymho

The key considerations @carlymho

Do you need their name? @carlymho

Why do you need their name? @carlymho

What part of the name do you need? @carlymho

How can you help the user help you? @carlymho

How will you account for a wide variety of names? @carlymho

Compassionate Validation @carlymho

Good intentions, bad systems » Old, hard-coded systems » Government systems » Stakeholder requirements handed down from on high @carlymho

Be honest @carlymho

Sanitize your inputs!! @carlymho

It’s us, not you @carlymho

Work to improve @carlymho

Inclusive forms are good for everyone » People who feel welcomed by a service are more likely to engage with it » Inclusive name validation means you can reach a wider variety of people » It’s a small but impactful way to make the world easier to live in » Why not make people feel welcome? @carlymho

Resources & Further Reading » “Regular Expression for Validating Names and Surnames,” stackoverflow » “Your Last Name Contains Invalid Characters,” John Graham-Cumming » “Representing People’s Names in Dublin Core,” Andrew Waugh @carlymho

Resources & Further Reading » “Wookey - is that it?” Wookey » “Falsehoods Programmers Believe About Names,” Patrick McKenzie @carlymho