schemas for the real world [rubyconf au 2013]
DESCRIPTION
VIDEO: https://vimeo.com/61172068 Social app development challenges us how to code for users’ personal world. Users are giving push-back to ill-fitted assumptions about their identity — including name, gender, sexual orientation, important relationships, and other attributes they value. How can we balance users’ realities with an app’s business requirements? Facebook, Google+, and others are grappling with these questions. Resilient approaches arise from an app’s own foundation. Discover schemas’ influence over codebase, UX, and development itself. Learn how we can use schemas to both inspire users and generate data we need as developers. [NOTE: links to Resources are on slide 112. Cheers!] --- META: Conference: RubyConf AU Date: February 21, 2013 Location: Jasper Hotel Session length: 45 minutes Video: https://vimeo.com/61172068TRANSCRIPT
Schemas for the Real World
Carina C Zona cczona
Sunday February 24 13[As Keith noted] in addition to being a developer Im also a sex educator
cczona
mdashxkcd 940
Sunday February 24 13
I think a lot about how the two overlap They do Quite a lot
cczona
Imagine walking through the world knowing that everyonersquos first assumptions about how you see yourself who you love and what feels right for you are completely wrong Now imagine signing up for a cool website and then being required to select an option from a drop-down menu that doesnrsquot include anything that represents you[Y]oursquoll feel defeated Yoursquoll want to argue that whatever they think theyrsquore learning from that drop-down menu itrsquos not really true Yoursquoll want to tell them that theyrsquore adding to your humiliation by making you do this Yoursquoll want to tell them that theyrsquore missing a huge part of youhellip
mdashSarah Dopp
Sunday February 24 13
cczona
Female Male
Sunday February 24 13
cczona
Its ComplicatedIn a Relationship
Married Divorced
WidowedSingle
Sunday February 24 13
cczona
Asexual
Straight Gay
Bisexual
Pansexual
Sunday February 24 13
cczona
Sunday February 24 13
cczona
Sunday February 24 13
Users are giving pushback to assumptions that leave them out Social apps in particular are being pressed to adjust Facebook Google and others have been dealing with these questions for years and are still working it out So if you feel out of depth you are not the only one
cczona
Sociological Normalization
Construction of an idealized norm
Sunday February 24 13
When developers talk about normalization were talking about databases But when dealing with human attributes we often wind up pursuing a different cause sociological normalization [read]
Conflating the two works fine if you only want users from among the select few who belong to the idealized norm But most of us are going for broad userbase
cczona
Database Normalization
Mirror real-world concepts and their interrelationships
Sunday February 24 13
What we lose track of is one of the core objectives of database normalization Were supposed to [read] When the database is in tension with peoples own real world -- then its not people who need to be flexible
cczona
Sunday February 24 13
Why IS this hard Because at first glance this stuff looks so easy Its just forms right Weve done those a million times before
But we get tripped up by some flawed premises
cczona
Gender is one of those things everyone thinks they understand but most people dont Like Inception
mdash Sam Killerman
Sunday February 24 13
First a premise that deeply personal stuff about humans can be reduced to lists
cczona
Hey this is just a system I can figure out easily is also a problem among engineers first diving into the stock market
mdashxkcd 592
Sunday February 24 13
Second assumptions that canonical lists for these exist Or are at least SURELY must be creatable
cczona
ltoption value=1gtMrltoptiongt
ltoption value=2gtMrsltoptiongt
ltoption value=3gtMissltoptiongt
ltoption value=4gtMsltoptiongt
ltoption value=5gtDrltoptiongt
ltoption value=6gtProfessorltoptiongt
ltoption value=7gtThe Rt Revd Drltoptiongt
ltoption value=8gtThe Most Revdltoptiongt
ltoption value=9gtThe Rt Revdltoptiongt
ltoption value=10gtThe Revd Canonlt
optiongt
ltoption value=11gtThe Revdltoptiongt
ltoption value=12gtThe Rt Revd
Professorltoptiongt
ltoption value=13gtThe Venltoptiongt
ltoption value=14gtThe Most Revd Drlt
optiongt
ltoption value=16gtRabbiltoptiongt
ltoption value=17gtCanonltoptiongt
ltoption value=18gtDameltoptiongt
ltoption value=19gtChiefltoptiongt
ltoption value=20gtSisterltoptiongt
ltoption value=21gtReverendltoptiongt
ltoption value=22gtMajorltoptiongt
ltoption value=23gtOtherltoptiongt
ltoption value=24gtCllrltoptiongt
ltoption value=25gtSirltoptiongt
ltoption value=26gtRt Hon Lordltoptiongt
ltoption value=27gtRt Honltoptiongt
ltoption value=28gtThe Lord ltoptiongt
ltoption value=29gtViscountltoptiongt
ltoption value=30gtViscountessltoptiongt
ltoption value=31gtBaronessltoptiongt
ltoption value=32gtCaptainltoptiongt
ltoption value=33gtMasterltoptiongt
ltoption value=34gtVery Revdltoptiongt
ltoption value=35gtLadyltoptiongt
ltoption value=38gtMPltoptiongt
ltoption value=39gtKing of Kings and Lord
of Lordsltoptiongt
ltoption value=40gtConquering Lion of the
Tribe of Judahltoptiongt
ltoption value=41gtElect of God and Light
of this Worldltoptiongt
ltoption value=42gtHis Own Divine
Majestyltoptiongt
ltoption value=43gtFirst Ancient King of
Creationltoptiongt
ltoption value=44gtKing Alphaltoptiongt
ltoption value=45gtQueen Omegaltoptiongt
ltoption value=46gtBeginning with Our End
and First with Our Lastltoptiongt
ltoption value=47gtProtector of All Human
Faithltoptiongt
ltoption value=48gtRuler of the
Universeltoptiongt
ltoption value=49gtDudeltoptiongt
Sunday February 24 13
And the third problem is our faith that the first two problems here can be easily solved Just add more list items
cczona
Seeing more than 20 uncategorized options can be bewilderinghellip
mdashSmashing Magazine
Sunday February 24 13
So thats not gonna work
Also it risks looking like a dumbass
Social Networks
Sunday February 24 13
So heres the next flawed premise that we intuitively understand the nature of social networks
Stepping aside from how social networking has come to be implemented as technology -- what IS a social network What is it in purely human terms
cczona
Social network
Individuals and the dyadic ties between them
Interactions within a social group of exactly two people
Sunday February 24 13
[slide] Thats the real life that our apps are meant to replicate and build upon One-on-one As personal as our social selves get In social identity is a dependency
cczona
Developer amp user are in dyad too
How can I be better 11 partner with this person whohellip
bull is a current user
bull I hope will become a user
Sunday February 24 13
As developers we build -- or break -- community with each line of code What 11 relationships are we fostering between the individual and the app What relationships are we inhibiting between individuals
cczona
In real life
I know your personhood better than you
sounds presumptuous
Sunday February 24 13
cczona
In real life
sounds presumptuous
Sunday February 24 13
cczona
In real life
Who you are is invalid
sounds arrogant
Sunday February 24 13
cczona
In real life
sounds arrogant
Sunday February 24 13
cczona
In real life
Your existence isnt possible
sounds clueless
Sunday February 24 13
cczona
In real life
sounds clueless
Sunday February 24 13
cczona
Sunday February 24 13
Its not what we set out to do Its not the community we seek to build We want to create things that feel cutting edge -- not that seem out of touch with modern reality
cczona
Be conservative in what you do be liberal in what you accept from others
-Postels Law
Sunday February 24 13
[READ]
cczona
How do we bring modern realities into the data views logic
Sunday February 24 13
How DO we bring modern realities into the data views and logic We start at the schema
cczona
Sunday February 24 13
As developers were tugged in two directions keep the codebase manageable yet design for modern complexity
cczona
Get schemas into alignment
Sunday February 24 13
cczona
Mental Schema
bullSet of pre-conceived ideas
bullFramework for representing some aspect of the world
bullSystem of organizing amp perceiving new information
Sunday February 24 13
There are two kinds of schema [read]
cczona
Database Schema
bullStructure described in the databases language
bullBlueprint for database construction
bullDescribes how the real world is being modeled
Sunday February 24 13
Database schemas are basically the same thing Its a mental schema translated into blueprints for a database
cczona
create_table users force =gt true do |t| tstring username tstring email tstring passwordend
Sunday February 24 13
When you use Rails generate scaffold or Rails generate model it creates a migration Maybe you created something like this for instance Those migrations ultimately get translated into a unified schema to be used by the environments database
cczona
Sunday February 24 13
These are simply frontend manifestations of someones mental schema
cczona
Schemas are foundation for
expressing
things deeply intimate
Sunday February 24 13
cczona
Schemas are foundation for
expressing
self-image
Sunday February 24 13
cczona
Schemas are foundation for
expressing
identity
Sunday February 24 13
cczona
Schemas are foundation for
expressing
important relationships
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
mdashxkcd 940
Sunday February 24 13
I think a lot about how the two overlap They do Quite a lot
cczona
Imagine walking through the world knowing that everyonersquos first assumptions about how you see yourself who you love and what feels right for you are completely wrong Now imagine signing up for a cool website and then being required to select an option from a drop-down menu that doesnrsquot include anything that represents you[Y]oursquoll feel defeated Yoursquoll want to argue that whatever they think theyrsquore learning from that drop-down menu itrsquos not really true Yoursquoll want to tell them that theyrsquore adding to your humiliation by making you do this Yoursquoll want to tell them that theyrsquore missing a huge part of youhellip
mdashSarah Dopp
Sunday February 24 13
cczona
Female Male
Sunday February 24 13
cczona
Its ComplicatedIn a Relationship
Married Divorced
WidowedSingle
Sunday February 24 13
cczona
Asexual
Straight Gay
Bisexual
Pansexual
Sunday February 24 13
cczona
Sunday February 24 13
cczona
Sunday February 24 13
Users are giving pushback to assumptions that leave them out Social apps in particular are being pressed to adjust Facebook Google and others have been dealing with these questions for years and are still working it out So if you feel out of depth you are not the only one
cczona
Sociological Normalization
Construction of an idealized norm
Sunday February 24 13
When developers talk about normalization were talking about databases But when dealing with human attributes we often wind up pursuing a different cause sociological normalization [read]
Conflating the two works fine if you only want users from among the select few who belong to the idealized norm But most of us are going for broad userbase
cczona
Database Normalization
Mirror real-world concepts and their interrelationships
Sunday February 24 13
What we lose track of is one of the core objectives of database normalization Were supposed to [read] When the database is in tension with peoples own real world -- then its not people who need to be flexible
cczona
Sunday February 24 13
Why IS this hard Because at first glance this stuff looks so easy Its just forms right Weve done those a million times before
But we get tripped up by some flawed premises
cczona
Gender is one of those things everyone thinks they understand but most people dont Like Inception
mdash Sam Killerman
Sunday February 24 13
First a premise that deeply personal stuff about humans can be reduced to lists
cczona
Hey this is just a system I can figure out easily is also a problem among engineers first diving into the stock market
mdashxkcd 592
Sunday February 24 13
Second assumptions that canonical lists for these exist Or are at least SURELY must be creatable
cczona
ltoption value=1gtMrltoptiongt
ltoption value=2gtMrsltoptiongt
ltoption value=3gtMissltoptiongt
ltoption value=4gtMsltoptiongt
ltoption value=5gtDrltoptiongt
ltoption value=6gtProfessorltoptiongt
ltoption value=7gtThe Rt Revd Drltoptiongt
ltoption value=8gtThe Most Revdltoptiongt
ltoption value=9gtThe Rt Revdltoptiongt
ltoption value=10gtThe Revd Canonlt
optiongt
ltoption value=11gtThe Revdltoptiongt
ltoption value=12gtThe Rt Revd
Professorltoptiongt
ltoption value=13gtThe Venltoptiongt
ltoption value=14gtThe Most Revd Drlt
optiongt
ltoption value=16gtRabbiltoptiongt
ltoption value=17gtCanonltoptiongt
ltoption value=18gtDameltoptiongt
ltoption value=19gtChiefltoptiongt
ltoption value=20gtSisterltoptiongt
ltoption value=21gtReverendltoptiongt
ltoption value=22gtMajorltoptiongt
ltoption value=23gtOtherltoptiongt
ltoption value=24gtCllrltoptiongt
ltoption value=25gtSirltoptiongt
ltoption value=26gtRt Hon Lordltoptiongt
ltoption value=27gtRt Honltoptiongt
ltoption value=28gtThe Lord ltoptiongt
ltoption value=29gtViscountltoptiongt
ltoption value=30gtViscountessltoptiongt
ltoption value=31gtBaronessltoptiongt
ltoption value=32gtCaptainltoptiongt
ltoption value=33gtMasterltoptiongt
ltoption value=34gtVery Revdltoptiongt
ltoption value=35gtLadyltoptiongt
ltoption value=38gtMPltoptiongt
ltoption value=39gtKing of Kings and Lord
of Lordsltoptiongt
ltoption value=40gtConquering Lion of the
Tribe of Judahltoptiongt
ltoption value=41gtElect of God and Light
of this Worldltoptiongt
ltoption value=42gtHis Own Divine
Majestyltoptiongt
ltoption value=43gtFirst Ancient King of
Creationltoptiongt
ltoption value=44gtKing Alphaltoptiongt
ltoption value=45gtQueen Omegaltoptiongt
ltoption value=46gtBeginning with Our End
and First with Our Lastltoptiongt
ltoption value=47gtProtector of All Human
Faithltoptiongt
ltoption value=48gtRuler of the
Universeltoptiongt
ltoption value=49gtDudeltoptiongt
Sunday February 24 13
And the third problem is our faith that the first two problems here can be easily solved Just add more list items
cczona
Seeing more than 20 uncategorized options can be bewilderinghellip
mdashSmashing Magazine
Sunday February 24 13
So thats not gonna work
Also it risks looking like a dumbass
Social Networks
Sunday February 24 13
So heres the next flawed premise that we intuitively understand the nature of social networks
Stepping aside from how social networking has come to be implemented as technology -- what IS a social network What is it in purely human terms
cczona
Social network
Individuals and the dyadic ties between them
Interactions within a social group of exactly two people
Sunday February 24 13
[slide] Thats the real life that our apps are meant to replicate and build upon One-on-one As personal as our social selves get In social identity is a dependency
cczona
Developer amp user are in dyad too
How can I be better 11 partner with this person whohellip
bull is a current user
bull I hope will become a user
Sunday February 24 13
As developers we build -- or break -- community with each line of code What 11 relationships are we fostering between the individual and the app What relationships are we inhibiting between individuals
cczona
In real life
I know your personhood better than you
sounds presumptuous
Sunday February 24 13
cczona
In real life
sounds presumptuous
Sunday February 24 13
cczona
In real life
Who you are is invalid
sounds arrogant
Sunday February 24 13
cczona
In real life
sounds arrogant
Sunday February 24 13
cczona
In real life
Your existence isnt possible
sounds clueless
Sunday February 24 13
cczona
In real life
sounds clueless
Sunday February 24 13
cczona
Sunday February 24 13
Its not what we set out to do Its not the community we seek to build We want to create things that feel cutting edge -- not that seem out of touch with modern reality
cczona
Be conservative in what you do be liberal in what you accept from others
-Postels Law
Sunday February 24 13
[READ]
cczona
How do we bring modern realities into the data views logic
Sunday February 24 13
How DO we bring modern realities into the data views and logic We start at the schema
cczona
Sunday February 24 13
As developers were tugged in two directions keep the codebase manageable yet design for modern complexity
cczona
Get schemas into alignment
Sunday February 24 13
cczona
Mental Schema
bullSet of pre-conceived ideas
bullFramework for representing some aspect of the world
bullSystem of organizing amp perceiving new information
Sunday February 24 13
There are two kinds of schema [read]
cczona
Database Schema
bullStructure described in the databases language
bullBlueprint for database construction
bullDescribes how the real world is being modeled
Sunday February 24 13
Database schemas are basically the same thing Its a mental schema translated into blueprints for a database
cczona
create_table users force =gt true do |t| tstring username tstring email tstring passwordend
Sunday February 24 13
When you use Rails generate scaffold or Rails generate model it creates a migration Maybe you created something like this for instance Those migrations ultimately get translated into a unified schema to be used by the environments database
cczona
Sunday February 24 13
These are simply frontend manifestations of someones mental schema
cczona
Schemas are foundation for
expressing
things deeply intimate
Sunday February 24 13
cczona
Schemas are foundation for
expressing
self-image
Sunday February 24 13
cczona
Schemas are foundation for
expressing
identity
Sunday February 24 13
cczona
Schemas are foundation for
expressing
important relationships
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Imagine walking through the world knowing that everyonersquos first assumptions about how you see yourself who you love and what feels right for you are completely wrong Now imagine signing up for a cool website and then being required to select an option from a drop-down menu that doesnrsquot include anything that represents you[Y]oursquoll feel defeated Yoursquoll want to argue that whatever they think theyrsquore learning from that drop-down menu itrsquos not really true Yoursquoll want to tell them that theyrsquore adding to your humiliation by making you do this Yoursquoll want to tell them that theyrsquore missing a huge part of youhellip
mdashSarah Dopp
Sunday February 24 13
cczona
Female Male
Sunday February 24 13
cczona
Its ComplicatedIn a Relationship
Married Divorced
WidowedSingle
Sunday February 24 13
cczona
Asexual
Straight Gay
Bisexual
Pansexual
Sunday February 24 13
cczona
Sunday February 24 13
cczona
Sunday February 24 13
Users are giving pushback to assumptions that leave them out Social apps in particular are being pressed to adjust Facebook Google and others have been dealing with these questions for years and are still working it out So if you feel out of depth you are not the only one
cczona
Sociological Normalization
Construction of an idealized norm
Sunday February 24 13
When developers talk about normalization were talking about databases But when dealing with human attributes we often wind up pursuing a different cause sociological normalization [read]
Conflating the two works fine if you only want users from among the select few who belong to the idealized norm But most of us are going for broad userbase
cczona
Database Normalization
Mirror real-world concepts and their interrelationships
Sunday February 24 13
What we lose track of is one of the core objectives of database normalization Were supposed to [read] When the database is in tension with peoples own real world -- then its not people who need to be flexible
cczona
Sunday February 24 13
Why IS this hard Because at first glance this stuff looks so easy Its just forms right Weve done those a million times before
But we get tripped up by some flawed premises
cczona
Gender is one of those things everyone thinks they understand but most people dont Like Inception
mdash Sam Killerman
Sunday February 24 13
First a premise that deeply personal stuff about humans can be reduced to lists
cczona
Hey this is just a system I can figure out easily is also a problem among engineers first diving into the stock market
mdashxkcd 592
Sunday February 24 13
Second assumptions that canonical lists for these exist Or are at least SURELY must be creatable
cczona
ltoption value=1gtMrltoptiongt
ltoption value=2gtMrsltoptiongt
ltoption value=3gtMissltoptiongt
ltoption value=4gtMsltoptiongt
ltoption value=5gtDrltoptiongt
ltoption value=6gtProfessorltoptiongt
ltoption value=7gtThe Rt Revd Drltoptiongt
ltoption value=8gtThe Most Revdltoptiongt
ltoption value=9gtThe Rt Revdltoptiongt
ltoption value=10gtThe Revd Canonlt
optiongt
ltoption value=11gtThe Revdltoptiongt
ltoption value=12gtThe Rt Revd
Professorltoptiongt
ltoption value=13gtThe Venltoptiongt
ltoption value=14gtThe Most Revd Drlt
optiongt
ltoption value=16gtRabbiltoptiongt
ltoption value=17gtCanonltoptiongt
ltoption value=18gtDameltoptiongt
ltoption value=19gtChiefltoptiongt
ltoption value=20gtSisterltoptiongt
ltoption value=21gtReverendltoptiongt
ltoption value=22gtMajorltoptiongt
ltoption value=23gtOtherltoptiongt
ltoption value=24gtCllrltoptiongt
ltoption value=25gtSirltoptiongt
ltoption value=26gtRt Hon Lordltoptiongt
ltoption value=27gtRt Honltoptiongt
ltoption value=28gtThe Lord ltoptiongt
ltoption value=29gtViscountltoptiongt
ltoption value=30gtViscountessltoptiongt
ltoption value=31gtBaronessltoptiongt
ltoption value=32gtCaptainltoptiongt
ltoption value=33gtMasterltoptiongt
ltoption value=34gtVery Revdltoptiongt
ltoption value=35gtLadyltoptiongt
ltoption value=38gtMPltoptiongt
ltoption value=39gtKing of Kings and Lord
of Lordsltoptiongt
ltoption value=40gtConquering Lion of the
Tribe of Judahltoptiongt
ltoption value=41gtElect of God and Light
of this Worldltoptiongt
ltoption value=42gtHis Own Divine
Majestyltoptiongt
ltoption value=43gtFirst Ancient King of
Creationltoptiongt
ltoption value=44gtKing Alphaltoptiongt
ltoption value=45gtQueen Omegaltoptiongt
ltoption value=46gtBeginning with Our End
and First with Our Lastltoptiongt
ltoption value=47gtProtector of All Human
Faithltoptiongt
ltoption value=48gtRuler of the
Universeltoptiongt
ltoption value=49gtDudeltoptiongt
Sunday February 24 13
And the third problem is our faith that the first two problems here can be easily solved Just add more list items
cczona
Seeing more than 20 uncategorized options can be bewilderinghellip
mdashSmashing Magazine
Sunday February 24 13
So thats not gonna work
Also it risks looking like a dumbass
Social Networks
Sunday February 24 13
So heres the next flawed premise that we intuitively understand the nature of social networks
Stepping aside from how social networking has come to be implemented as technology -- what IS a social network What is it in purely human terms
cczona
Social network
Individuals and the dyadic ties between them
Interactions within a social group of exactly two people
Sunday February 24 13
[slide] Thats the real life that our apps are meant to replicate and build upon One-on-one As personal as our social selves get In social identity is a dependency
cczona
Developer amp user are in dyad too
How can I be better 11 partner with this person whohellip
bull is a current user
bull I hope will become a user
Sunday February 24 13
As developers we build -- or break -- community with each line of code What 11 relationships are we fostering between the individual and the app What relationships are we inhibiting between individuals
cczona
In real life
I know your personhood better than you
sounds presumptuous
Sunday February 24 13
cczona
In real life
sounds presumptuous
Sunday February 24 13
cczona
In real life
Who you are is invalid
sounds arrogant
Sunday February 24 13
cczona
In real life
sounds arrogant
Sunday February 24 13
cczona
In real life
Your existence isnt possible
sounds clueless
Sunday February 24 13
cczona
In real life
sounds clueless
Sunday February 24 13
cczona
Sunday February 24 13
Its not what we set out to do Its not the community we seek to build We want to create things that feel cutting edge -- not that seem out of touch with modern reality
cczona
Be conservative in what you do be liberal in what you accept from others
-Postels Law
Sunday February 24 13
[READ]
cczona
How do we bring modern realities into the data views logic
Sunday February 24 13
How DO we bring modern realities into the data views and logic We start at the schema
cczona
Sunday February 24 13
As developers were tugged in two directions keep the codebase manageable yet design for modern complexity
cczona
Get schemas into alignment
Sunday February 24 13
cczona
Mental Schema
bullSet of pre-conceived ideas
bullFramework for representing some aspect of the world
bullSystem of organizing amp perceiving new information
Sunday February 24 13
There are two kinds of schema [read]
cczona
Database Schema
bullStructure described in the databases language
bullBlueprint for database construction
bullDescribes how the real world is being modeled
Sunday February 24 13
Database schemas are basically the same thing Its a mental schema translated into blueprints for a database
cczona
create_table users force =gt true do |t| tstring username tstring email tstring passwordend
Sunday February 24 13
When you use Rails generate scaffold or Rails generate model it creates a migration Maybe you created something like this for instance Those migrations ultimately get translated into a unified schema to be used by the environments database
cczona
Sunday February 24 13
These are simply frontend manifestations of someones mental schema
cczona
Schemas are foundation for
expressing
things deeply intimate
Sunday February 24 13
cczona
Schemas are foundation for
expressing
self-image
Sunday February 24 13
cczona
Schemas are foundation for
expressing
identity
Sunday February 24 13
cczona
Schemas are foundation for
expressing
important relationships
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Female Male
Sunday February 24 13
cczona
Its ComplicatedIn a Relationship
Married Divorced
WidowedSingle
Sunday February 24 13
cczona
Asexual
Straight Gay
Bisexual
Pansexual
Sunday February 24 13
cczona
Sunday February 24 13
cczona
Sunday February 24 13
Users are giving pushback to assumptions that leave them out Social apps in particular are being pressed to adjust Facebook Google and others have been dealing with these questions for years and are still working it out So if you feel out of depth you are not the only one
cczona
Sociological Normalization
Construction of an idealized norm
Sunday February 24 13
When developers talk about normalization were talking about databases But when dealing with human attributes we often wind up pursuing a different cause sociological normalization [read]
Conflating the two works fine if you only want users from among the select few who belong to the idealized norm But most of us are going for broad userbase
cczona
Database Normalization
Mirror real-world concepts and their interrelationships
Sunday February 24 13
What we lose track of is one of the core objectives of database normalization Were supposed to [read] When the database is in tension with peoples own real world -- then its not people who need to be flexible
cczona
Sunday February 24 13
Why IS this hard Because at first glance this stuff looks so easy Its just forms right Weve done those a million times before
But we get tripped up by some flawed premises
cczona
Gender is one of those things everyone thinks they understand but most people dont Like Inception
mdash Sam Killerman
Sunday February 24 13
First a premise that deeply personal stuff about humans can be reduced to lists
cczona
Hey this is just a system I can figure out easily is also a problem among engineers first diving into the stock market
mdashxkcd 592
Sunday February 24 13
Second assumptions that canonical lists for these exist Or are at least SURELY must be creatable
cczona
ltoption value=1gtMrltoptiongt
ltoption value=2gtMrsltoptiongt
ltoption value=3gtMissltoptiongt
ltoption value=4gtMsltoptiongt
ltoption value=5gtDrltoptiongt
ltoption value=6gtProfessorltoptiongt
ltoption value=7gtThe Rt Revd Drltoptiongt
ltoption value=8gtThe Most Revdltoptiongt
ltoption value=9gtThe Rt Revdltoptiongt
ltoption value=10gtThe Revd Canonlt
optiongt
ltoption value=11gtThe Revdltoptiongt
ltoption value=12gtThe Rt Revd
Professorltoptiongt
ltoption value=13gtThe Venltoptiongt
ltoption value=14gtThe Most Revd Drlt
optiongt
ltoption value=16gtRabbiltoptiongt
ltoption value=17gtCanonltoptiongt
ltoption value=18gtDameltoptiongt
ltoption value=19gtChiefltoptiongt
ltoption value=20gtSisterltoptiongt
ltoption value=21gtReverendltoptiongt
ltoption value=22gtMajorltoptiongt
ltoption value=23gtOtherltoptiongt
ltoption value=24gtCllrltoptiongt
ltoption value=25gtSirltoptiongt
ltoption value=26gtRt Hon Lordltoptiongt
ltoption value=27gtRt Honltoptiongt
ltoption value=28gtThe Lord ltoptiongt
ltoption value=29gtViscountltoptiongt
ltoption value=30gtViscountessltoptiongt
ltoption value=31gtBaronessltoptiongt
ltoption value=32gtCaptainltoptiongt
ltoption value=33gtMasterltoptiongt
ltoption value=34gtVery Revdltoptiongt
ltoption value=35gtLadyltoptiongt
ltoption value=38gtMPltoptiongt
ltoption value=39gtKing of Kings and Lord
of Lordsltoptiongt
ltoption value=40gtConquering Lion of the
Tribe of Judahltoptiongt
ltoption value=41gtElect of God and Light
of this Worldltoptiongt
ltoption value=42gtHis Own Divine
Majestyltoptiongt
ltoption value=43gtFirst Ancient King of
Creationltoptiongt
ltoption value=44gtKing Alphaltoptiongt
ltoption value=45gtQueen Omegaltoptiongt
ltoption value=46gtBeginning with Our End
and First with Our Lastltoptiongt
ltoption value=47gtProtector of All Human
Faithltoptiongt
ltoption value=48gtRuler of the
Universeltoptiongt
ltoption value=49gtDudeltoptiongt
Sunday February 24 13
And the third problem is our faith that the first two problems here can be easily solved Just add more list items
cczona
Seeing more than 20 uncategorized options can be bewilderinghellip
mdashSmashing Magazine
Sunday February 24 13
So thats not gonna work
Also it risks looking like a dumbass
Social Networks
Sunday February 24 13
So heres the next flawed premise that we intuitively understand the nature of social networks
Stepping aside from how social networking has come to be implemented as technology -- what IS a social network What is it in purely human terms
cczona
Social network
Individuals and the dyadic ties between them
Interactions within a social group of exactly two people
Sunday February 24 13
[slide] Thats the real life that our apps are meant to replicate and build upon One-on-one As personal as our social selves get In social identity is a dependency
cczona
Developer amp user are in dyad too
How can I be better 11 partner with this person whohellip
bull is a current user
bull I hope will become a user
Sunday February 24 13
As developers we build -- or break -- community with each line of code What 11 relationships are we fostering between the individual and the app What relationships are we inhibiting between individuals
cczona
In real life
I know your personhood better than you
sounds presumptuous
Sunday February 24 13
cczona
In real life
sounds presumptuous
Sunday February 24 13
cczona
In real life
Who you are is invalid
sounds arrogant
Sunday February 24 13
cczona
In real life
sounds arrogant
Sunday February 24 13
cczona
In real life
Your existence isnt possible
sounds clueless
Sunday February 24 13
cczona
In real life
sounds clueless
Sunday February 24 13
cczona
Sunday February 24 13
Its not what we set out to do Its not the community we seek to build We want to create things that feel cutting edge -- not that seem out of touch with modern reality
cczona
Be conservative in what you do be liberal in what you accept from others
-Postels Law
Sunday February 24 13
[READ]
cczona
How do we bring modern realities into the data views logic
Sunday February 24 13
How DO we bring modern realities into the data views and logic We start at the schema
cczona
Sunday February 24 13
As developers were tugged in two directions keep the codebase manageable yet design for modern complexity
cczona
Get schemas into alignment
Sunday February 24 13
cczona
Mental Schema
bullSet of pre-conceived ideas
bullFramework for representing some aspect of the world
bullSystem of organizing amp perceiving new information
Sunday February 24 13
There are two kinds of schema [read]
cczona
Database Schema
bullStructure described in the databases language
bullBlueprint for database construction
bullDescribes how the real world is being modeled
Sunday February 24 13
Database schemas are basically the same thing Its a mental schema translated into blueprints for a database
cczona
create_table users force =gt true do |t| tstring username tstring email tstring passwordend
Sunday February 24 13
When you use Rails generate scaffold or Rails generate model it creates a migration Maybe you created something like this for instance Those migrations ultimately get translated into a unified schema to be used by the environments database
cczona
Sunday February 24 13
These are simply frontend manifestations of someones mental schema
cczona
Schemas are foundation for
expressing
things deeply intimate
Sunday February 24 13
cczona
Schemas are foundation for
expressing
self-image
Sunday February 24 13
cczona
Schemas are foundation for
expressing
identity
Sunday February 24 13
cczona
Schemas are foundation for
expressing
important relationships
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Its ComplicatedIn a Relationship
Married Divorced
WidowedSingle
Sunday February 24 13
cczona
Asexual
Straight Gay
Bisexual
Pansexual
Sunday February 24 13
cczona
Sunday February 24 13
cczona
Sunday February 24 13
Users are giving pushback to assumptions that leave them out Social apps in particular are being pressed to adjust Facebook Google and others have been dealing with these questions for years and are still working it out So if you feel out of depth you are not the only one
cczona
Sociological Normalization
Construction of an idealized norm
Sunday February 24 13
When developers talk about normalization were talking about databases But when dealing with human attributes we often wind up pursuing a different cause sociological normalization [read]
Conflating the two works fine if you only want users from among the select few who belong to the idealized norm But most of us are going for broad userbase
cczona
Database Normalization
Mirror real-world concepts and their interrelationships
Sunday February 24 13
What we lose track of is one of the core objectives of database normalization Were supposed to [read] When the database is in tension with peoples own real world -- then its not people who need to be flexible
cczona
Sunday February 24 13
Why IS this hard Because at first glance this stuff looks so easy Its just forms right Weve done those a million times before
But we get tripped up by some flawed premises
cczona
Gender is one of those things everyone thinks they understand but most people dont Like Inception
mdash Sam Killerman
Sunday February 24 13
First a premise that deeply personal stuff about humans can be reduced to lists
cczona
Hey this is just a system I can figure out easily is also a problem among engineers first diving into the stock market
mdashxkcd 592
Sunday February 24 13
Second assumptions that canonical lists for these exist Or are at least SURELY must be creatable
cczona
ltoption value=1gtMrltoptiongt
ltoption value=2gtMrsltoptiongt
ltoption value=3gtMissltoptiongt
ltoption value=4gtMsltoptiongt
ltoption value=5gtDrltoptiongt
ltoption value=6gtProfessorltoptiongt
ltoption value=7gtThe Rt Revd Drltoptiongt
ltoption value=8gtThe Most Revdltoptiongt
ltoption value=9gtThe Rt Revdltoptiongt
ltoption value=10gtThe Revd Canonlt
optiongt
ltoption value=11gtThe Revdltoptiongt
ltoption value=12gtThe Rt Revd
Professorltoptiongt
ltoption value=13gtThe Venltoptiongt
ltoption value=14gtThe Most Revd Drlt
optiongt
ltoption value=16gtRabbiltoptiongt
ltoption value=17gtCanonltoptiongt
ltoption value=18gtDameltoptiongt
ltoption value=19gtChiefltoptiongt
ltoption value=20gtSisterltoptiongt
ltoption value=21gtReverendltoptiongt
ltoption value=22gtMajorltoptiongt
ltoption value=23gtOtherltoptiongt
ltoption value=24gtCllrltoptiongt
ltoption value=25gtSirltoptiongt
ltoption value=26gtRt Hon Lordltoptiongt
ltoption value=27gtRt Honltoptiongt
ltoption value=28gtThe Lord ltoptiongt
ltoption value=29gtViscountltoptiongt
ltoption value=30gtViscountessltoptiongt
ltoption value=31gtBaronessltoptiongt
ltoption value=32gtCaptainltoptiongt
ltoption value=33gtMasterltoptiongt
ltoption value=34gtVery Revdltoptiongt
ltoption value=35gtLadyltoptiongt
ltoption value=38gtMPltoptiongt
ltoption value=39gtKing of Kings and Lord
of Lordsltoptiongt
ltoption value=40gtConquering Lion of the
Tribe of Judahltoptiongt
ltoption value=41gtElect of God and Light
of this Worldltoptiongt
ltoption value=42gtHis Own Divine
Majestyltoptiongt
ltoption value=43gtFirst Ancient King of
Creationltoptiongt
ltoption value=44gtKing Alphaltoptiongt
ltoption value=45gtQueen Omegaltoptiongt
ltoption value=46gtBeginning with Our End
and First with Our Lastltoptiongt
ltoption value=47gtProtector of All Human
Faithltoptiongt
ltoption value=48gtRuler of the
Universeltoptiongt
ltoption value=49gtDudeltoptiongt
Sunday February 24 13
And the third problem is our faith that the first two problems here can be easily solved Just add more list items
cczona
Seeing more than 20 uncategorized options can be bewilderinghellip
mdashSmashing Magazine
Sunday February 24 13
So thats not gonna work
Also it risks looking like a dumbass
Social Networks
Sunday February 24 13
So heres the next flawed premise that we intuitively understand the nature of social networks
Stepping aside from how social networking has come to be implemented as technology -- what IS a social network What is it in purely human terms
cczona
Social network
Individuals and the dyadic ties between them
Interactions within a social group of exactly two people
Sunday February 24 13
[slide] Thats the real life that our apps are meant to replicate and build upon One-on-one As personal as our social selves get In social identity is a dependency
cczona
Developer amp user are in dyad too
How can I be better 11 partner with this person whohellip
bull is a current user
bull I hope will become a user
Sunday February 24 13
As developers we build -- or break -- community with each line of code What 11 relationships are we fostering between the individual and the app What relationships are we inhibiting between individuals
cczona
In real life
I know your personhood better than you
sounds presumptuous
Sunday February 24 13
cczona
In real life
sounds presumptuous
Sunday February 24 13
cczona
In real life
Who you are is invalid
sounds arrogant
Sunday February 24 13
cczona
In real life
sounds arrogant
Sunday February 24 13
cczona
In real life
Your existence isnt possible
sounds clueless
Sunday February 24 13
cczona
In real life
sounds clueless
Sunday February 24 13
cczona
Sunday February 24 13
Its not what we set out to do Its not the community we seek to build We want to create things that feel cutting edge -- not that seem out of touch with modern reality
cczona
Be conservative in what you do be liberal in what you accept from others
-Postels Law
Sunday February 24 13
[READ]
cczona
How do we bring modern realities into the data views logic
Sunday February 24 13
How DO we bring modern realities into the data views and logic We start at the schema
cczona
Sunday February 24 13
As developers were tugged in two directions keep the codebase manageable yet design for modern complexity
cczona
Get schemas into alignment
Sunday February 24 13
cczona
Mental Schema
bullSet of pre-conceived ideas
bullFramework for representing some aspect of the world
bullSystem of organizing amp perceiving new information
Sunday February 24 13
There are two kinds of schema [read]
cczona
Database Schema
bullStructure described in the databases language
bullBlueprint for database construction
bullDescribes how the real world is being modeled
Sunday February 24 13
Database schemas are basically the same thing Its a mental schema translated into blueprints for a database
cczona
create_table users force =gt true do |t| tstring username tstring email tstring passwordend
Sunday February 24 13
When you use Rails generate scaffold or Rails generate model it creates a migration Maybe you created something like this for instance Those migrations ultimately get translated into a unified schema to be used by the environments database
cczona
Sunday February 24 13
These are simply frontend manifestations of someones mental schema
cczona
Schemas are foundation for
expressing
things deeply intimate
Sunday February 24 13
cczona
Schemas are foundation for
expressing
self-image
Sunday February 24 13
cczona
Schemas are foundation for
expressing
identity
Sunday February 24 13
cczona
Schemas are foundation for
expressing
important relationships
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Asexual
Straight Gay
Bisexual
Pansexual
Sunday February 24 13
cczona
Sunday February 24 13
cczona
Sunday February 24 13
Users are giving pushback to assumptions that leave them out Social apps in particular are being pressed to adjust Facebook Google and others have been dealing with these questions for years and are still working it out So if you feel out of depth you are not the only one
cczona
Sociological Normalization
Construction of an idealized norm
Sunday February 24 13
When developers talk about normalization were talking about databases But when dealing with human attributes we often wind up pursuing a different cause sociological normalization [read]
Conflating the two works fine if you only want users from among the select few who belong to the idealized norm But most of us are going for broad userbase
cczona
Database Normalization
Mirror real-world concepts and their interrelationships
Sunday February 24 13
What we lose track of is one of the core objectives of database normalization Were supposed to [read] When the database is in tension with peoples own real world -- then its not people who need to be flexible
cczona
Sunday February 24 13
Why IS this hard Because at first glance this stuff looks so easy Its just forms right Weve done those a million times before
But we get tripped up by some flawed premises
cczona
Gender is one of those things everyone thinks they understand but most people dont Like Inception
mdash Sam Killerman
Sunday February 24 13
First a premise that deeply personal stuff about humans can be reduced to lists
cczona
Hey this is just a system I can figure out easily is also a problem among engineers first diving into the stock market
mdashxkcd 592
Sunday February 24 13
Second assumptions that canonical lists for these exist Or are at least SURELY must be creatable
cczona
ltoption value=1gtMrltoptiongt
ltoption value=2gtMrsltoptiongt
ltoption value=3gtMissltoptiongt
ltoption value=4gtMsltoptiongt
ltoption value=5gtDrltoptiongt
ltoption value=6gtProfessorltoptiongt
ltoption value=7gtThe Rt Revd Drltoptiongt
ltoption value=8gtThe Most Revdltoptiongt
ltoption value=9gtThe Rt Revdltoptiongt
ltoption value=10gtThe Revd Canonlt
optiongt
ltoption value=11gtThe Revdltoptiongt
ltoption value=12gtThe Rt Revd
Professorltoptiongt
ltoption value=13gtThe Venltoptiongt
ltoption value=14gtThe Most Revd Drlt
optiongt
ltoption value=16gtRabbiltoptiongt
ltoption value=17gtCanonltoptiongt
ltoption value=18gtDameltoptiongt
ltoption value=19gtChiefltoptiongt
ltoption value=20gtSisterltoptiongt
ltoption value=21gtReverendltoptiongt
ltoption value=22gtMajorltoptiongt
ltoption value=23gtOtherltoptiongt
ltoption value=24gtCllrltoptiongt
ltoption value=25gtSirltoptiongt
ltoption value=26gtRt Hon Lordltoptiongt
ltoption value=27gtRt Honltoptiongt
ltoption value=28gtThe Lord ltoptiongt
ltoption value=29gtViscountltoptiongt
ltoption value=30gtViscountessltoptiongt
ltoption value=31gtBaronessltoptiongt
ltoption value=32gtCaptainltoptiongt
ltoption value=33gtMasterltoptiongt
ltoption value=34gtVery Revdltoptiongt
ltoption value=35gtLadyltoptiongt
ltoption value=38gtMPltoptiongt
ltoption value=39gtKing of Kings and Lord
of Lordsltoptiongt
ltoption value=40gtConquering Lion of the
Tribe of Judahltoptiongt
ltoption value=41gtElect of God and Light
of this Worldltoptiongt
ltoption value=42gtHis Own Divine
Majestyltoptiongt
ltoption value=43gtFirst Ancient King of
Creationltoptiongt
ltoption value=44gtKing Alphaltoptiongt
ltoption value=45gtQueen Omegaltoptiongt
ltoption value=46gtBeginning with Our End
and First with Our Lastltoptiongt
ltoption value=47gtProtector of All Human
Faithltoptiongt
ltoption value=48gtRuler of the
Universeltoptiongt
ltoption value=49gtDudeltoptiongt
Sunday February 24 13
And the third problem is our faith that the first two problems here can be easily solved Just add more list items
cczona
Seeing more than 20 uncategorized options can be bewilderinghellip
mdashSmashing Magazine
Sunday February 24 13
So thats not gonna work
Also it risks looking like a dumbass
Social Networks
Sunday February 24 13
So heres the next flawed premise that we intuitively understand the nature of social networks
Stepping aside from how social networking has come to be implemented as technology -- what IS a social network What is it in purely human terms
cczona
Social network
Individuals and the dyadic ties between them
Interactions within a social group of exactly two people
Sunday February 24 13
[slide] Thats the real life that our apps are meant to replicate and build upon One-on-one As personal as our social selves get In social identity is a dependency
cczona
Developer amp user are in dyad too
How can I be better 11 partner with this person whohellip
bull is a current user
bull I hope will become a user
Sunday February 24 13
As developers we build -- or break -- community with each line of code What 11 relationships are we fostering between the individual and the app What relationships are we inhibiting between individuals
cczona
In real life
I know your personhood better than you
sounds presumptuous
Sunday February 24 13
cczona
In real life
sounds presumptuous
Sunday February 24 13
cczona
In real life
Who you are is invalid
sounds arrogant
Sunday February 24 13
cczona
In real life
sounds arrogant
Sunday February 24 13
cczona
In real life
Your existence isnt possible
sounds clueless
Sunday February 24 13
cczona
In real life
sounds clueless
Sunday February 24 13
cczona
Sunday February 24 13
Its not what we set out to do Its not the community we seek to build We want to create things that feel cutting edge -- not that seem out of touch with modern reality
cczona
Be conservative in what you do be liberal in what you accept from others
-Postels Law
Sunday February 24 13
[READ]
cczona
How do we bring modern realities into the data views logic
Sunday February 24 13
How DO we bring modern realities into the data views and logic We start at the schema
cczona
Sunday February 24 13
As developers were tugged in two directions keep the codebase manageable yet design for modern complexity
cczona
Get schemas into alignment
Sunday February 24 13
cczona
Mental Schema
bullSet of pre-conceived ideas
bullFramework for representing some aspect of the world
bullSystem of organizing amp perceiving new information
Sunday February 24 13
There are two kinds of schema [read]
cczona
Database Schema
bullStructure described in the databases language
bullBlueprint for database construction
bullDescribes how the real world is being modeled
Sunday February 24 13
Database schemas are basically the same thing Its a mental schema translated into blueprints for a database
cczona
create_table users force =gt true do |t| tstring username tstring email tstring passwordend
Sunday February 24 13
When you use Rails generate scaffold or Rails generate model it creates a migration Maybe you created something like this for instance Those migrations ultimately get translated into a unified schema to be used by the environments database
cczona
Sunday February 24 13
These are simply frontend manifestations of someones mental schema
cczona
Schemas are foundation for
expressing
things deeply intimate
Sunday February 24 13
cczona
Schemas are foundation for
expressing
self-image
Sunday February 24 13
cczona
Schemas are foundation for
expressing
identity
Sunday February 24 13
cczona
Schemas are foundation for
expressing
important relationships
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Sunday February 24 13
cczona
Sunday February 24 13
Users are giving pushback to assumptions that leave them out Social apps in particular are being pressed to adjust Facebook Google and others have been dealing with these questions for years and are still working it out So if you feel out of depth you are not the only one
cczona
Sociological Normalization
Construction of an idealized norm
Sunday February 24 13
When developers talk about normalization were talking about databases But when dealing with human attributes we often wind up pursuing a different cause sociological normalization [read]
Conflating the two works fine if you only want users from among the select few who belong to the idealized norm But most of us are going for broad userbase
cczona
Database Normalization
Mirror real-world concepts and their interrelationships
Sunday February 24 13
What we lose track of is one of the core objectives of database normalization Were supposed to [read] When the database is in tension with peoples own real world -- then its not people who need to be flexible
cczona
Sunday February 24 13
Why IS this hard Because at first glance this stuff looks so easy Its just forms right Weve done those a million times before
But we get tripped up by some flawed premises
cczona
Gender is one of those things everyone thinks they understand but most people dont Like Inception
mdash Sam Killerman
Sunday February 24 13
First a premise that deeply personal stuff about humans can be reduced to lists
cczona
Hey this is just a system I can figure out easily is also a problem among engineers first diving into the stock market
mdashxkcd 592
Sunday February 24 13
Second assumptions that canonical lists for these exist Or are at least SURELY must be creatable
cczona
ltoption value=1gtMrltoptiongt
ltoption value=2gtMrsltoptiongt
ltoption value=3gtMissltoptiongt
ltoption value=4gtMsltoptiongt
ltoption value=5gtDrltoptiongt
ltoption value=6gtProfessorltoptiongt
ltoption value=7gtThe Rt Revd Drltoptiongt
ltoption value=8gtThe Most Revdltoptiongt
ltoption value=9gtThe Rt Revdltoptiongt
ltoption value=10gtThe Revd Canonlt
optiongt
ltoption value=11gtThe Revdltoptiongt
ltoption value=12gtThe Rt Revd
Professorltoptiongt
ltoption value=13gtThe Venltoptiongt
ltoption value=14gtThe Most Revd Drlt
optiongt
ltoption value=16gtRabbiltoptiongt
ltoption value=17gtCanonltoptiongt
ltoption value=18gtDameltoptiongt
ltoption value=19gtChiefltoptiongt
ltoption value=20gtSisterltoptiongt
ltoption value=21gtReverendltoptiongt
ltoption value=22gtMajorltoptiongt
ltoption value=23gtOtherltoptiongt
ltoption value=24gtCllrltoptiongt
ltoption value=25gtSirltoptiongt
ltoption value=26gtRt Hon Lordltoptiongt
ltoption value=27gtRt Honltoptiongt
ltoption value=28gtThe Lord ltoptiongt
ltoption value=29gtViscountltoptiongt
ltoption value=30gtViscountessltoptiongt
ltoption value=31gtBaronessltoptiongt
ltoption value=32gtCaptainltoptiongt
ltoption value=33gtMasterltoptiongt
ltoption value=34gtVery Revdltoptiongt
ltoption value=35gtLadyltoptiongt
ltoption value=38gtMPltoptiongt
ltoption value=39gtKing of Kings and Lord
of Lordsltoptiongt
ltoption value=40gtConquering Lion of the
Tribe of Judahltoptiongt
ltoption value=41gtElect of God and Light
of this Worldltoptiongt
ltoption value=42gtHis Own Divine
Majestyltoptiongt
ltoption value=43gtFirst Ancient King of
Creationltoptiongt
ltoption value=44gtKing Alphaltoptiongt
ltoption value=45gtQueen Omegaltoptiongt
ltoption value=46gtBeginning with Our End
and First with Our Lastltoptiongt
ltoption value=47gtProtector of All Human
Faithltoptiongt
ltoption value=48gtRuler of the
Universeltoptiongt
ltoption value=49gtDudeltoptiongt
Sunday February 24 13
And the third problem is our faith that the first two problems here can be easily solved Just add more list items
cczona
Seeing more than 20 uncategorized options can be bewilderinghellip
mdashSmashing Magazine
Sunday February 24 13
So thats not gonna work
Also it risks looking like a dumbass
Social Networks
Sunday February 24 13
So heres the next flawed premise that we intuitively understand the nature of social networks
Stepping aside from how social networking has come to be implemented as technology -- what IS a social network What is it in purely human terms
cczona
Social network
Individuals and the dyadic ties between them
Interactions within a social group of exactly two people
Sunday February 24 13
[slide] Thats the real life that our apps are meant to replicate and build upon One-on-one As personal as our social selves get In social identity is a dependency
cczona
Developer amp user are in dyad too
How can I be better 11 partner with this person whohellip
bull is a current user
bull I hope will become a user
Sunday February 24 13
As developers we build -- or break -- community with each line of code What 11 relationships are we fostering between the individual and the app What relationships are we inhibiting between individuals
cczona
In real life
I know your personhood better than you
sounds presumptuous
Sunday February 24 13
cczona
In real life
sounds presumptuous
Sunday February 24 13
cczona
In real life
Who you are is invalid
sounds arrogant
Sunday February 24 13
cczona
In real life
sounds arrogant
Sunday February 24 13
cczona
In real life
Your existence isnt possible
sounds clueless
Sunday February 24 13
cczona
In real life
sounds clueless
Sunday February 24 13
cczona
Sunday February 24 13
Its not what we set out to do Its not the community we seek to build We want to create things that feel cutting edge -- not that seem out of touch with modern reality
cczona
Be conservative in what you do be liberal in what you accept from others
-Postels Law
Sunday February 24 13
[READ]
cczona
How do we bring modern realities into the data views logic
Sunday February 24 13
How DO we bring modern realities into the data views and logic We start at the schema
cczona
Sunday February 24 13
As developers were tugged in two directions keep the codebase manageable yet design for modern complexity
cczona
Get schemas into alignment
Sunday February 24 13
cczona
Mental Schema
bullSet of pre-conceived ideas
bullFramework for representing some aspect of the world
bullSystem of organizing amp perceiving new information
Sunday February 24 13
There are two kinds of schema [read]
cczona
Database Schema
bullStructure described in the databases language
bullBlueprint for database construction
bullDescribes how the real world is being modeled
Sunday February 24 13
Database schemas are basically the same thing Its a mental schema translated into blueprints for a database
cczona
create_table users force =gt true do |t| tstring username tstring email tstring passwordend
Sunday February 24 13
When you use Rails generate scaffold or Rails generate model it creates a migration Maybe you created something like this for instance Those migrations ultimately get translated into a unified schema to be used by the environments database
cczona
Sunday February 24 13
These are simply frontend manifestations of someones mental schema
cczona
Schemas are foundation for
expressing
things deeply intimate
Sunday February 24 13
cczona
Schemas are foundation for
expressing
self-image
Sunday February 24 13
cczona
Schemas are foundation for
expressing
identity
Sunday February 24 13
cczona
Schemas are foundation for
expressing
important relationships
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Sunday February 24 13
Users are giving pushback to assumptions that leave them out Social apps in particular are being pressed to adjust Facebook Google and others have been dealing with these questions for years and are still working it out So if you feel out of depth you are not the only one
cczona
Sociological Normalization
Construction of an idealized norm
Sunday February 24 13
When developers talk about normalization were talking about databases But when dealing with human attributes we often wind up pursuing a different cause sociological normalization [read]
Conflating the two works fine if you only want users from among the select few who belong to the idealized norm But most of us are going for broad userbase
cczona
Database Normalization
Mirror real-world concepts and their interrelationships
Sunday February 24 13
What we lose track of is one of the core objectives of database normalization Were supposed to [read] When the database is in tension with peoples own real world -- then its not people who need to be flexible
cczona
Sunday February 24 13
Why IS this hard Because at first glance this stuff looks so easy Its just forms right Weve done those a million times before
But we get tripped up by some flawed premises
cczona
Gender is one of those things everyone thinks they understand but most people dont Like Inception
mdash Sam Killerman
Sunday February 24 13
First a premise that deeply personal stuff about humans can be reduced to lists
cczona
Hey this is just a system I can figure out easily is also a problem among engineers first diving into the stock market
mdashxkcd 592
Sunday February 24 13
Second assumptions that canonical lists for these exist Or are at least SURELY must be creatable
cczona
ltoption value=1gtMrltoptiongt
ltoption value=2gtMrsltoptiongt
ltoption value=3gtMissltoptiongt
ltoption value=4gtMsltoptiongt
ltoption value=5gtDrltoptiongt
ltoption value=6gtProfessorltoptiongt
ltoption value=7gtThe Rt Revd Drltoptiongt
ltoption value=8gtThe Most Revdltoptiongt
ltoption value=9gtThe Rt Revdltoptiongt
ltoption value=10gtThe Revd Canonlt
optiongt
ltoption value=11gtThe Revdltoptiongt
ltoption value=12gtThe Rt Revd
Professorltoptiongt
ltoption value=13gtThe Venltoptiongt
ltoption value=14gtThe Most Revd Drlt
optiongt
ltoption value=16gtRabbiltoptiongt
ltoption value=17gtCanonltoptiongt
ltoption value=18gtDameltoptiongt
ltoption value=19gtChiefltoptiongt
ltoption value=20gtSisterltoptiongt
ltoption value=21gtReverendltoptiongt
ltoption value=22gtMajorltoptiongt
ltoption value=23gtOtherltoptiongt
ltoption value=24gtCllrltoptiongt
ltoption value=25gtSirltoptiongt
ltoption value=26gtRt Hon Lordltoptiongt
ltoption value=27gtRt Honltoptiongt
ltoption value=28gtThe Lord ltoptiongt
ltoption value=29gtViscountltoptiongt
ltoption value=30gtViscountessltoptiongt
ltoption value=31gtBaronessltoptiongt
ltoption value=32gtCaptainltoptiongt
ltoption value=33gtMasterltoptiongt
ltoption value=34gtVery Revdltoptiongt
ltoption value=35gtLadyltoptiongt
ltoption value=38gtMPltoptiongt
ltoption value=39gtKing of Kings and Lord
of Lordsltoptiongt
ltoption value=40gtConquering Lion of the
Tribe of Judahltoptiongt
ltoption value=41gtElect of God and Light
of this Worldltoptiongt
ltoption value=42gtHis Own Divine
Majestyltoptiongt
ltoption value=43gtFirst Ancient King of
Creationltoptiongt
ltoption value=44gtKing Alphaltoptiongt
ltoption value=45gtQueen Omegaltoptiongt
ltoption value=46gtBeginning with Our End
and First with Our Lastltoptiongt
ltoption value=47gtProtector of All Human
Faithltoptiongt
ltoption value=48gtRuler of the
Universeltoptiongt
ltoption value=49gtDudeltoptiongt
Sunday February 24 13
And the third problem is our faith that the first two problems here can be easily solved Just add more list items
cczona
Seeing more than 20 uncategorized options can be bewilderinghellip
mdashSmashing Magazine
Sunday February 24 13
So thats not gonna work
Also it risks looking like a dumbass
Social Networks
Sunday February 24 13
So heres the next flawed premise that we intuitively understand the nature of social networks
Stepping aside from how social networking has come to be implemented as technology -- what IS a social network What is it in purely human terms
cczona
Social network
Individuals and the dyadic ties between them
Interactions within a social group of exactly two people
Sunday February 24 13
[slide] Thats the real life that our apps are meant to replicate and build upon One-on-one As personal as our social selves get In social identity is a dependency
cczona
Developer amp user are in dyad too
How can I be better 11 partner with this person whohellip
bull is a current user
bull I hope will become a user
Sunday February 24 13
As developers we build -- or break -- community with each line of code What 11 relationships are we fostering between the individual and the app What relationships are we inhibiting between individuals
cczona
In real life
I know your personhood better than you
sounds presumptuous
Sunday February 24 13
cczona
In real life
sounds presumptuous
Sunday February 24 13
cczona
In real life
Who you are is invalid
sounds arrogant
Sunday February 24 13
cczona
In real life
sounds arrogant
Sunday February 24 13
cczona
In real life
Your existence isnt possible
sounds clueless
Sunday February 24 13
cczona
In real life
sounds clueless
Sunday February 24 13
cczona
Sunday February 24 13
Its not what we set out to do Its not the community we seek to build We want to create things that feel cutting edge -- not that seem out of touch with modern reality
cczona
Be conservative in what you do be liberal in what you accept from others
-Postels Law
Sunday February 24 13
[READ]
cczona
How do we bring modern realities into the data views logic
Sunday February 24 13
How DO we bring modern realities into the data views and logic We start at the schema
cczona
Sunday February 24 13
As developers were tugged in two directions keep the codebase manageable yet design for modern complexity
cczona
Get schemas into alignment
Sunday February 24 13
cczona
Mental Schema
bullSet of pre-conceived ideas
bullFramework for representing some aspect of the world
bullSystem of organizing amp perceiving new information
Sunday February 24 13
There are two kinds of schema [read]
cczona
Database Schema
bullStructure described in the databases language
bullBlueprint for database construction
bullDescribes how the real world is being modeled
Sunday February 24 13
Database schemas are basically the same thing Its a mental schema translated into blueprints for a database
cczona
create_table users force =gt true do |t| tstring username tstring email tstring passwordend
Sunday February 24 13
When you use Rails generate scaffold or Rails generate model it creates a migration Maybe you created something like this for instance Those migrations ultimately get translated into a unified schema to be used by the environments database
cczona
Sunday February 24 13
These are simply frontend manifestations of someones mental schema
cczona
Schemas are foundation for
expressing
things deeply intimate
Sunday February 24 13
cczona
Schemas are foundation for
expressing
self-image
Sunday February 24 13
cczona
Schemas are foundation for
expressing
identity
Sunday February 24 13
cczona
Schemas are foundation for
expressing
important relationships
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Sociological Normalization
Construction of an idealized norm
Sunday February 24 13
When developers talk about normalization were talking about databases But when dealing with human attributes we often wind up pursuing a different cause sociological normalization [read]
Conflating the two works fine if you only want users from among the select few who belong to the idealized norm But most of us are going for broad userbase
cczona
Database Normalization
Mirror real-world concepts and their interrelationships
Sunday February 24 13
What we lose track of is one of the core objectives of database normalization Were supposed to [read] When the database is in tension with peoples own real world -- then its not people who need to be flexible
cczona
Sunday February 24 13
Why IS this hard Because at first glance this stuff looks so easy Its just forms right Weve done those a million times before
But we get tripped up by some flawed premises
cczona
Gender is one of those things everyone thinks they understand but most people dont Like Inception
mdash Sam Killerman
Sunday February 24 13
First a premise that deeply personal stuff about humans can be reduced to lists
cczona
Hey this is just a system I can figure out easily is also a problem among engineers first diving into the stock market
mdashxkcd 592
Sunday February 24 13
Second assumptions that canonical lists for these exist Or are at least SURELY must be creatable
cczona
ltoption value=1gtMrltoptiongt
ltoption value=2gtMrsltoptiongt
ltoption value=3gtMissltoptiongt
ltoption value=4gtMsltoptiongt
ltoption value=5gtDrltoptiongt
ltoption value=6gtProfessorltoptiongt
ltoption value=7gtThe Rt Revd Drltoptiongt
ltoption value=8gtThe Most Revdltoptiongt
ltoption value=9gtThe Rt Revdltoptiongt
ltoption value=10gtThe Revd Canonlt
optiongt
ltoption value=11gtThe Revdltoptiongt
ltoption value=12gtThe Rt Revd
Professorltoptiongt
ltoption value=13gtThe Venltoptiongt
ltoption value=14gtThe Most Revd Drlt
optiongt
ltoption value=16gtRabbiltoptiongt
ltoption value=17gtCanonltoptiongt
ltoption value=18gtDameltoptiongt
ltoption value=19gtChiefltoptiongt
ltoption value=20gtSisterltoptiongt
ltoption value=21gtReverendltoptiongt
ltoption value=22gtMajorltoptiongt
ltoption value=23gtOtherltoptiongt
ltoption value=24gtCllrltoptiongt
ltoption value=25gtSirltoptiongt
ltoption value=26gtRt Hon Lordltoptiongt
ltoption value=27gtRt Honltoptiongt
ltoption value=28gtThe Lord ltoptiongt
ltoption value=29gtViscountltoptiongt
ltoption value=30gtViscountessltoptiongt
ltoption value=31gtBaronessltoptiongt
ltoption value=32gtCaptainltoptiongt
ltoption value=33gtMasterltoptiongt
ltoption value=34gtVery Revdltoptiongt
ltoption value=35gtLadyltoptiongt
ltoption value=38gtMPltoptiongt
ltoption value=39gtKing of Kings and Lord
of Lordsltoptiongt
ltoption value=40gtConquering Lion of the
Tribe of Judahltoptiongt
ltoption value=41gtElect of God and Light
of this Worldltoptiongt
ltoption value=42gtHis Own Divine
Majestyltoptiongt
ltoption value=43gtFirst Ancient King of
Creationltoptiongt
ltoption value=44gtKing Alphaltoptiongt
ltoption value=45gtQueen Omegaltoptiongt
ltoption value=46gtBeginning with Our End
and First with Our Lastltoptiongt
ltoption value=47gtProtector of All Human
Faithltoptiongt
ltoption value=48gtRuler of the
Universeltoptiongt
ltoption value=49gtDudeltoptiongt
Sunday February 24 13
And the third problem is our faith that the first two problems here can be easily solved Just add more list items
cczona
Seeing more than 20 uncategorized options can be bewilderinghellip
mdashSmashing Magazine
Sunday February 24 13
So thats not gonna work
Also it risks looking like a dumbass
Social Networks
Sunday February 24 13
So heres the next flawed premise that we intuitively understand the nature of social networks
Stepping aside from how social networking has come to be implemented as technology -- what IS a social network What is it in purely human terms
cczona
Social network
Individuals and the dyadic ties between them
Interactions within a social group of exactly two people
Sunday February 24 13
[slide] Thats the real life that our apps are meant to replicate and build upon One-on-one As personal as our social selves get In social identity is a dependency
cczona
Developer amp user are in dyad too
How can I be better 11 partner with this person whohellip
bull is a current user
bull I hope will become a user
Sunday February 24 13
As developers we build -- or break -- community with each line of code What 11 relationships are we fostering between the individual and the app What relationships are we inhibiting between individuals
cczona
In real life
I know your personhood better than you
sounds presumptuous
Sunday February 24 13
cczona
In real life
sounds presumptuous
Sunday February 24 13
cczona
In real life
Who you are is invalid
sounds arrogant
Sunday February 24 13
cczona
In real life
sounds arrogant
Sunday February 24 13
cczona
In real life
Your existence isnt possible
sounds clueless
Sunday February 24 13
cczona
In real life
sounds clueless
Sunday February 24 13
cczona
Sunday February 24 13
Its not what we set out to do Its not the community we seek to build We want to create things that feel cutting edge -- not that seem out of touch with modern reality
cczona
Be conservative in what you do be liberal in what you accept from others
-Postels Law
Sunday February 24 13
[READ]
cczona
How do we bring modern realities into the data views logic
Sunday February 24 13
How DO we bring modern realities into the data views and logic We start at the schema
cczona
Sunday February 24 13
As developers were tugged in two directions keep the codebase manageable yet design for modern complexity
cczona
Get schemas into alignment
Sunday February 24 13
cczona
Mental Schema
bullSet of pre-conceived ideas
bullFramework for representing some aspect of the world
bullSystem of organizing amp perceiving new information
Sunday February 24 13
There are two kinds of schema [read]
cczona
Database Schema
bullStructure described in the databases language
bullBlueprint for database construction
bullDescribes how the real world is being modeled
Sunday February 24 13
Database schemas are basically the same thing Its a mental schema translated into blueprints for a database
cczona
create_table users force =gt true do |t| tstring username tstring email tstring passwordend
Sunday February 24 13
When you use Rails generate scaffold or Rails generate model it creates a migration Maybe you created something like this for instance Those migrations ultimately get translated into a unified schema to be used by the environments database
cczona
Sunday February 24 13
These are simply frontend manifestations of someones mental schema
cczona
Schemas are foundation for
expressing
things deeply intimate
Sunday February 24 13
cczona
Schemas are foundation for
expressing
self-image
Sunday February 24 13
cczona
Schemas are foundation for
expressing
identity
Sunday February 24 13
cczona
Schemas are foundation for
expressing
important relationships
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Database Normalization
Mirror real-world concepts and their interrelationships
Sunday February 24 13
What we lose track of is one of the core objectives of database normalization Were supposed to [read] When the database is in tension with peoples own real world -- then its not people who need to be flexible
cczona
Sunday February 24 13
Why IS this hard Because at first glance this stuff looks so easy Its just forms right Weve done those a million times before
But we get tripped up by some flawed premises
cczona
Gender is one of those things everyone thinks they understand but most people dont Like Inception
mdash Sam Killerman
Sunday February 24 13
First a premise that deeply personal stuff about humans can be reduced to lists
cczona
Hey this is just a system I can figure out easily is also a problem among engineers first diving into the stock market
mdashxkcd 592
Sunday February 24 13
Second assumptions that canonical lists for these exist Or are at least SURELY must be creatable
cczona
ltoption value=1gtMrltoptiongt
ltoption value=2gtMrsltoptiongt
ltoption value=3gtMissltoptiongt
ltoption value=4gtMsltoptiongt
ltoption value=5gtDrltoptiongt
ltoption value=6gtProfessorltoptiongt
ltoption value=7gtThe Rt Revd Drltoptiongt
ltoption value=8gtThe Most Revdltoptiongt
ltoption value=9gtThe Rt Revdltoptiongt
ltoption value=10gtThe Revd Canonlt
optiongt
ltoption value=11gtThe Revdltoptiongt
ltoption value=12gtThe Rt Revd
Professorltoptiongt
ltoption value=13gtThe Venltoptiongt
ltoption value=14gtThe Most Revd Drlt
optiongt
ltoption value=16gtRabbiltoptiongt
ltoption value=17gtCanonltoptiongt
ltoption value=18gtDameltoptiongt
ltoption value=19gtChiefltoptiongt
ltoption value=20gtSisterltoptiongt
ltoption value=21gtReverendltoptiongt
ltoption value=22gtMajorltoptiongt
ltoption value=23gtOtherltoptiongt
ltoption value=24gtCllrltoptiongt
ltoption value=25gtSirltoptiongt
ltoption value=26gtRt Hon Lordltoptiongt
ltoption value=27gtRt Honltoptiongt
ltoption value=28gtThe Lord ltoptiongt
ltoption value=29gtViscountltoptiongt
ltoption value=30gtViscountessltoptiongt
ltoption value=31gtBaronessltoptiongt
ltoption value=32gtCaptainltoptiongt
ltoption value=33gtMasterltoptiongt
ltoption value=34gtVery Revdltoptiongt
ltoption value=35gtLadyltoptiongt
ltoption value=38gtMPltoptiongt
ltoption value=39gtKing of Kings and Lord
of Lordsltoptiongt
ltoption value=40gtConquering Lion of the
Tribe of Judahltoptiongt
ltoption value=41gtElect of God and Light
of this Worldltoptiongt
ltoption value=42gtHis Own Divine
Majestyltoptiongt
ltoption value=43gtFirst Ancient King of
Creationltoptiongt
ltoption value=44gtKing Alphaltoptiongt
ltoption value=45gtQueen Omegaltoptiongt
ltoption value=46gtBeginning with Our End
and First with Our Lastltoptiongt
ltoption value=47gtProtector of All Human
Faithltoptiongt
ltoption value=48gtRuler of the
Universeltoptiongt
ltoption value=49gtDudeltoptiongt
Sunday February 24 13
And the third problem is our faith that the first two problems here can be easily solved Just add more list items
cczona
Seeing more than 20 uncategorized options can be bewilderinghellip
mdashSmashing Magazine
Sunday February 24 13
So thats not gonna work
Also it risks looking like a dumbass
Social Networks
Sunday February 24 13
So heres the next flawed premise that we intuitively understand the nature of social networks
Stepping aside from how social networking has come to be implemented as technology -- what IS a social network What is it in purely human terms
cczona
Social network
Individuals and the dyadic ties between them
Interactions within a social group of exactly two people
Sunday February 24 13
[slide] Thats the real life that our apps are meant to replicate and build upon One-on-one As personal as our social selves get In social identity is a dependency
cczona
Developer amp user are in dyad too
How can I be better 11 partner with this person whohellip
bull is a current user
bull I hope will become a user
Sunday February 24 13
As developers we build -- or break -- community with each line of code What 11 relationships are we fostering between the individual and the app What relationships are we inhibiting between individuals
cczona
In real life
I know your personhood better than you
sounds presumptuous
Sunday February 24 13
cczona
In real life
sounds presumptuous
Sunday February 24 13
cczona
In real life
Who you are is invalid
sounds arrogant
Sunday February 24 13
cczona
In real life
sounds arrogant
Sunday February 24 13
cczona
In real life
Your existence isnt possible
sounds clueless
Sunday February 24 13
cczona
In real life
sounds clueless
Sunday February 24 13
cczona
Sunday February 24 13
Its not what we set out to do Its not the community we seek to build We want to create things that feel cutting edge -- not that seem out of touch with modern reality
cczona
Be conservative in what you do be liberal in what you accept from others
-Postels Law
Sunday February 24 13
[READ]
cczona
How do we bring modern realities into the data views logic
Sunday February 24 13
How DO we bring modern realities into the data views and logic We start at the schema
cczona
Sunday February 24 13
As developers were tugged in two directions keep the codebase manageable yet design for modern complexity
cczona
Get schemas into alignment
Sunday February 24 13
cczona
Mental Schema
bullSet of pre-conceived ideas
bullFramework for representing some aspect of the world
bullSystem of organizing amp perceiving new information
Sunday February 24 13
There are two kinds of schema [read]
cczona
Database Schema
bullStructure described in the databases language
bullBlueprint for database construction
bullDescribes how the real world is being modeled
Sunday February 24 13
Database schemas are basically the same thing Its a mental schema translated into blueprints for a database
cczona
create_table users force =gt true do |t| tstring username tstring email tstring passwordend
Sunday February 24 13
When you use Rails generate scaffold or Rails generate model it creates a migration Maybe you created something like this for instance Those migrations ultimately get translated into a unified schema to be used by the environments database
cczona
Sunday February 24 13
These are simply frontend manifestations of someones mental schema
cczona
Schemas are foundation for
expressing
things deeply intimate
Sunday February 24 13
cczona
Schemas are foundation for
expressing
self-image
Sunday February 24 13
cczona
Schemas are foundation for
expressing
identity
Sunday February 24 13
cczona
Schemas are foundation for
expressing
important relationships
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Sunday February 24 13
Why IS this hard Because at first glance this stuff looks so easy Its just forms right Weve done those a million times before
But we get tripped up by some flawed premises
cczona
Gender is one of those things everyone thinks they understand but most people dont Like Inception
mdash Sam Killerman
Sunday February 24 13
First a premise that deeply personal stuff about humans can be reduced to lists
cczona
Hey this is just a system I can figure out easily is also a problem among engineers first diving into the stock market
mdashxkcd 592
Sunday February 24 13
Second assumptions that canonical lists for these exist Or are at least SURELY must be creatable
cczona
ltoption value=1gtMrltoptiongt
ltoption value=2gtMrsltoptiongt
ltoption value=3gtMissltoptiongt
ltoption value=4gtMsltoptiongt
ltoption value=5gtDrltoptiongt
ltoption value=6gtProfessorltoptiongt
ltoption value=7gtThe Rt Revd Drltoptiongt
ltoption value=8gtThe Most Revdltoptiongt
ltoption value=9gtThe Rt Revdltoptiongt
ltoption value=10gtThe Revd Canonlt
optiongt
ltoption value=11gtThe Revdltoptiongt
ltoption value=12gtThe Rt Revd
Professorltoptiongt
ltoption value=13gtThe Venltoptiongt
ltoption value=14gtThe Most Revd Drlt
optiongt
ltoption value=16gtRabbiltoptiongt
ltoption value=17gtCanonltoptiongt
ltoption value=18gtDameltoptiongt
ltoption value=19gtChiefltoptiongt
ltoption value=20gtSisterltoptiongt
ltoption value=21gtReverendltoptiongt
ltoption value=22gtMajorltoptiongt
ltoption value=23gtOtherltoptiongt
ltoption value=24gtCllrltoptiongt
ltoption value=25gtSirltoptiongt
ltoption value=26gtRt Hon Lordltoptiongt
ltoption value=27gtRt Honltoptiongt
ltoption value=28gtThe Lord ltoptiongt
ltoption value=29gtViscountltoptiongt
ltoption value=30gtViscountessltoptiongt
ltoption value=31gtBaronessltoptiongt
ltoption value=32gtCaptainltoptiongt
ltoption value=33gtMasterltoptiongt
ltoption value=34gtVery Revdltoptiongt
ltoption value=35gtLadyltoptiongt
ltoption value=38gtMPltoptiongt
ltoption value=39gtKing of Kings and Lord
of Lordsltoptiongt
ltoption value=40gtConquering Lion of the
Tribe of Judahltoptiongt
ltoption value=41gtElect of God and Light
of this Worldltoptiongt
ltoption value=42gtHis Own Divine
Majestyltoptiongt
ltoption value=43gtFirst Ancient King of
Creationltoptiongt
ltoption value=44gtKing Alphaltoptiongt
ltoption value=45gtQueen Omegaltoptiongt
ltoption value=46gtBeginning with Our End
and First with Our Lastltoptiongt
ltoption value=47gtProtector of All Human
Faithltoptiongt
ltoption value=48gtRuler of the
Universeltoptiongt
ltoption value=49gtDudeltoptiongt
Sunday February 24 13
And the third problem is our faith that the first two problems here can be easily solved Just add more list items
cczona
Seeing more than 20 uncategorized options can be bewilderinghellip
mdashSmashing Magazine
Sunday February 24 13
So thats not gonna work
Also it risks looking like a dumbass
Social Networks
Sunday February 24 13
So heres the next flawed premise that we intuitively understand the nature of social networks
Stepping aside from how social networking has come to be implemented as technology -- what IS a social network What is it in purely human terms
cczona
Social network
Individuals and the dyadic ties between them
Interactions within a social group of exactly two people
Sunday February 24 13
[slide] Thats the real life that our apps are meant to replicate and build upon One-on-one As personal as our social selves get In social identity is a dependency
cczona
Developer amp user are in dyad too
How can I be better 11 partner with this person whohellip
bull is a current user
bull I hope will become a user
Sunday February 24 13
As developers we build -- or break -- community with each line of code What 11 relationships are we fostering between the individual and the app What relationships are we inhibiting between individuals
cczona
In real life
I know your personhood better than you
sounds presumptuous
Sunday February 24 13
cczona
In real life
sounds presumptuous
Sunday February 24 13
cczona
In real life
Who you are is invalid
sounds arrogant
Sunday February 24 13
cczona
In real life
sounds arrogant
Sunday February 24 13
cczona
In real life
Your existence isnt possible
sounds clueless
Sunday February 24 13
cczona
In real life
sounds clueless
Sunday February 24 13
cczona
Sunday February 24 13
Its not what we set out to do Its not the community we seek to build We want to create things that feel cutting edge -- not that seem out of touch with modern reality
cczona
Be conservative in what you do be liberal in what you accept from others
-Postels Law
Sunday February 24 13
[READ]
cczona
How do we bring modern realities into the data views logic
Sunday February 24 13
How DO we bring modern realities into the data views and logic We start at the schema
cczona
Sunday February 24 13
As developers were tugged in two directions keep the codebase manageable yet design for modern complexity
cczona
Get schemas into alignment
Sunday February 24 13
cczona
Mental Schema
bullSet of pre-conceived ideas
bullFramework for representing some aspect of the world
bullSystem of organizing amp perceiving new information
Sunday February 24 13
There are two kinds of schema [read]
cczona
Database Schema
bullStructure described in the databases language
bullBlueprint for database construction
bullDescribes how the real world is being modeled
Sunday February 24 13
Database schemas are basically the same thing Its a mental schema translated into blueprints for a database
cczona
create_table users force =gt true do |t| tstring username tstring email tstring passwordend
Sunday February 24 13
When you use Rails generate scaffold or Rails generate model it creates a migration Maybe you created something like this for instance Those migrations ultimately get translated into a unified schema to be used by the environments database
cczona
Sunday February 24 13
These are simply frontend manifestations of someones mental schema
cczona
Schemas are foundation for
expressing
things deeply intimate
Sunday February 24 13
cczona
Schemas are foundation for
expressing
self-image
Sunday February 24 13
cczona
Schemas are foundation for
expressing
identity
Sunday February 24 13
cczona
Schemas are foundation for
expressing
important relationships
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Gender is one of those things everyone thinks they understand but most people dont Like Inception
mdash Sam Killerman
Sunday February 24 13
First a premise that deeply personal stuff about humans can be reduced to lists
cczona
Hey this is just a system I can figure out easily is also a problem among engineers first diving into the stock market
mdashxkcd 592
Sunday February 24 13
Second assumptions that canonical lists for these exist Or are at least SURELY must be creatable
cczona
ltoption value=1gtMrltoptiongt
ltoption value=2gtMrsltoptiongt
ltoption value=3gtMissltoptiongt
ltoption value=4gtMsltoptiongt
ltoption value=5gtDrltoptiongt
ltoption value=6gtProfessorltoptiongt
ltoption value=7gtThe Rt Revd Drltoptiongt
ltoption value=8gtThe Most Revdltoptiongt
ltoption value=9gtThe Rt Revdltoptiongt
ltoption value=10gtThe Revd Canonlt
optiongt
ltoption value=11gtThe Revdltoptiongt
ltoption value=12gtThe Rt Revd
Professorltoptiongt
ltoption value=13gtThe Venltoptiongt
ltoption value=14gtThe Most Revd Drlt
optiongt
ltoption value=16gtRabbiltoptiongt
ltoption value=17gtCanonltoptiongt
ltoption value=18gtDameltoptiongt
ltoption value=19gtChiefltoptiongt
ltoption value=20gtSisterltoptiongt
ltoption value=21gtReverendltoptiongt
ltoption value=22gtMajorltoptiongt
ltoption value=23gtOtherltoptiongt
ltoption value=24gtCllrltoptiongt
ltoption value=25gtSirltoptiongt
ltoption value=26gtRt Hon Lordltoptiongt
ltoption value=27gtRt Honltoptiongt
ltoption value=28gtThe Lord ltoptiongt
ltoption value=29gtViscountltoptiongt
ltoption value=30gtViscountessltoptiongt
ltoption value=31gtBaronessltoptiongt
ltoption value=32gtCaptainltoptiongt
ltoption value=33gtMasterltoptiongt
ltoption value=34gtVery Revdltoptiongt
ltoption value=35gtLadyltoptiongt
ltoption value=38gtMPltoptiongt
ltoption value=39gtKing of Kings and Lord
of Lordsltoptiongt
ltoption value=40gtConquering Lion of the
Tribe of Judahltoptiongt
ltoption value=41gtElect of God and Light
of this Worldltoptiongt
ltoption value=42gtHis Own Divine
Majestyltoptiongt
ltoption value=43gtFirst Ancient King of
Creationltoptiongt
ltoption value=44gtKing Alphaltoptiongt
ltoption value=45gtQueen Omegaltoptiongt
ltoption value=46gtBeginning with Our End
and First with Our Lastltoptiongt
ltoption value=47gtProtector of All Human
Faithltoptiongt
ltoption value=48gtRuler of the
Universeltoptiongt
ltoption value=49gtDudeltoptiongt
Sunday February 24 13
And the third problem is our faith that the first two problems here can be easily solved Just add more list items
cczona
Seeing more than 20 uncategorized options can be bewilderinghellip
mdashSmashing Magazine
Sunday February 24 13
So thats not gonna work
Also it risks looking like a dumbass
Social Networks
Sunday February 24 13
So heres the next flawed premise that we intuitively understand the nature of social networks
Stepping aside from how social networking has come to be implemented as technology -- what IS a social network What is it in purely human terms
cczona
Social network
Individuals and the dyadic ties between them
Interactions within a social group of exactly two people
Sunday February 24 13
[slide] Thats the real life that our apps are meant to replicate and build upon One-on-one As personal as our social selves get In social identity is a dependency
cczona
Developer amp user are in dyad too
How can I be better 11 partner with this person whohellip
bull is a current user
bull I hope will become a user
Sunday February 24 13
As developers we build -- or break -- community with each line of code What 11 relationships are we fostering between the individual and the app What relationships are we inhibiting between individuals
cczona
In real life
I know your personhood better than you
sounds presumptuous
Sunday February 24 13
cczona
In real life
sounds presumptuous
Sunday February 24 13
cczona
In real life
Who you are is invalid
sounds arrogant
Sunday February 24 13
cczona
In real life
sounds arrogant
Sunday February 24 13
cczona
In real life
Your existence isnt possible
sounds clueless
Sunday February 24 13
cczona
In real life
sounds clueless
Sunday February 24 13
cczona
Sunday February 24 13
Its not what we set out to do Its not the community we seek to build We want to create things that feel cutting edge -- not that seem out of touch with modern reality
cczona
Be conservative in what you do be liberal in what you accept from others
-Postels Law
Sunday February 24 13
[READ]
cczona
How do we bring modern realities into the data views logic
Sunday February 24 13
How DO we bring modern realities into the data views and logic We start at the schema
cczona
Sunday February 24 13
As developers were tugged in two directions keep the codebase manageable yet design for modern complexity
cczona
Get schemas into alignment
Sunday February 24 13
cczona
Mental Schema
bullSet of pre-conceived ideas
bullFramework for representing some aspect of the world
bullSystem of organizing amp perceiving new information
Sunday February 24 13
There are two kinds of schema [read]
cczona
Database Schema
bullStructure described in the databases language
bullBlueprint for database construction
bullDescribes how the real world is being modeled
Sunday February 24 13
Database schemas are basically the same thing Its a mental schema translated into blueprints for a database
cczona
create_table users force =gt true do |t| tstring username tstring email tstring passwordend
Sunday February 24 13
When you use Rails generate scaffold or Rails generate model it creates a migration Maybe you created something like this for instance Those migrations ultimately get translated into a unified schema to be used by the environments database
cczona
Sunday February 24 13
These are simply frontend manifestations of someones mental schema
cczona
Schemas are foundation for
expressing
things deeply intimate
Sunday February 24 13
cczona
Schemas are foundation for
expressing
self-image
Sunday February 24 13
cczona
Schemas are foundation for
expressing
identity
Sunday February 24 13
cczona
Schemas are foundation for
expressing
important relationships
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Hey this is just a system I can figure out easily is also a problem among engineers first diving into the stock market
mdashxkcd 592
Sunday February 24 13
Second assumptions that canonical lists for these exist Or are at least SURELY must be creatable
cczona
ltoption value=1gtMrltoptiongt
ltoption value=2gtMrsltoptiongt
ltoption value=3gtMissltoptiongt
ltoption value=4gtMsltoptiongt
ltoption value=5gtDrltoptiongt
ltoption value=6gtProfessorltoptiongt
ltoption value=7gtThe Rt Revd Drltoptiongt
ltoption value=8gtThe Most Revdltoptiongt
ltoption value=9gtThe Rt Revdltoptiongt
ltoption value=10gtThe Revd Canonlt
optiongt
ltoption value=11gtThe Revdltoptiongt
ltoption value=12gtThe Rt Revd
Professorltoptiongt
ltoption value=13gtThe Venltoptiongt
ltoption value=14gtThe Most Revd Drlt
optiongt
ltoption value=16gtRabbiltoptiongt
ltoption value=17gtCanonltoptiongt
ltoption value=18gtDameltoptiongt
ltoption value=19gtChiefltoptiongt
ltoption value=20gtSisterltoptiongt
ltoption value=21gtReverendltoptiongt
ltoption value=22gtMajorltoptiongt
ltoption value=23gtOtherltoptiongt
ltoption value=24gtCllrltoptiongt
ltoption value=25gtSirltoptiongt
ltoption value=26gtRt Hon Lordltoptiongt
ltoption value=27gtRt Honltoptiongt
ltoption value=28gtThe Lord ltoptiongt
ltoption value=29gtViscountltoptiongt
ltoption value=30gtViscountessltoptiongt
ltoption value=31gtBaronessltoptiongt
ltoption value=32gtCaptainltoptiongt
ltoption value=33gtMasterltoptiongt
ltoption value=34gtVery Revdltoptiongt
ltoption value=35gtLadyltoptiongt
ltoption value=38gtMPltoptiongt
ltoption value=39gtKing of Kings and Lord
of Lordsltoptiongt
ltoption value=40gtConquering Lion of the
Tribe of Judahltoptiongt
ltoption value=41gtElect of God and Light
of this Worldltoptiongt
ltoption value=42gtHis Own Divine
Majestyltoptiongt
ltoption value=43gtFirst Ancient King of
Creationltoptiongt
ltoption value=44gtKing Alphaltoptiongt
ltoption value=45gtQueen Omegaltoptiongt
ltoption value=46gtBeginning with Our End
and First with Our Lastltoptiongt
ltoption value=47gtProtector of All Human
Faithltoptiongt
ltoption value=48gtRuler of the
Universeltoptiongt
ltoption value=49gtDudeltoptiongt
Sunday February 24 13
And the third problem is our faith that the first two problems here can be easily solved Just add more list items
cczona
Seeing more than 20 uncategorized options can be bewilderinghellip
mdashSmashing Magazine
Sunday February 24 13
So thats not gonna work
Also it risks looking like a dumbass
Social Networks
Sunday February 24 13
So heres the next flawed premise that we intuitively understand the nature of social networks
Stepping aside from how social networking has come to be implemented as technology -- what IS a social network What is it in purely human terms
cczona
Social network
Individuals and the dyadic ties between them
Interactions within a social group of exactly two people
Sunday February 24 13
[slide] Thats the real life that our apps are meant to replicate and build upon One-on-one As personal as our social selves get In social identity is a dependency
cczona
Developer amp user are in dyad too
How can I be better 11 partner with this person whohellip
bull is a current user
bull I hope will become a user
Sunday February 24 13
As developers we build -- or break -- community with each line of code What 11 relationships are we fostering between the individual and the app What relationships are we inhibiting between individuals
cczona
In real life
I know your personhood better than you
sounds presumptuous
Sunday February 24 13
cczona
In real life
sounds presumptuous
Sunday February 24 13
cczona
In real life
Who you are is invalid
sounds arrogant
Sunday February 24 13
cczona
In real life
sounds arrogant
Sunday February 24 13
cczona
In real life
Your existence isnt possible
sounds clueless
Sunday February 24 13
cczona
In real life
sounds clueless
Sunday February 24 13
cczona
Sunday February 24 13
Its not what we set out to do Its not the community we seek to build We want to create things that feel cutting edge -- not that seem out of touch with modern reality
cczona
Be conservative in what you do be liberal in what you accept from others
-Postels Law
Sunday February 24 13
[READ]
cczona
How do we bring modern realities into the data views logic
Sunday February 24 13
How DO we bring modern realities into the data views and logic We start at the schema
cczona
Sunday February 24 13
As developers were tugged in two directions keep the codebase manageable yet design for modern complexity
cczona
Get schemas into alignment
Sunday February 24 13
cczona
Mental Schema
bullSet of pre-conceived ideas
bullFramework for representing some aspect of the world
bullSystem of organizing amp perceiving new information
Sunday February 24 13
There are two kinds of schema [read]
cczona
Database Schema
bullStructure described in the databases language
bullBlueprint for database construction
bullDescribes how the real world is being modeled
Sunday February 24 13
Database schemas are basically the same thing Its a mental schema translated into blueprints for a database
cczona
create_table users force =gt true do |t| tstring username tstring email tstring passwordend
Sunday February 24 13
When you use Rails generate scaffold or Rails generate model it creates a migration Maybe you created something like this for instance Those migrations ultimately get translated into a unified schema to be used by the environments database
cczona
Sunday February 24 13
These are simply frontend manifestations of someones mental schema
cczona
Schemas are foundation for
expressing
things deeply intimate
Sunday February 24 13
cczona
Schemas are foundation for
expressing
self-image
Sunday February 24 13
cczona
Schemas are foundation for
expressing
identity
Sunday February 24 13
cczona
Schemas are foundation for
expressing
important relationships
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
ltoption value=1gtMrltoptiongt
ltoption value=2gtMrsltoptiongt
ltoption value=3gtMissltoptiongt
ltoption value=4gtMsltoptiongt
ltoption value=5gtDrltoptiongt
ltoption value=6gtProfessorltoptiongt
ltoption value=7gtThe Rt Revd Drltoptiongt
ltoption value=8gtThe Most Revdltoptiongt
ltoption value=9gtThe Rt Revdltoptiongt
ltoption value=10gtThe Revd Canonlt
optiongt
ltoption value=11gtThe Revdltoptiongt
ltoption value=12gtThe Rt Revd
Professorltoptiongt
ltoption value=13gtThe Venltoptiongt
ltoption value=14gtThe Most Revd Drlt
optiongt
ltoption value=16gtRabbiltoptiongt
ltoption value=17gtCanonltoptiongt
ltoption value=18gtDameltoptiongt
ltoption value=19gtChiefltoptiongt
ltoption value=20gtSisterltoptiongt
ltoption value=21gtReverendltoptiongt
ltoption value=22gtMajorltoptiongt
ltoption value=23gtOtherltoptiongt
ltoption value=24gtCllrltoptiongt
ltoption value=25gtSirltoptiongt
ltoption value=26gtRt Hon Lordltoptiongt
ltoption value=27gtRt Honltoptiongt
ltoption value=28gtThe Lord ltoptiongt
ltoption value=29gtViscountltoptiongt
ltoption value=30gtViscountessltoptiongt
ltoption value=31gtBaronessltoptiongt
ltoption value=32gtCaptainltoptiongt
ltoption value=33gtMasterltoptiongt
ltoption value=34gtVery Revdltoptiongt
ltoption value=35gtLadyltoptiongt
ltoption value=38gtMPltoptiongt
ltoption value=39gtKing of Kings and Lord
of Lordsltoptiongt
ltoption value=40gtConquering Lion of the
Tribe of Judahltoptiongt
ltoption value=41gtElect of God and Light
of this Worldltoptiongt
ltoption value=42gtHis Own Divine
Majestyltoptiongt
ltoption value=43gtFirst Ancient King of
Creationltoptiongt
ltoption value=44gtKing Alphaltoptiongt
ltoption value=45gtQueen Omegaltoptiongt
ltoption value=46gtBeginning with Our End
and First with Our Lastltoptiongt
ltoption value=47gtProtector of All Human
Faithltoptiongt
ltoption value=48gtRuler of the
Universeltoptiongt
ltoption value=49gtDudeltoptiongt
Sunday February 24 13
And the third problem is our faith that the first two problems here can be easily solved Just add more list items
cczona
Seeing more than 20 uncategorized options can be bewilderinghellip
mdashSmashing Magazine
Sunday February 24 13
So thats not gonna work
Also it risks looking like a dumbass
Social Networks
Sunday February 24 13
So heres the next flawed premise that we intuitively understand the nature of social networks
Stepping aside from how social networking has come to be implemented as technology -- what IS a social network What is it in purely human terms
cczona
Social network
Individuals and the dyadic ties between them
Interactions within a social group of exactly two people
Sunday February 24 13
[slide] Thats the real life that our apps are meant to replicate and build upon One-on-one As personal as our social selves get In social identity is a dependency
cczona
Developer amp user are in dyad too
How can I be better 11 partner with this person whohellip
bull is a current user
bull I hope will become a user
Sunday February 24 13
As developers we build -- or break -- community with each line of code What 11 relationships are we fostering between the individual and the app What relationships are we inhibiting between individuals
cczona
In real life
I know your personhood better than you
sounds presumptuous
Sunday February 24 13
cczona
In real life
sounds presumptuous
Sunday February 24 13
cczona
In real life
Who you are is invalid
sounds arrogant
Sunday February 24 13
cczona
In real life
sounds arrogant
Sunday February 24 13
cczona
In real life
Your existence isnt possible
sounds clueless
Sunday February 24 13
cczona
In real life
sounds clueless
Sunday February 24 13
cczona
Sunday February 24 13
Its not what we set out to do Its not the community we seek to build We want to create things that feel cutting edge -- not that seem out of touch with modern reality
cczona
Be conservative in what you do be liberal in what you accept from others
-Postels Law
Sunday February 24 13
[READ]
cczona
How do we bring modern realities into the data views logic
Sunday February 24 13
How DO we bring modern realities into the data views and logic We start at the schema
cczona
Sunday February 24 13
As developers were tugged in two directions keep the codebase manageable yet design for modern complexity
cczona
Get schemas into alignment
Sunday February 24 13
cczona
Mental Schema
bullSet of pre-conceived ideas
bullFramework for representing some aspect of the world
bullSystem of organizing amp perceiving new information
Sunday February 24 13
There are two kinds of schema [read]
cczona
Database Schema
bullStructure described in the databases language
bullBlueprint for database construction
bullDescribes how the real world is being modeled
Sunday February 24 13
Database schemas are basically the same thing Its a mental schema translated into blueprints for a database
cczona
create_table users force =gt true do |t| tstring username tstring email tstring passwordend
Sunday February 24 13
When you use Rails generate scaffold or Rails generate model it creates a migration Maybe you created something like this for instance Those migrations ultimately get translated into a unified schema to be used by the environments database
cczona
Sunday February 24 13
These are simply frontend manifestations of someones mental schema
cczona
Schemas are foundation for
expressing
things deeply intimate
Sunday February 24 13
cczona
Schemas are foundation for
expressing
self-image
Sunday February 24 13
cczona
Schemas are foundation for
expressing
identity
Sunday February 24 13
cczona
Schemas are foundation for
expressing
important relationships
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Seeing more than 20 uncategorized options can be bewilderinghellip
mdashSmashing Magazine
Sunday February 24 13
So thats not gonna work
Also it risks looking like a dumbass
Social Networks
Sunday February 24 13
So heres the next flawed premise that we intuitively understand the nature of social networks
Stepping aside from how social networking has come to be implemented as technology -- what IS a social network What is it in purely human terms
cczona
Social network
Individuals and the dyadic ties between them
Interactions within a social group of exactly two people
Sunday February 24 13
[slide] Thats the real life that our apps are meant to replicate and build upon One-on-one As personal as our social selves get In social identity is a dependency
cczona
Developer amp user are in dyad too
How can I be better 11 partner with this person whohellip
bull is a current user
bull I hope will become a user
Sunday February 24 13
As developers we build -- or break -- community with each line of code What 11 relationships are we fostering between the individual and the app What relationships are we inhibiting between individuals
cczona
In real life
I know your personhood better than you
sounds presumptuous
Sunday February 24 13
cczona
In real life
sounds presumptuous
Sunday February 24 13
cczona
In real life
Who you are is invalid
sounds arrogant
Sunday February 24 13
cczona
In real life
sounds arrogant
Sunday February 24 13
cczona
In real life
Your existence isnt possible
sounds clueless
Sunday February 24 13
cczona
In real life
sounds clueless
Sunday February 24 13
cczona
Sunday February 24 13
Its not what we set out to do Its not the community we seek to build We want to create things that feel cutting edge -- not that seem out of touch with modern reality
cczona
Be conservative in what you do be liberal in what you accept from others
-Postels Law
Sunday February 24 13
[READ]
cczona
How do we bring modern realities into the data views logic
Sunday February 24 13
How DO we bring modern realities into the data views and logic We start at the schema
cczona
Sunday February 24 13
As developers were tugged in two directions keep the codebase manageable yet design for modern complexity
cczona
Get schemas into alignment
Sunday February 24 13
cczona
Mental Schema
bullSet of pre-conceived ideas
bullFramework for representing some aspect of the world
bullSystem of organizing amp perceiving new information
Sunday February 24 13
There are two kinds of schema [read]
cczona
Database Schema
bullStructure described in the databases language
bullBlueprint for database construction
bullDescribes how the real world is being modeled
Sunday February 24 13
Database schemas are basically the same thing Its a mental schema translated into blueprints for a database
cczona
create_table users force =gt true do |t| tstring username tstring email tstring passwordend
Sunday February 24 13
When you use Rails generate scaffold or Rails generate model it creates a migration Maybe you created something like this for instance Those migrations ultimately get translated into a unified schema to be used by the environments database
cczona
Sunday February 24 13
These are simply frontend manifestations of someones mental schema
cczona
Schemas are foundation for
expressing
things deeply intimate
Sunday February 24 13
cczona
Schemas are foundation for
expressing
self-image
Sunday February 24 13
cczona
Schemas are foundation for
expressing
identity
Sunday February 24 13
cczona
Schemas are foundation for
expressing
important relationships
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
Social Networks
Sunday February 24 13
So heres the next flawed premise that we intuitively understand the nature of social networks
Stepping aside from how social networking has come to be implemented as technology -- what IS a social network What is it in purely human terms
cczona
Social network
Individuals and the dyadic ties between them
Interactions within a social group of exactly two people
Sunday February 24 13
[slide] Thats the real life that our apps are meant to replicate and build upon One-on-one As personal as our social selves get In social identity is a dependency
cczona
Developer amp user are in dyad too
How can I be better 11 partner with this person whohellip
bull is a current user
bull I hope will become a user
Sunday February 24 13
As developers we build -- or break -- community with each line of code What 11 relationships are we fostering between the individual and the app What relationships are we inhibiting between individuals
cczona
In real life
I know your personhood better than you
sounds presumptuous
Sunday February 24 13
cczona
In real life
sounds presumptuous
Sunday February 24 13
cczona
In real life
Who you are is invalid
sounds arrogant
Sunday February 24 13
cczona
In real life
sounds arrogant
Sunday February 24 13
cczona
In real life
Your existence isnt possible
sounds clueless
Sunday February 24 13
cczona
In real life
sounds clueless
Sunday February 24 13
cczona
Sunday February 24 13
Its not what we set out to do Its not the community we seek to build We want to create things that feel cutting edge -- not that seem out of touch with modern reality
cczona
Be conservative in what you do be liberal in what you accept from others
-Postels Law
Sunday February 24 13
[READ]
cczona
How do we bring modern realities into the data views logic
Sunday February 24 13
How DO we bring modern realities into the data views and logic We start at the schema
cczona
Sunday February 24 13
As developers were tugged in two directions keep the codebase manageable yet design for modern complexity
cczona
Get schemas into alignment
Sunday February 24 13
cczona
Mental Schema
bullSet of pre-conceived ideas
bullFramework for representing some aspect of the world
bullSystem of organizing amp perceiving new information
Sunday February 24 13
There are two kinds of schema [read]
cczona
Database Schema
bullStructure described in the databases language
bullBlueprint for database construction
bullDescribes how the real world is being modeled
Sunday February 24 13
Database schemas are basically the same thing Its a mental schema translated into blueprints for a database
cczona
create_table users force =gt true do |t| tstring username tstring email tstring passwordend
Sunday February 24 13
When you use Rails generate scaffold or Rails generate model it creates a migration Maybe you created something like this for instance Those migrations ultimately get translated into a unified schema to be used by the environments database
cczona
Sunday February 24 13
These are simply frontend manifestations of someones mental schema
cczona
Schemas are foundation for
expressing
things deeply intimate
Sunday February 24 13
cczona
Schemas are foundation for
expressing
self-image
Sunday February 24 13
cczona
Schemas are foundation for
expressing
identity
Sunday February 24 13
cczona
Schemas are foundation for
expressing
important relationships
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Social network
Individuals and the dyadic ties between them
Interactions within a social group of exactly two people
Sunday February 24 13
[slide] Thats the real life that our apps are meant to replicate and build upon One-on-one As personal as our social selves get In social identity is a dependency
cczona
Developer amp user are in dyad too
How can I be better 11 partner with this person whohellip
bull is a current user
bull I hope will become a user
Sunday February 24 13
As developers we build -- or break -- community with each line of code What 11 relationships are we fostering between the individual and the app What relationships are we inhibiting between individuals
cczona
In real life
I know your personhood better than you
sounds presumptuous
Sunday February 24 13
cczona
In real life
sounds presumptuous
Sunday February 24 13
cczona
In real life
Who you are is invalid
sounds arrogant
Sunday February 24 13
cczona
In real life
sounds arrogant
Sunday February 24 13
cczona
In real life
Your existence isnt possible
sounds clueless
Sunday February 24 13
cczona
In real life
sounds clueless
Sunday February 24 13
cczona
Sunday February 24 13
Its not what we set out to do Its not the community we seek to build We want to create things that feel cutting edge -- not that seem out of touch with modern reality
cczona
Be conservative in what you do be liberal in what you accept from others
-Postels Law
Sunday February 24 13
[READ]
cczona
How do we bring modern realities into the data views logic
Sunday February 24 13
How DO we bring modern realities into the data views and logic We start at the schema
cczona
Sunday February 24 13
As developers were tugged in two directions keep the codebase manageable yet design for modern complexity
cczona
Get schemas into alignment
Sunday February 24 13
cczona
Mental Schema
bullSet of pre-conceived ideas
bullFramework for representing some aspect of the world
bullSystem of organizing amp perceiving new information
Sunday February 24 13
There are two kinds of schema [read]
cczona
Database Schema
bullStructure described in the databases language
bullBlueprint for database construction
bullDescribes how the real world is being modeled
Sunday February 24 13
Database schemas are basically the same thing Its a mental schema translated into blueprints for a database
cczona
create_table users force =gt true do |t| tstring username tstring email tstring passwordend
Sunday February 24 13
When you use Rails generate scaffold or Rails generate model it creates a migration Maybe you created something like this for instance Those migrations ultimately get translated into a unified schema to be used by the environments database
cczona
Sunday February 24 13
These are simply frontend manifestations of someones mental schema
cczona
Schemas are foundation for
expressing
things deeply intimate
Sunday February 24 13
cczona
Schemas are foundation for
expressing
self-image
Sunday February 24 13
cczona
Schemas are foundation for
expressing
identity
Sunday February 24 13
cczona
Schemas are foundation for
expressing
important relationships
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Developer amp user are in dyad too
How can I be better 11 partner with this person whohellip
bull is a current user
bull I hope will become a user
Sunday February 24 13
As developers we build -- or break -- community with each line of code What 11 relationships are we fostering between the individual and the app What relationships are we inhibiting between individuals
cczona
In real life
I know your personhood better than you
sounds presumptuous
Sunday February 24 13
cczona
In real life
sounds presumptuous
Sunday February 24 13
cczona
In real life
Who you are is invalid
sounds arrogant
Sunday February 24 13
cczona
In real life
sounds arrogant
Sunday February 24 13
cczona
In real life
Your existence isnt possible
sounds clueless
Sunday February 24 13
cczona
In real life
sounds clueless
Sunday February 24 13
cczona
Sunday February 24 13
Its not what we set out to do Its not the community we seek to build We want to create things that feel cutting edge -- not that seem out of touch with modern reality
cczona
Be conservative in what you do be liberal in what you accept from others
-Postels Law
Sunday February 24 13
[READ]
cczona
How do we bring modern realities into the data views logic
Sunday February 24 13
How DO we bring modern realities into the data views and logic We start at the schema
cczona
Sunday February 24 13
As developers were tugged in two directions keep the codebase manageable yet design for modern complexity
cczona
Get schemas into alignment
Sunday February 24 13
cczona
Mental Schema
bullSet of pre-conceived ideas
bullFramework for representing some aspect of the world
bullSystem of organizing amp perceiving new information
Sunday February 24 13
There are two kinds of schema [read]
cczona
Database Schema
bullStructure described in the databases language
bullBlueprint for database construction
bullDescribes how the real world is being modeled
Sunday February 24 13
Database schemas are basically the same thing Its a mental schema translated into blueprints for a database
cczona
create_table users force =gt true do |t| tstring username tstring email tstring passwordend
Sunday February 24 13
When you use Rails generate scaffold or Rails generate model it creates a migration Maybe you created something like this for instance Those migrations ultimately get translated into a unified schema to be used by the environments database
cczona
Sunday February 24 13
These are simply frontend manifestations of someones mental schema
cczona
Schemas are foundation for
expressing
things deeply intimate
Sunday February 24 13
cczona
Schemas are foundation for
expressing
self-image
Sunday February 24 13
cczona
Schemas are foundation for
expressing
identity
Sunday February 24 13
cczona
Schemas are foundation for
expressing
important relationships
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
In real life
I know your personhood better than you
sounds presumptuous
Sunday February 24 13
cczona
In real life
sounds presumptuous
Sunday February 24 13
cczona
In real life
Who you are is invalid
sounds arrogant
Sunday February 24 13
cczona
In real life
sounds arrogant
Sunday February 24 13
cczona
In real life
Your existence isnt possible
sounds clueless
Sunday February 24 13
cczona
In real life
sounds clueless
Sunday February 24 13
cczona
Sunday February 24 13
Its not what we set out to do Its not the community we seek to build We want to create things that feel cutting edge -- not that seem out of touch with modern reality
cczona
Be conservative in what you do be liberal in what you accept from others
-Postels Law
Sunday February 24 13
[READ]
cczona
How do we bring modern realities into the data views logic
Sunday February 24 13
How DO we bring modern realities into the data views and logic We start at the schema
cczona
Sunday February 24 13
As developers were tugged in two directions keep the codebase manageable yet design for modern complexity
cczona
Get schemas into alignment
Sunday February 24 13
cczona
Mental Schema
bullSet of pre-conceived ideas
bullFramework for representing some aspect of the world
bullSystem of organizing amp perceiving new information
Sunday February 24 13
There are two kinds of schema [read]
cczona
Database Schema
bullStructure described in the databases language
bullBlueprint for database construction
bullDescribes how the real world is being modeled
Sunday February 24 13
Database schemas are basically the same thing Its a mental schema translated into blueprints for a database
cczona
create_table users force =gt true do |t| tstring username tstring email tstring passwordend
Sunday February 24 13
When you use Rails generate scaffold or Rails generate model it creates a migration Maybe you created something like this for instance Those migrations ultimately get translated into a unified schema to be used by the environments database
cczona
Sunday February 24 13
These are simply frontend manifestations of someones mental schema
cczona
Schemas are foundation for
expressing
things deeply intimate
Sunday February 24 13
cczona
Schemas are foundation for
expressing
self-image
Sunday February 24 13
cczona
Schemas are foundation for
expressing
identity
Sunday February 24 13
cczona
Schemas are foundation for
expressing
important relationships
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
In real life
sounds presumptuous
Sunday February 24 13
cczona
In real life
Who you are is invalid
sounds arrogant
Sunday February 24 13
cczona
In real life
sounds arrogant
Sunday February 24 13
cczona
In real life
Your existence isnt possible
sounds clueless
Sunday February 24 13
cczona
In real life
sounds clueless
Sunday February 24 13
cczona
Sunday February 24 13
Its not what we set out to do Its not the community we seek to build We want to create things that feel cutting edge -- not that seem out of touch with modern reality
cczona
Be conservative in what you do be liberal in what you accept from others
-Postels Law
Sunday February 24 13
[READ]
cczona
How do we bring modern realities into the data views logic
Sunday February 24 13
How DO we bring modern realities into the data views and logic We start at the schema
cczona
Sunday February 24 13
As developers were tugged in two directions keep the codebase manageable yet design for modern complexity
cczona
Get schemas into alignment
Sunday February 24 13
cczona
Mental Schema
bullSet of pre-conceived ideas
bullFramework for representing some aspect of the world
bullSystem of organizing amp perceiving new information
Sunday February 24 13
There are two kinds of schema [read]
cczona
Database Schema
bullStructure described in the databases language
bullBlueprint for database construction
bullDescribes how the real world is being modeled
Sunday February 24 13
Database schemas are basically the same thing Its a mental schema translated into blueprints for a database
cczona
create_table users force =gt true do |t| tstring username tstring email tstring passwordend
Sunday February 24 13
When you use Rails generate scaffold or Rails generate model it creates a migration Maybe you created something like this for instance Those migrations ultimately get translated into a unified schema to be used by the environments database
cczona
Sunday February 24 13
These are simply frontend manifestations of someones mental schema
cczona
Schemas are foundation for
expressing
things deeply intimate
Sunday February 24 13
cczona
Schemas are foundation for
expressing
self-image
Sunday February 24 13
cczona
Schemas are foundation for
expressing
identity
Sunday February 24 13
cczona
Schemas are foundation for
expressing
important relationships
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
In real life
Who you are is invalid
sounds arrogant
Sunday February 24 13
cczona
In real life
sounds arrogant
Sunday February 24 13
cczona
In real life
Your existence isnt possible
sounds clueless
Sunday February 24 13
cczona
In real life
sounds clueless
Sunday February 24 13
cczona
Sunday February 24 13
Its not what we set out to do Its not the community we seek to build We want to create things that feel cutting edge -- not that seem out of touch with modern reality
cczona
Be conservative in what you do be liberal in what you accept from others
-Postels Law
Sunday February 24 13
[READ]
cczona
How do we bring modern realities into the data views logic
Sunday February 24 13
How DO we bring modern realities into the data views and logic We start at the schema
cczona
Sunday February 24 13
As developers were tugged in two directions keep the codebase manageable yet design for modern complexity
cczona
Get schemas into alignment
Sunday February 24 13
cczona
Mental Schema
bullSet of pre-conceived ideas
bullFramework for representing some aspect of the world
bullSystem of organizing amp perceiving new information
Sunday February 24 13
There are two kinds of schema [read]
cczona
Database Schema
bullStructure described in the databases language
bullBlueprint for database construction
bullDescribes how the real world is being modeled
Sunday February 24 13
Database schemas are basically the same thing Its a mental schema translated into blueprints for a database
cczona
create_table users force =gt true do |t| tstring username tstring email tstring passwordend
Sunday February 24 13
When you use Rails generate scaffold or Rails generate model it creates a migration Maybe you created something like this for instance Those migrations ultimately get translated into a unified schema to be used by the environments database
cczona
Sunday February 24 13
These are simply frontend manifestations of someones mental schema
cczona
Schemas are foundation for
expressing
things deeply intimate
Sunday February 24 13
cczona
Schemas are foundation for
expressing
self-image
Sunday February 24 13
cczona
Schemas are foundation for
expressing
identity
Sunday February 24 13
cczona
Schemas are foundation for
expressing
important relationships
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
In real life
sounds arrogant
Sunday February 24 13
cczona
In real life
Your existence isnt possible
sounds clueless
Sunday February 24 13
cczona
In real life
sounds clueless
Sunday February 24 13
cczona
Sunday February 24 13
Its not what we set out to do Its not the community we seek to build We want to create things that feel cutting edge -- not that seem out of touch with modern reality
cczona
Be conservative in what you do be liberal in what you accept from others
-Postels Law
Sunday February 24 13
[READ]
cczona
How do we bring modern realities into the data views logic
Sunday February 24 13
How DO we bring modern realities into the data views and logic We start at the schema
cczona
Sunday February 24 13
As developers were tugged in two directions keep the codebase manageable yet design for modern complexity
cczona
Get schemas into alignment
Sunday February 24 13
cczona
Mental Schema
bullSet of pre-conceived ideas
bullFramework for representing some aspect of the world
bullSystem of organizing amp perceiving new information
Sunday February 24 13
There are two kinds of schema [read]
cczona
Database Schema
bullStructure described in the databases language
bullBlueprint for database construction
bullDescribes how the real world is being modeled
Sunday February 24 13
Database schemas are basically the same thing Its a mental schema translated into blueprints for a database
cczona
create_table users force =gt true do |t| tstring username tstring email tstring passwordend
Sunday February 24 13
When you use Rails generate scaffold or Rails generate model it creates a migration Maybe you created something like this for instance Those migrations ultimately get translated into a unified schema to be used by the environments database
cczona
Sunday February 24 13
These are simply frontend manifestations of someones mental schema
cczona
Schemas are foundation for
expressing
things deeply intimate
Sunday February 24 13
cczona
Schemas are foundation for
expressing
self-image
Sunday February 24 13
cczona
Schemas are foundation for
expressing
identity
Sunday February 24 13
cczona
Schemas are foundation for
expressing
important relationships
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
In real life
Your existence isnt possible
sounds clueless
Sunday February 24 13
cczona
In real life
sounds clueless
Sunday February 24 13
cczona
Sunday February 24 13
Its not what we set out to do Its not the community we seek to build We want to create things that feel cutting edge -- not that seem out of touch with modern reality
cczona
Be conservative in what you do be liberal in what you accept from others
-Postels Law
Sunday February 24 13
[READ]
cczona
How do we bring modern realities into the data views logic
Sunday February 24 13
How DO we bring modern realities into the data views and logic We start at the schema
cczona
Sunday February 24 13
As developers were tugged in two directions keep the codebase manageable yet design for modern complexity
cczona
Get schemas into alignment
Sunday February 24 13
cczona
Mental Schema
bullSet of pre-conceived ideas
bullFramework for representing some aspect of the world
bullSystem of organizing amp perceiving new information
Sunday February 24 13
There are two kinds of schema [read]
cczona
Database Schema
bullStructure described in the databases language
bullBlueprint for database construction
bullDescribes how the real world is being modeled
Sunday February 24 13
Database schemas are basically the same thing Its a mental schema translated into blueprints for a database
cczona
create_table users force =gt true do |t| tstring username tstring email tstring passwordend
Sunday February 24 13
When you use Rails generate scaffold or Rails generate model it creates a migration Maybe you created something like this for instance Those migrations ultimately get translated into a unified schema to be used by the environments database
cczona
Sunday February 24 13
These are simply frontend manifestations of someones mental schema
cczona
Schemas are foundation for
expressing
things deeply intimate
Sunday February 24 13
cczona
Schemas are foundation for
expressing
self-image
Sunday February 24 13
cczona
Schemas are foundation for
expressing
identity
Sunday February 24 13
cczona
Schemas are foundation for
expressing
important relationships
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
In real life
sounds clueless
Sunday February 24 13
cczona
Sunday February 24 13
Its not what we set out to do Its not the community we seek to build We want to create things that feel cutting edge -- not that seem out of touch with modern reality
cczona
Be conservative in what you do be liberal in what you accept from others
-Postels Law
Sunday February 24 13
[READ]
cczona
How do we bring modern realities into the data views logic
Sunday February 24 13
How DO we bring modern realities into the data views and logic We start at the schema
cczona
Sunday February 24 13
As developers were tugged in two directions keep the codebase manageable yet design for modern complexity
cczona
Get schemas into alignment
Sunday February 24 13
cczona
Mental Schema
bullSet of pre-conceived ideas
bullFramework for representing some aspect of the world
bullSystem of organizing amp perceiving new information
Sunday February 24 13
There are two kinds of schema [read]
cczona
Database Schema
bullStructure described in the databases language
bullBlueprint for database construction
bullDescribes how the real world is being modeled
Sunday February 24 13
Database schemas are basically the same thing Its a mental schema translated into blueprints for a database
cczona
create_table users force =gt true do |t| tstring username tstring email tstring passwordend
Sunday February 24 13
When you use Rails generate scaffold or Rails generate model it creates a migration Maybe you created something like this for instance Those migrations ultimately get translated into a unified schema to be used by the environments database
cczona
Sunday February 24 13
These are simply frontend manifestations of someones mental schema
cczona
Schemas are foundation for
expressing
things deeply intimate
Sunday February 24 13
cczona
Schemas are foundation for
expressing
self-image
Sunday February 24 13
cczona
Schemas are foundation for
expressing
identity
Sunday February 24 13
cczona
Schemas are foundation for
expressing
important relationships
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Sunday February 24 13
Its not what we set out to do Its not the community we seek to build We want to create things that feel cutting edge -- not that seem out of touch with modern reality
cczona
Be conservative in what you do be liberal in what you accept from others
-Postels Law
Sunday February 24 13
[READ]
cczona
How do we bring modern realities into the data views logic
Sunday February 24 13
How DO we bring modern realities into the data views and logic We start at the schema
cczona
Sunday February 24 13
As developers were tugged in two directions keep the codebase manageable yet design for modern complexity
cczona
Get schemas into alignment
Sunday February 24 13
cczona
Mental Schema
bullSet of pre-conceived ideas
bullFramework for representing some aspect of the world
bullSystem of organizing amp perceiving new information
Sunday February 24 13
There are two kinds of schema [read]
cczona
Database Schema
bullStructure described in the databases language
bullBlueprint for database construction
bullDescribes how the real world is being modeled
Sunday February 24 13
Database schemas are basically the same thing Its a mental schema translated into blueprints for a database
cczona
create_table users force =gt true do |t| tstring username tstring email tstring passwordend
Sunday February 24 13
When you use Rails generate scaffold or Rails generate model it creates a migration Maybe you created something like this for instance Those migrations ultimately get translated into a unified schema to be used by the environments database
cczona
Sunday February 24 13
These are simply frontend manifestations of someones mental schema
cczona
Schemas are foundation for
expressing
things deeply intimate
Sunday February 24 13
cczona
Schemas are foundation for
expressing
self-image
Sunday February 24 13
cczona
Schemas are foundation for
expressing
identity
Sunday February 24 13
cczona
Schemas are foundation for
expressing
important relationships
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Be conservative in what you do be liberal in what you accept from others
-Postels Law
Sunday February 24 13
[READ]
cczona
How do we bring modern realities into the data views logic
Sunday February 24 13
How DO we bring modern realities into the data views and logic We start at the schema
cczona
Sunday February 24 13
As developers were tugged in two directions keep the codebase manageable yet design for modern complexity
cczona
Get schemas into alignment
Sunday February 24 13
cczona
Mental Schema
bullSet of pre-conceived ideas
bullFramework for representing some aspect of the world
bullSystem of organizing amp perceiving new information
Sunday February 24 13
There are two kinds of schema [read]
cczona
Database Schema
bullStructure described in the databases language
bullBlueprint for database construction
bullDescribes how the real world is being modeled
Sunday February 24 13
Database schemas are basically the same thing Its a mental schema translated into blueprints for a database
cczona
create_table users force =gt true do |t| tstring username tstring email tstring passwordend
Sunday February 24 13
When you use Rails generate scaffold or Rails generate model it creates a migration Maybe you created something like this for instance Those migrations ultimately get translated into a unified schema to be used by the environments database
cczona
Sunday February 24 13
These are simply frontend manifestations of someones mental schema
cczona
Schemas are foundation for
expressing
things deeply intimate
Sunday February 24 13
cczona
Schemas are foundation for
expressing
self-image
Sunday February 24 13
cczona
Schemas are foundation for
expressing
identity
Sunday February 24 13
cczona
Schemas are foundation for
expressing
important relationships
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
How do we bring modern realities into the data views logic
Sunday February 24 13
How DO we bring modern realities into the data views and logic We start at the schema
cczona
Sunday February 24 13
As developers were tugged in two directions keep the codebase manageable yet design for modern complexity
cczona
Get schemas into alignment
Sunday February 24 13
cczona
Mental Schema
bullSet of pre-conceived ideas
bullFramework for representing some aspect of the world
bullSystem of organizing amp perceiving new information
Sunday February 24 13
There are two kinds of schema [read]
cczona
Database Schema
bullStructure described in the databases language
bullBlueprint for database construction
bullDescribes how the real world is being modeled
Sunday February 24 13
Database schemas are basically the same thing Its a mental schema translated into blueprints for a database
cczona
create_table users force =gt true do |t| tstring username tstring email tstring passwordend
Sunday February 24 13
When you use Rails generate scaffold or Rails generate model it creates a migration Maybe you created something like this for instance Those migrations ultimately get translated into a unified schema to be used by the environments database
cczona
Sunday February 24 13
These are simply frontend manifestations of someones mental schema
cczona
Schemas are foundation for
expressing
things deeply intimate
Sunday February 24 13
cczona
Schemas are foundation for
expressing
self-image
Sunday February 24 13
cczona
Schemas are foundation for
expressing
identity
Sunday February 24 13
cczona
Schemas are foundation for
expressing
important relationships
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Sunday February 24 13
As developers were tugged in two directions keep the codebase manageable yet design for modern complexity
cczona
Get schemas into alignment
Sunday February 24 13
cczona
Mental Schema
bullSet of pre-conceived ideas
bullFramework for representing some aspect of the world
bullSystem of organizing amp perceiving new information
Sunday February 24 13
There are two kinds of schema [read]
cczona
Database Schema
bullStructure described in the databases language
bullBlueprint for database construction
bullDescribes how the real world is being modeled
Sunday February 24 13
Database schemas are basically the same thing Its a mental schema translated into blueprints for a database
cczona
create_table users force =gt true do |t| tstring username tstring email tstring passwordend
Sunday February 24 13
When you use Rails generate scaffold or Rails generate model it creates a migration Maybe you created something like this for instance Those migrations ultimately get translated into a unified schema to be used by the environments database
cczona
Sunday February 24 13
These are simply frontend manifestations of someones mental schema
cczona
Schemas are foundation for
expressing
things deeply intimate
Sunday February 24 13
cczona
Schemas are foundation for
expressing
self-image
Sunday February 24 13
cczona
Schemas are foundation for
expressing
identity
Sunday February 24 13
cczona
Schemas are foundation for
expressing
important relationships
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Get schemas into alignment
Sunday February 24 13
cczona
Mental Schema
bullSet of pre-conceived ideas
bullFramework for representing some aspect of the world
bullSystem of organizing amp perceiving new information
Sunday February 24 13
There are two kinds of schema [read]
cczona
Database Schema
bullStructure described in the databases language
bullBlueprint for database construction
bullDescribes how the real world is being modeled
Sunday February 24 13
Database schemas are basically the same thing Its a mental schema translated into blueprints for a database
cczona
create_table users force =gt true do |t| tstring username tstring email tstring passwordend
Sunday February 24 13
When you use Rails generate scaffold or Rails generate model it creates a migration Maybe you created something like this for instance Those migrations ultimately get translated into a unified schema to be used by the environments database
cczona
Sunday February 24 13
These are simply frontend manifestations of someones mental schema
cczona
Schemas are foundation for
expressing
things deeply intimate
Sunday February 24 13
cczona
Schemas are foundation for
expressing
self-image
Sunday February 24 13
cczona
Schemas are foundation for
expressing
identity
Sunday February 24 13
cczona
Schemas are foundation for
expressing
important relationships
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Mental Schema
bullSet of pre-conceived ideas
bullFramework for representing some aspect of the world
bullSystem of organizing amp perceiving new information
Sunday February 24 13
There are two kinds of schema [read]
cczona
Database Schema
bullStructure described in the databases language
bullBlueprint for database construction
bullDescribes how the real world is being modeled
Sunday February 24 13
Database schemas are basically the same thing Its a mental schema translated into blueprints for a database
cczona
create_table users force =gt true do |t| tstring username tstring email tstring passwordend
Sunday February 24 13
When you use Rails generate scaffold or Rails generate model it creates a migration Maybe you created something like this for instance Those migrations ultimately get translated into a unified schema to be used by the environments database
cczona
Sunday February 24 13
These are simply frontend manifestations of someones mental schema
cczona
Schemas are foundation for
expressing
things deeply intimate
Sunday February 24 13
cczona
Schemas are foundation for
expressing
self-image
Sunday February 24 13
cczona
Schemas are foundation for
expressing
identity
Sunday February 24 13
cczona
Schemas are foundation for
expressing
important relationships
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Database Schema
bullStructure described in the databases language
bullBlueprint for database construction
bullDescribes how the real world is being modeled
Sunday February 24 13
Database schemas are basically the same thing Its a mental schema translated into blueprints for a database
cczona
create_table users force =gt true do |t| tstring username tstring email tstring passwordend
Sunday February 24 13
When you use Rails generate scaffold or Rails generate model it creates a migration Maybe you created something like this for instance Those migrations ultimately get translated into a unified schema to be used by the environments database
cczona
Sunday February 24 13
These are simply frontend manifestations of someones mental schema
cczona
Schemas are foundation for
expressing
things deeply intimate
Sunday February 24 13
cczona
Schemas are foundation for
expressing
self-image
Sunday February 24 13
cczona
Schemas are foundation for
expressing
identity
Sunday February 24 13
cczona
Schemas are foundation for
expressing
important relationships
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
create_table users force =gt true do |t| tstring username tstring email tstring passwordend
Sunday February 24 13
When you use Rails generate scaffold or Rails generate model it creates a migration Maybe you created something like this for instance Those migrations ultimately get translated into a unified schema to be used by the environments database
cczona
Sunday February 24 13
These are simply frontend manifestations of someones mental schema
cczona
Schemas are foundation for
expressing
things deeply intimate
Sunday February 24 13
cczona
Schemas are foundation for
expressing
self-image
Sunday February 24 13
cczona
Schemas are foundation for
expressing
identity
Sunday February 24 13
cczona
Schemas are foundation for
expressing
important relationships
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Sunday February 24 13
These are simply frontend manifestations of someones mental schema
cczona
Schemas are foundation for
expressing
things deeply intimate
Sunday February 24 13
cczona
Schemas are foundation for
expressing
self-image
Sunday February 24 13
cczona
Schemas are foundation for
expressing
identity
Sunday February 24 13
cczona
Schemas are foundation for
expressing
important relationships
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Schemas are foundation for
expressing
things deeply intimate
Sunday February 24 13
cczona
Schemas are foundation for
expressing
self-image
Sunday February 24 13
cczona
Schemas are foundation for
expressing
identity
Sunday February 24 13
cczona
Schemas are foundation for
expressing
important relationships
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Schemas are foundation for
expressing
self-image
Sunday February 24 13
cczona
Schemas are foundation for
expressing
identity
Sunday February 24 13
cczona
Schemas are foundation for
expressing
important relationships
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Schemas are foundation for
expressing
identity
Sunday February 24 13
cczona
Schemas are foundation for
expressing
important relationships
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Schemas are foundation for
expressing
important relationships
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Schemas are foundation for
expressing
values
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Schemas are foundation for
expressing
spirit
creativity
uniqueness
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Schemas define the
user experience
Sunday February 24 13
Schemas define user experience
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Our schemas are leaving people behind
amp UX
Sunday February 24 13
[read]We can fix that
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
What benefit will the user notice
Sunday February 24 13
When developing a schema thats going to ask a person about their experiences feelings sense of self there isnt a single right way I can tell to do this What we can do is evaluate tradeoffs and ask What benefit will the user notice Thats not equivalent to How will the user benefit a question that grants too much latitude for assuming that what we want is of course to their benefit because its gonna help us deliver a product thats Awesome
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Evaluating from user perspective gives us focus
Sunday February 24 13
[read]
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Coerced Discretionary
Restricted Freeform
Guided
Corrective
Sunday February 24 13
Theres no point on this chart where everybody is seeing maximum benefit So lets look at the choices
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective Freeform
Sunday February 24 13
Checkboxs radio buttons and select menus imply that all possible values are represented Hey user just pick the right one (or ones) Its real world being rejected because it didnt happen to look like our mental schema
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
CheckboxRadioSelect
Coerced DiscretionaryGuided
Corrective TextareaText
Sunday February 24 13
Checking a box is a one step action Entering a text string is not So a freeform solution such as a textarea or text field isnt automatically exciting Nevertheless a freeform field can deliver striking benefit to users
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
11 years
11 years
Sunday February 24 13
At MetaFilter gender has been a text field for over a decade
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
hellipthe early crowd at MeFi were often programmers and they hated the idea of dirty data collectionhellip
mdashMatt Haughey founder
Sunday February 24 13
Initially there were some who shuddered at the thought
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
All girl
XY
Braid runner
Fella
Fembot
Alto
It depends
MYOB
Dangly bits
Chicklet
Innie not outie
Convex
Sideburns
Ambisextrous
Member of the patriarchy
Sunday February 24 13
For about 5 seconds Then they jumped on board Because they could be creative and silly
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
I speak using the male gender when required by language
M but known to be flexible
50 quintessential tomboy 50 total girly-girl
Gender bo bender banana fanna fo lender fee fi mo
Sunday February 24 13
AND because they could express this THING about themselves fully With authentic voice
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
hellipit was one of the earliest indications Id landed in the right place
mdashMeFi user
Sunday February 24 13
That text field grew into a beloved institution What you as a user put into that field says something revealing who you are That youre allowed to put in anything -- or put in nothing -- says something revealing about what MetaFilter is meant to be for
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
8 years
11 years
4 years
11 years
Sunday February 24 13
That schemas trust in users was the foundation for the users to ASK to share themselves even more
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Sunday February 24 13
Today MetaFilter users are trusted with many free-form fields including ones most developers instinctually constrain or thoroughly validate
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Sunday February 24 13
Nonsensical values Hell yeah go for it Field values that blatantly contradict each other No objection to that either The message is hey user we get that this is YOUR OWN HOME Make it as comfortable personal and messy as you want to WE as developers can work with that
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
Social Research
Sunday February 24 13
When collecting data on people youre in a different realm Social sciences If you want to run useful analytics about personal attributes and behavior then data collection needs to meet at least two minimum criteria
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
ExhaustiveEvery possible option
Sunday February 24 13
A fields values must include every possible option
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
Mutually ExclusiveNo overlap exists between them
Sunday February 24 13
And the fields options must be mutually exclusive
How many social apps have both of those bare minimum criteria covered
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Sunday February 24 13
Weve seen this one enough At least that set of values seems covered fully
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Sunday February 24 13
But its not
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Sunday February 24 13
Still not
Well never get there by adding more list items But thats fine Because instead we can choose to look at human data from a different perspective
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Data doesnrsquot have to be for analysis
Sunday February 24 13
Its easy to get into the habit of structuring data for easy analysis But step back Wallow in the users perspective
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Data can be sheerexpressiveness
Sunday February 24 13
That data can be sheer expressiveness Data that has character individualism distinctiveness
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
- = select_tag person[profile][gender] options_for_select( [FemaleMale] )
+ = profiletext_field gender
Sunday February 24 13
More recently years ago Diasporas Sarah Mei turned gender into a text field there too
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Sunday February 24 13
Just like on MetaFilter users had fun with it
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Some developers were not amused
Sunday February 24 13
Some developers didnt One of the major complaints raised was the affect on internationalization of gendered pronouns
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Gendered pronouns are a rat hole
Sunday February 24 13
And heres what Ive got to say to that Gendered pronouns are a rat hole It gets hella messy hella fast when you deal with internationalization
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
The role of gender in society is the most complicated thing Irsquove ever spent a lot of time learning about and Irsquove spent a lot of time learning about quantum mechanics
mdashRandall Munroe xkcd
Sunday February 24 13
Thats a plan that comes with a level of complexity that English hasnt wrapped its head around In a lot of non-English languages grammatical gender and what you and I would call gender are independent of each other So internationalization based on Gender will screw you over Think about how to avoid dealing with gendered pronouns at all If its a requirement then the way to cope is to ask
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Which pronouns do you prefer
(masculine) hehimhimselfhishis
(feminine) sheherherselfhersher
(androgynous) theythemthemselftheirstheir
(inanimate) itititselfitsits
ltfull namegt ltfngtltfngtltfngtltfngtsltfngts
Sunday February 24 13
Randall Munroe best known for xkcd has examined the problem several times for English language projects Asking straight up Which Pronouns Do You Prefer is truly the best he could come up with Oh and as complicated as THIS matrix it it grows even BIGGER in many other languages
Avoid Or ask Dont let pronouns become the driving force for bad UX
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Sunday February 24 13
As developers we have a vision of what a good codebase should be and not be
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
What we want What we get
bull Structured
bull Predictablebull Validations exceptions
bull Conditionals partials
bull Relational
bull Indexed bull Premature optimization
bull Exhaustivebull Cultural variability
bull Individual POV
bull Moving target
bull Easy analytics
bull Data-driven decisionsbull Decisions based on false
premises
Sunday February 24 13
[READ]
In the most sensible of ways we often arrive at solutions that are factually truthy while far removed from real life utility
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
What is your religion if any
Sunday February 24 13
ARIS is the largest ongoing survey of Americans religious identification It asks this simple OPEN-ENDED question [slide]
Which nets over 100 unique answers Which if youre making a form based on that is tricky Theres no form element that makes it easy for our users to pick themselves out of a list of so many possibilities
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Sunday February 24 13
ARIS found though that these could be compressed into 13 major categories More manageable list right We could use that for a form But eh a lot of those are edge cases Wed rather want to focus on genuinely major groupings
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
What is your religion if any
Christian 76
Other 4
None 15
Dont Know or Refused 5
Sunday February 24 13
Which brings us down to this At least a quarter of Americans are Christian Done Every other religion would just be clutter Edge cases
And then theres this sort of crummy data with it Wed probably assign nil value for more than one of these categories right
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
What is your religion
Christian 76
Other 4
na 20
Sunday February 24 13
Fixed Which focuses attention on a problem here 1 in 5 are not useful answers from an advertisers perspective or for out own analytics The NILS -- gotta go
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
What is your religion
Christian 76
Other 24
Sunday February 24 13
So what were left with is a good clear list It covers ALL the big stuff When you get reductive enough for Americans religion it a binary Which from a storage standpoint is great Booleans Score
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Religion
Sunday February 24 13
But we dont do THIS It covers the biggest categories But oh how it leaves people out
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
People arent edge cases
Sunday February 24 13
People arent edge cases
And theyre pushing back on apps that treat them that way
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Sunday February 24 13
So reductive has big problems So does scaling upward
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Balancing between approaches
Sunday February 24 13
As engineers its instinctually uncomfortable to step away from this To deliberately NOT structure data for easy analysis I feel ya I really do This freaks me too But again the foundational question is What benefit will the user notice
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Sunday February 24 13
And if necessary we CAN strike a middleground This is where guided response comes in Autosuggest
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Alteration
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required OptionalAutosuggest
Minimal Suggest
Sunday February 24 13
When theres a subset of values that youre most interested in do minimal suggest instead Auto suggest using just the handful of values you care about Structure from those who want to give it free form to incite expressiveness in those who want THAT
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
Unguided TextOf those who use MetaFilters gender field
40 of responses are f m female male
Sunday February 24 13
[read] So structured data IS there This can be a balanced solution in many cases where youre willing to tolerate some ambiguity Of course there are tradeoffsData quantity is lower Freed to opt out of proving personal info many doOn the other hand data quality should improve
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
Optional Select60 of Facebook users select a relationship status
Sunday February 24 13
Its fine to mix and match here Find the right approach for your users and your apps business objectives Facebook for instance makes relationship status completely optional but coercive for those who do opt-in to setting a value Most users do opt-in 60 of them select a relationship status
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
We want everyone to feel excited what weve
built
Sunday February 24 13
The bottom line is that [read]
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
We want users to feel passionate about their
involvement
Sunday February 24 13
[read]
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Analytics investments amp monetization are
based on a premise that data is accurate
Sunday February 24 13
[read]
BUT the data has been collected by coercive approaches the RISK is that--
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Garbage
Sunday February 24 13
this premise is garbage Some people are lying because lying has been made requirement for getting past the barriers So conclusions drawn from that bad data can misdirect decision-making about the next stage of development
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required
Corrective
DiscretionaryGuided
Sunday February 24 13
The restrictive options that stuff at bottom left those dont actually have to be marked required
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
tstring gender null =gt false default =gt female limit =gt6
Sunday February 24 13
But the way we setup schema often embeds assumptions that we should and we will So we do A field thats not allowed to be null is destined to be mandatory A field that sets a very short length is asserting that any reasonable value is going to fit within it This migration implies Youre either male or youre female Transgender is not a reasonable value If youre transgender youll wind up being coerced into a response thats inauthentic
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
tstring gender
Sunday February 24 13
BOOM This is foundation for a whole different user experience And the cool ninja move was that we decided to do nothing Make this stuff flexible upfront Optimize storage later Decide whats valid later
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
CheckboxRadioSelect
TextareaText
Required Optional
Alteration
Guided
Sunday February 24 13
So there you have it a discretionary field Whether to respond is left up to the user
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
tstring relationship_status null =gt true
Sunday February 24 13
As developers we may upon THIS expression as redundant completely unnecessary Duh null is true by default But making that explicit is a communication to the team and to your future self Its a statement of intent Its documenting a product decision
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Sunday February 24 13
What would a canonical set of relationship statuses look like Three years ago Facebook figured this list was pretty good Arguably pretty progressive too right Users disagreed Strongly
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
FacebookSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
Sunday February 24 13
Under pressure Facebook nearly doubled the options in just two years time
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Google+Single
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
While Google+ has largely adopted that list it has not included Separated or Divorced Notice that they also added something choice Opt out of labeling
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Sunday February 24 13
Allowing users to identify their relationships with labels of greater personal significanceThats being driven by people rejecting a user experience that isnt working for them
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Sunday February 24 13
How did some status seem universal while others werent Naming a thing creates scope The assumed validity of a fields values get constrained as soon as the field is named
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Marital StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Marital status for instance might lead to a list such as this In which one is assumed to be either unmarried preparing to be married currently married or formerly married
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Relationship StatusSingle
In a relationship
Engaged
Married
Its complicated
Open relationship
Widowed
Separated
Divorced
Civil union
Domestic partnership
I dont want to say
Sunday February 24 13
Whereas relationship status might lead to a list more like this one In which one either has a current relationship -- or is defined by the absence of any
But peoples lives arent actually arranged like these We go through life experiencing many of these And new status doesnt always leave old ones behind
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Singleness Status
Sunday February 24 13
If you change the name you shift the paradigm and possibilities Theres important difference in these what these collect set out to measure Naming fields -- With great specificity upfront --Makes analyses more powerful later
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Frustrating I like to be truthful and Its Complicated is really deceiving It is not complicated I am separated from my husband who I am still legally married to
mdashFacebook user
Sunday February 24 13
And some people really do have more than one relationship status at a time
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Sunday February 24 13
Whos already spotted the fatal flaw in this one
This is what happens when we try to throw more labels at the problem instead of examining the assumptions in the database schema An open relationship is definitionally a 1Many join mdash WITH the usual engineering understanding that is that actual number of relationships may be 0 1 OR many This is Facebook failing at modeling relationships in a _relational database_ The schema forces the user to choose LOOK evasive or BE inauthentic
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Modeling the real world is complex and
thats okay
Sunday February 24 13
ONE
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Assuming we know who users are surrenders
opportunity to learn who they are
Sunday February 24 13
TWO [read] Early constraints in schema NET crappy misleading data[beat]So keep constraints out of user schema at least at first Gather enough initial response to do some data mining Watch that data for a while Keep an eye out for emergent trends What DISCOVERIES can you make
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
More freeform wont kill us
Sunday February 24 13
THREE
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
QualitySpecificity
Loyalty
Sunday February 24 13
Data quality improves when lies are merely optional not requiredData thats rich and specific So we can unearth patterns that are undetectable when data is generic We can discover We can adaptWhen we show trust in people they feel good about placing trust in usTheir response to all this Engagement Passion Loyalty
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Sunday February 24 13
THOSE are foundations for great user experiences
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Image CreditsPostsecret
OKCupid
Google+
Metafilter
Diaspora
Flickr
FetLife
Kotangle
cutestpawcom
hdwallpapersin
xkcd
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Resourcesbull ldquoDisalienation Why Gender is a Text Field on Diasporardquo
bull ldquoGender amp Drop Down Menusrdquo
bull ldquoSex amp Genderrdquo
bull ldquoBucket Genderrdquo
bull Linguistic Potluck Crowdsourcing Internationalization in Rails
bull Does Facebook Hurt Relationships
bull Facebook Adds LGBT-Friendly Relationship Status Options
bull Facebook Targeting by Relationship Status amp Workplace
bull Your Facebook Relationship Status Its Complicated
bull Redesigning the Country Selector
bull Recommendations for Inclusive Data Collection of Trans People
bull Gay Marriage The Database Engineering Perspective
bull American Religious Identification Survey Summary Report 2009
bull Falsehoods Programmers Believe About Names
bull Your Last Name Contains Invalid Characters
bull Spanish Names
bull Chinese Names
bull Database normalization
bull Sociological normalization
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Many Thanks
DevChixYoz GrahameMichele TitoloHeather RiversChiu-Ki Chan
Sarah MeiSFSI
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13
cczona
Get in Touch
Carina C Zonacczona
httpcczonacom
cczonagmailcom
httpslidesharenetcczona
httplinkedincomincczona
Sunday February 24 13