Top Banner
Defining User Identity True Identity VS Anonymity Jonathan LeBlanc Developer Evangelist: X.commerce Email: [email protected] Twitter: @jcleblanc
42

2012 Confoo: Defining User Identity

May 21, 2015

Download

Technology

March 2012 talk at Confoo (confoo.ca) on defining user identity.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 2012 Confoo: Defining User Identity

Defining User Identity

True Identity VS Anonymity

Jonathan LeBlancDeveloper Evangelist: X.commerce

Email: [email protected]: @jcleblanc

Page 2: 2012 Confoo: Defining User Identity

X.Commerce (eBay Inc.)http://www.x.com | @x_commerce

The Foundations of Human Identity

Tribalism and Social Grouping

The Big Bag of Social Identity Fail

Experimental Identity Methods

What We’re Going to Cover

Page 3: 2012 Confoo: Defining User Identity

X.Commerce (eBay Inc.)http://www.x.com | @x_commerce

The Foundations of Human Identity

Tribalism and Social Grouping

The Big Bag of Social Identity Fail

Experimental Identity Methods

What We’re Going to Cover

Page 4: 2012 Confoo: Defining User Identity

X.Commerce (eBay Inc.)http://www.x.com | @x_commerce

Human Identity: User Types

Anonymous Users Real Identity Login

Page 5: 2012 Confoo: Defining User Identity

X.Commerce (eBay Inc.)http://www.x.com | @x_commerce

OAuth (1.0a + 2.0)PayPal Access, Facebook, Twitter

OpenID (…and the upcoming OpenID Connect)PayPal Access, Google, Yahoo!

BrowserIDMozilla

Human Identity: Open Identity Programming

Page 6: 2012 Confoo: Defining User Identity

X.Commerce (eBay Inc.)http://www.x.com | @x_commerce

Human Identity: Anonymous Users

Page 7: 2012 Confoo: Defining User Identity

X.Commerce (eBay Inc.)http://www.x.com | @x_commerce

There are a few common options

Human Identity: Tracking Anonymous Users

Tracking Cookie Local Storage

Page 8: 2012 Confoo: Defining User Identity

X.Commerce (eBay Inc.)http://www.x.com | @x_commerce

• On each page visited, track the URL

• HTML5 Local Storage as primary storage

• Cookies as secondary storage

Human Identity: Tracking Anonymous Users

Program Overview

Page 9: 2012 Confoo: Defining User Identity

Tracking Anonymous Users with Local Storage

var storeName = "visited";if (typeof(localStorage) == 'undefined' ) { //Local Storage Not Available} else { try { var sites = localStorage.getItem(storeName); sites = (sites === null) ? window.location : sites + window.location; localStorage.setItem(storeName, sites + "|"); } catch (e) { if (e == QUOTA_EXCEEDED_ERR) { //quota exceeded } }}

Page 10: 2012 Confoo: Defining User Identity

Tracking Anonymous Users with Cookies

function readCookie(name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); for (var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' '){ c = c.substring(1, c.length) }; if (c.indexOf(nameEQ) == 0){ return c.substring(nameEQ.length, c.length); } } return null;}

Page 11: 2012 Confoo: Defining User Identity

var storeName = "visited";if (typeof(localStorage) == "undefined" ) { var cookieVal = readCookie(storeName); var value = ((cookieVal === null) ? window.location : cookieVal + window.location); var days = 1; var date = new Date(); date.setTime(date.getTime() + (days*24*60*60*1000)); var expires = "; expires=" + date.toGMTString(); document.cookie = storeName + "=" + value + "|" + expires + "; path=/";} else { //Use Local Storage}

Tracking Anonymous Users with Cookies

Page 12: 2012 Confoo: Defining User Identity

X.Commerce (eBay Inc.)http://www.x.com | @x_commerce

• Remove oldest results when storage fills

• Build categorization mapping prior to storage to save space (more on this later)

Human Identity: Tracking Anonymous Users

Next Steps / Improvements

Page 13: 2012 Confoo: Defining User Identity

X.Commerce (eBay Inc.)http://www.x.com | @x_commerce

Human Identity: Real Identity Users

Page 14: 2012 Confoo: Defining User Identity

X.Commerce (eBay Inc.)http://www.x.com | @x_commerce

Human Identity: Real Identity Sources

Social (perceived) Concrete (true)

Sources of Real Identity

Page 15: 2012 Confoo: Defining User Identity

X.Commerce (eBay Inc.)http://www.x.com | @x_commerce

Human Identity: BrowserID

Page 16: 2012 Confoo: Defining User Identity

X.Commerce (eBay Inc.)http://www.x.com | @x_commerce

BrowserID Source<script src="https://browserid.org/include.js" type="text/javascript"></script>

JQuery Source<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>

Human Identity: BrowserID

Page 17: 2012 Confoo: Defining User Identity

X.Commerce (eBay Inc.)http://www.x.com | @x_commerce

Human Identity: BrowserID

navigator.id.get(function(assertion) { if (assertion) { $.ajax({ url: 'https://browserid.org/verify', type: 'POST', data: 'assertion='+assertion+'&audience=jcleblanc.com', success: function(res) { console.log(res); } });});

Page 18: 2012 Confoo: Defining User Identity

X.Commerce (eBay Inc.)http://www.x.com | @x_commerce

{ audience: "jcleblanc.com", email: "[email protected]", expires: 1320081400987, issuer: "browserid.org", status: "okay"}

Human Identity: BrowserID JSON Results

Page 19: 2012 Confoo: Defining User Identity

X.Commerce (eBay Inc.)http://www.x.com | @x_commerce

The Foundations of Human Identity

Tribalism and Social Grouping

The Big Bag of Social Identity Fail

Experimental Identity Methods

What We’re Going to Cover

Page 20: 2012 Confoo: Defining User Identity

X.Commerce (eBay Inc.)http://www.x.com | @x_commerce

Social Grouping: It’s Not A New Thing…

Page 21: 2012 Confoo: Defining User Identity

X.Commerce (eBay Inc.)http://www.x.com | @x_commerce

Tribalism started as a way to keep us safe

…it has lead to some horrible parts of history

but it is also a foundation of many of our social relationships

Social Grouping: Foundation in Tribalism

Page 22: 2012 Confoo: Defining User Identity

X.Commerce (eBay Inc.)http://www.x.com | @x_commerce

Social Grouping: The Real Life Social Graph

Page 23: 2012 Confoo: Defining User Identity

X.Commerce (eBay Inc.)http://www.x.com | @x_commerce

Social Grouping: The Online Social Graph

Page 24: 2012 Confoo: Defining User Identity

X.Commerce (eBay Inc.)http://www.x.com | @x_commerce

Social Grouping: Group Types

Follower Type

Connection Type

Group Type

Page 25: 2012 Confoo: Defining User Identity

X.Commerce (eBay Inc.)http://www.x.com | @x_commerce

Social Grouping: Data Miners are Rock Stars

Page 26: 2012 Confoo: Defining User Identity

X.Commerce (eBay Inc.)http://www.x.com | @x_commerce

• Use all URLs from the previous program.

• Obtain content category for page.

• Categorize user interest.

Social Grouping: Group Programming Primer

Program Overview

Page 27: 2012 Confoo: Defining User Identity

X.Commerce (eBay Inc.)http://www.x.com | @x_commerce

Social Grouping: Group Programming Primer

Step 1: Obtain Website Content

Page 28: 2012 Confoo: Defining User Identity

X.Commerce (eBay Inc.)http://www.x.com | @x_commerce

Social Grouping: Group Programming Primer

Step 2: Perform Keyword Density Search

Page 29: 2012 Confoo: Defining User Identity

X.Commerce (eBay Inc.)http://www.x.com | @x_commerce

Social Grouping: Group Programming Primer

Step 3: Weight Keywords

Page 30: 2012 Confoo: Defining User Identity

X.Commerce (eBay Inc.)http://www.x.com | @x_commerce

The Foundations of Human Identity

Tribalism and Social Grouping

The Big Bag of Social Identity Fail

Experimental Identity Methods

What We’re Going to Cover

Page 31: 2012 Confoo: Defining User Identity

X.Commerce (eBay Inc.)http://www.x.com | @x_commerce

“My privacy concerns are not trite. They are linked to my actual physical safety” --Harriet Jacobs (Gizmodo)

Social Identity Fail: Personal Safety

When Social Discovery Impacts Personal Safety

Page 32: 2012 Confoo: Defining User Identity

X.Commerce (eBay Inc.)http://www.x.com | @x_commerce

“Path Uploads Your Entire iPhone Contact List By Default” --Mark Hachman (PCMag)

Social Identity Fail: Privacy Concerns

When Making Things Easy Impairs Privacy

Page 33: 2012 Confoo: Defining User Identity

X.Commerce (eBay Inc.)http://www.x.com | @x_commerce

“How Target Figured Out A Teen Girl Was Pregnant Before Her Father Did” --Kashmir Hill (Forbes)

Social Identity Fail: The Fine Line

The Fine Line Between Insightful and Creepy

Page 34: 2012 Confoo: Defining User Identity

X.Commerce (eBay Inc.)http://www.x.com | @x_commerce

The Foundations of Human Identity

Tribalism and Social Grouping

The Big Bag of Social Identity Fail

Experimental Identity Methods

What We’re Going to Cover

Page 35: 2012 Confoo: Defining User Identity

X.Commerce (eBay Inc.)http://www.x.com | @x_commerce

Experimental Identity: WebFinger

Page 36: 2012 Confoo: Defining User Identity

X.Commerce (eBay Inc.)http://www.x.com | @x_commerce

Step 1: Perform Discovery

curl https://gmail.com/.well-known/host-meta

Experimental Identity: WebFinger

Page 37: 2012 Confoo: Defining User Identity

X.Commerce (eBay Inc.)http://www.x.com | @x_commerce

Experimental Identity: WebFinger

<XRD xmlns='http://docs.oasis.open.org/ns/xri/xrd-1.0' xmlns:hm='http://host-meta.net/xrd/1.0'> <hm:Host xmlns='http://host-meta.net/xrd/1.0'>gmail.com </hm:Host> <Link rel='lrdd' template='http://www.google.com/s2/webfinger/?q={uri}'> <Title>Resource Descriptor</Title> </Link></XRD>

Page 38: 2012 Confoo: Defining User Identity

X.Commerce (eBay Inc.)http://www.x.com | @x_commerce

Step 2: Collect User Data

curl http://www.google.com/s2/webfinger/[email protected]

Experimental Identity: WebFinger

Page 39: 2012 Confoo: Defining User Identity

X.Commerce (eBay Inc.)http://www.x.com | @x_commerce

User Profilehttp://www.google.com/profiles/nakedtechnologist

Portable Contactshttp://www-opensocial.googleusercontent.com/api/people/118167121283215553793/

Experimental Identity: WebFinger

Page 40: 2012 Confoo: Defining User Identity

X.Commerce (eBay Inc.)http://www.x.com | @x_commerce

profileUrlidthumbnail urlurlsphotos

Experimental Identity: WebFinger

name formatted family name given name display name

Page 41: 2012 Confoo: Defining User Identity

X.Commerce (eBay Inc.)http://www.x.com | @x_commerce

Identity is more than just a login

Authentication is just the first step

Find the tool that:– Has the raw data that you need– Works with your business

Identity Programming Core Concepts

Page 42: 2012 Confoo: Defining User Identity

Thanks! Any Questions?

Jonathan LeBlancEmail: [email protected]

Twitter: @jcleblancGithub: https://github.com/jcleblanc

http://slidesha.re/confoo_identity2