2012 Confoo: Defining User Identity

1,695
-1

Published on

March 2012 talk at Confoo (confoo.ca) on defining user identity.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,695
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
24
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Suck in web content via curlConvert to valid XML document (do not use as text and run Regex against it)
  • Search through text on the page and store words + how often they are usedStrip out common words
  • Use meta description and keywords to match against your keyword density searchUse Open Graph protocol tags to find more keywords and page content
  • http://gizmodo.com/5470696/fck-you-google
  • http://www.pcmag.com/article2/0,2817,2399970,00.asp
  • http://www.forbes.com/sites/kashmirhill/2012/02/16/how-target-figured-out-a-teen-girl-was-pregnant-before-her-father-did/The statistician is now a rock star
  • 2012 Confoo: Defining User Identity

    1. 1. Defining User IdentityTrue Identity VS Anonymity Jonathan LeBlanc Developer Evangelist: X.commerce Email: jleblanc@x.com Twitter: @jcleblanc
    2. 2. What We’re Going to Cover The Foundations of Human Identity Tribalism and Social Grouping The Big Bag of Social Identity Fail Experimental Identity MethodsX.Commerce (eBay Inc.)http://www.x.com | @x_commerce
    3. 3. What We’re Going to Cover The Foundations of Human Identity Tribalism and Social Grouping The Big Bag of Social Identity Fail Experimental Identity MethodsX.Commerce (eBay Inc.)http://www.x.com | @x_commerce
    4. 4. Human Identity: User Types Anonymous Users Real Identity LoginX.Commerce (eBay Inc.)http://www.x.com | @x_commerce
    5. 5. Human Identity: Open Identity Programming OAuth (1.0a + 2.0) PayPal Access, Facebook, Twitter OpenID (…and the upcoming OpenID Connect) PayPal Access, Google, Yahoo! BrowserID MozillaX.Commerce (eBay Inc.)http://www.x.com | @x_commerce
    6. 6. Human Identity: Anonymous UsersX.Commerce (eBay Inc.)http://www.x.com | @x_commerce
    7. 7. Human Identity: Tracking Anonymous Users There are a few common options Tracking Cookie Local StorageX.Commerce (eBay Inc.)http://www.x.com | @x_commerce
    8. 8. Human Identity: Tracking Anonymous Users Program Overview • On each page visited, track the URL • HTML5 Local Storage as primary storage • Cookies as secondary storageX.Commerce (eBay Inc.)http://www.x.com | @x_commerce
    9. 9. 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 } } }
    10. 10. 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; }
    11. 11. Tracking Anonymous Users with Cookies 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 }
    12. 12. Human Identity: Tracking Anonymous Users Next Steps / Improvements • Remove oldest results when storage fills • Build categorization mapping prior to storage to save space (more on this later)X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
    13. 13. Human Identity: Real Identity UsersX.Commerce (eBay Inc.)http://www.x.com | @x_commerce
    14. 14. Human Identity: Real Identity Sources Sources of Real Identity Social (perceived) Concrete (true)X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
    15. 15. Human Identity: BrowserIDX.Commerce (eBay Inc.)http://www.x.com | @x_commerce
    16. 16. Human Identity: BrowserID 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>X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
    17. 17. 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); } }); });X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
    18. 18. Human Identity: BrowserID JSON Results { audience: "jcleblanc.com", email: "nakedtechnologist@gmail.com", expires: 1320081400987, issuer: "browserid.org", status: "okay" }X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
    19. 19. What We’re Going to Cover The Foundations of Human Identity Tribalism and Social Grouping The Big Bag of Social Identity Fail Experimental Identity MethodsX.Commerce (eBay Inc.)http://www.x.com | @x_commerce
    20. 20. Social Grouping: It’s Not A New Thing…X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
    21. 21. Social Grouping: Foundation in Tribalism 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 relationshipsX.Commerce (eBay Inc.)http://www.x.com | @x_commerce
    22. 22. Social Grouping: The Real Life Social GraphX.Commerce (eBay Inc.)http://www.x.com | @x_commerce
    23. 23. Social Grouping: The Online Social GraphX.Commerce (eBay Inc.)http://www.x.com | @x_commerce
    24. 24. Social Grouping: Group Types Follower Type Connection Type Group TypeX.Commerce (eBay Inc.)http://www.x.com | @x_commerce
    25. 25. Social Grouping: Data Miners are Rock StarsX.Commerce (eBay Inc.)http://www.x.com | @x_commerce
    26. 26. Social Grouping: Group Programming Primer Program Overview • Use all URLs from the previous program. • Obtain content category for page. • Categorize user interest.X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
    27. 27. Social Grouping: Group Programming Primer Step 1: Obtain Website ContentX.Commerce (eBay Inc.)http://www.x.com | @x_commerce
    28. 28. Social Grouping: Group Programming Primer Step 2: Perform Keyword Density SearchX.Commerce (eBay Inc.)http://www.x.com | @x_commerce
    29. 29. Social Grouping: Group Programming Primer Step 3: Weight KeywordsX.Commerce (eBay Inc.)http://www.x.com | @x_commerce
    30. 30. What We’re Going to Cover The Foundations of Human Identity Tribalism and Social Grouping The Big Bag of Social Identity Fail Experimental Identity MethodsX.Commerce (eBay Inc.)http://www.x.com | @x_commerce
    31. 31. Social Identity Fail: Personal Safety When Social Discovery Impacts Personal Safety “My privacy concerns are not trite. They are linked to my actual physical safety” --Harriet Jacobs (Gizmodo)X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
    32. 32. Social Identity Fail: Privacy Concerns When Making Things Easy Impairs Privacy “Path Uploads Your Entire iPhone Contact List By Default” --Mark Hachman (PCMag)X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
    33. 33. Social Identity Fail: The Fine Line The Fine Line Between Insightful and Creepy “How Target Figured Out A Teen Girl Was Pregnant Before Her Father Did” --Kashmir Hill (Forbes)X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
    34. 34. What We’re Going to Cover The Foundations of Human Identity Tribalism and Social Grouping The Big Bag of Social Identity Fail Experimental Identity MethodsX.Commerce (eBay Inc.)http://www.x.com | @x_commerce
    35. 35. Experimental Identity: WebFingerX.Commerce (eBay Inc.)http://www.x.com | @x_commerce
    36. 36. Experimental Identity: WebFinger Step 1: Perform Discovery curl https://gmail.com/.well-known/host-metaX.Commerce (eBay Inc.)http://www.x.com | @x_commerce
    37. 37. 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>X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
    38. 38. Experimental Identity: WebFinger Step 2: Collect User Data curlhttp://www.google.com/s2/webfinger/?q=nakedt echnologist@gmail.comX.Commerce (eBay Inc.)http://www.x.com | @x_commerce
    39. 39. Experimental Identity: WebFinger User Profile http://www.google.com/profiles/nakedtechnolo gist Portable Contacts http://www- opensocial.googleusercontent.com/api/people/1 18167121283215553793/X.Commerce (eBay Inc.)http://www.x.com | @x_commerce
    40. 40. Experimental Identity: WebFinger profileUrl name id formatted thumbnail url family name urls given name photos display nameX.Commerce (eBay Inc.)http://www.x.com | @x_commerce
    41. 41. Identity Programming Core Concepts 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 businessX.Commerce (eBay Inc.)http://www.x.com | @x_commerce
    42. 42. Thanks! Any Questions?http://slidesha.re/confoo_identity2 Jonathan LeBlanc Email: jleblanc@x.com Twitter: @jcleblanc Github: https://github.com/jcleblanc

    ×