SlideShare uma empresa Scribd logo
1 de 42
Defining User Identity
True Identity VS Anonymity




                                         Jonathan LeBlanc
                         Developer Evangelist: X.commerce
                                    Email: jleblanc@x.com
                                       Twitter: @jcleblanc
What We’re Going to Cover


          The Foundations of Human Identity

          Tribalism and Social Grouping

          The Big Bag of Social Identity Fail

          Experimental Identity Methods


X.Commerce (eBay Inc.)
http://www.x.com | @x_commerce
What We’re Going to Cover


          The Foundations of Human Identity

          Tribalism and Social Grouping

          The Big Bag of Social Identity Fail

          Experimental Identity Methods


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




        Anonymous Users          Real Identity Login


X.Commerce (eBay Inc.)
http://www.x.com | @x_commerce
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
       Mozilla
X.Commerce (eBay Inc.)
http://www.x.com | @x_commerce
Human Identity: Anonymous Users




X.Commerce (eBay Inc.)
http://www.x.com | @x_commerce
Human Identity: Tracking Anonymous Users

                There are a few common options




             Tracking Cookie      Local Storage

X.Commerce (eBay Inc.)
http://www.x.com | @x_commerce
Human Identity: Tracking Anonymous Users

                          Program Overview

        • On each page visited, track the URL

        • HTML5 Local Storage as primary storage

        • Cookies as secondary storage

X.Commerce (eBay Inc.)
http://www.x.com | @x_commerce
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
       }
    }
 }
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;
    }
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
 }
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
Human Identity: Real Identity Users




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

                        Sources of Real Identity




         Social (perceived)            Concrete (true)

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




X.Commerce (eBay Inc.)
http://www.x.com | @x_commerce
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
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
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
What We’re Going to Cover


          The Foundations of Human Identity

          Tribalism and Social Grouping

          The Big Bag of Social Identity Fail

          Experimental Identity Methods


X.Commerce (eBay Inc.)
http://www.x.com | @x_commerce
Social Grouping: It’s Not A New Thing…




X.Commerce (eBay Inc.)
http://www.x.com | @x_commerce
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
    relationships


X.Commerce (eBay Inc.)
http://www.x.com | @x_commerce
Social Grouping: The Real Life Social Graph




X.Commerce (eBay Inc.)
http://www.x.com | @x_commerce
Social Grouping: The Online Social Graph




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



                                 Follower Type


                                 Connection Type

                                 Group Type


X.Commerce (eBay Inc.)
http://www.x.com | @x_commerce
Social Grouping: Data Miners are Rock Stars




X.Commerce (eBay Inc.)
http://www.x.com | @x_commerce
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
Social Grouping: Group Programming Primer




                                 Step 1: Obtain
                                 Website Content




X.Commerce (eBay Inc.)
http://www.x.com | @x_commerce
Social Grouping: Group Programming Primer




  Step 2: Perform
  Keyword Density
  Search




X.Commerce (eBay Inc.)
http://www.x.com | @x_commerce
Social Grouping: Group Programming Primer




                                 Step 3: Weight
                                 Keywords




X.Commerce (eBay Inc.)
http://www.x.com | @x_commerce
What We’re Going to Cover


          The Foundations of Human Identity

          Tribalism and Social Grouping

          The Big Bag of Social Identity Fail

          Experimental Identity Methods


X.Commerce (eBay Inc.)
http://www.x.com | @x_commerce
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
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
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
What We’re Going to Cover


          The Foundations of Human Identity

          Tribalism and Social Grouping

          The Big Bag of Social Identity Fail

          Experimental Identity Methods


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




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



                    Step 1: Perform Discovery

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




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>


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



                     Step 2: Collect User Data

                    curl
http://www.google.com/s2/webfinger/?q=nakedt
           echnologist@gmail.com


X.Commerce (eBay Inc.)
http://www.x.com | @x_commerce
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
Experimental Identity: WebFinger


         profileUrl              name
         id                       formatted
         thumbnail url            family name
         urls                     given name
         photos                   display name



X.Commerce (eBay Inc.)
http://www.x.com | @x_commerce
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 business

X.Commerce (eBay Inc.)
http://www.x.com | @x_commerce
Thanks! Any Questions?
http://slidesha.re/confoo_identity2



                                      Jonathan LeBlanc
                                Email: jleblanc@x.com
                                    Twitter: @jcleblanc
                  Github: https://github.com/jcleblanc

Mais conteúdo relacionado

Semelhante a 2012 Confoo: Defining User Identity

Web marketing Anand Saini
Web marketing  Anand SainiWeb marketing  Anand Saini
Web marketing Anand Saini
Dr,Saini Anand
 
Bg Concordia Socnet Identity Final
Bg Concordia Socnet Identity FinalBg Concordia Socnet Identity Final
Bg Concordia Socnet Identity Final
Mike Gotta
 

Semelhante a 2012 Confoo: Defining User Identity (20)

2012 O'Reilly TOC: Commerce Identity
2012 O'Reilly TOC: Commerce Identity2012 O'Reilly TOC: Commerce Identity
2012 O'Reilly TOC: Commerce Identity
 
2012 UKTI Startup Mission
2012 UKTI Startup Mission2012 UKTI Startup Mission
2012 UKTI Startup Mission
 
X University Georgia Tech: Overview
X University Georgia Tech: OverviewX University Georgia Tech: Overview
X University Georgia Tech: Overview
 
X University Georgia Tech: ql.io and Identity
X University Georgia Tech: ql.io and IdentityX University Georgia Tech: ql.io and Identity
X University Georgia Tech: ql.io and Identity
 
Find,Mix And Show
Find,Mix And ShowFind,Mix And Show
Find,Mix And Show
 
Whats The Buzz
Whats The BuzzWhats The Buzz
Whats The Buzz
 
Scaling business app development with Play and Scala
Scaling business app development with Play and ScalaScaling business app development with Play and Scala
Scaling business app development with Play and Scala
 
Building Social Enterprise with Ruby and Salesforce
Building Social Enterprise with Ruby and SalesforceBuilding Social Enterprise with Ruby and Salesforce
Building Social Enterprise with Ruby and Salesforce
 
Pragmatic Designer's Guide to Identity on the Web
Pragmatic Designer's Guide to Identity on the WebPragmatic Designer's Guide to Identity on the Web
Pragmatic Designer's Guide to Identity on the Web
 
"Atomization" - a new trend in online marketing and how to exploit it
"Atomization" - a new trend in online marketing and how to exploit it"Atomization" - a new trend in online marketing and how to exploit it
"Atomization" - a new trend in online marketing and how to exploit it
 
Data Science for Beginner by Chetan Khatri and Deptt. of Computer Science, Ka...
Data Science for Beginner by Chetan Khatri and Deptt. of Computer Science, Ka...Data Science for Beginner by Chetan Khatri and Deptt. of Computer Science, Ka...
Data Science for Beginner by Chetan Khatri and Deptt. of Computer Science, Ka...
 
We are Digital Puppets
We are Digital PuppetsWe are Digital Puppets
We are Digital Puppets
 
The social media developer
The social media developer The social media developer
The social media developer
 
11ntcfailinform resources
11ntcfailinform resources11ntcfailinform resources
11ntcfailinform resources
 
SXSWi 2012: Programming Social Applications
SXSWi 2012: Programming Social ApplicationsSXSWi 2012: Programming Social Applications
SXSWi 2012: Programming Social Applications
 
Hacked - EVERYONE INTRUSTED
Hacked - EVERYONE INTRUSTEDHacked - EVERYONE INTRUSTED
Hacked - EVERYONE INTRUSTED
 
Towards the decentralisation of personal data through blockchains and linked ...
Towards the decentralisation of personal data through blockchains and linked ...Towards the decentralisation of personal data through blockchains and linked ...
Towards the decentralisation of personal data through blockchains and linked ...
 
Web marketing Anand Saini
Web marketing  Anand SainiWeb marketing  Anand Saini
Web marketing Anand Saini
 
Smart Content = Smart Business
Smart Content = Smart BusinessSmart Content = Smart Business
Smart Content = Smart Business
 
Bg Concordia Socnet Identity Final
Bg Concordia Socnet Identity FinalBg Concordia Socnet Identity Final
Bg Concordia Socnet Identity Final
 

Mais de Jonathan LeBlanc

Mais de Jonathan LeBlanc (20)

JavaScript App Security: Auth and Identity on the Client
JavaScript App Security: Auth and Identity on the ClientJavaScript App Security: Auth and Identity on the Client
JavaScript App Security: Auth and Identity on the Client
 
Improving Developer Onboarding Through Intelligent Data Insights
Improving Developer Onboarding Through Intelligent Data InsightsImproving Developer Onboarding Through Intelligent Data Insights
Improving Developer Onboarding Through Intelligent Data Insights
 
Better Data with Machine Learning and Serverless
Better Data with Machine Learning and ServerlessBetter Data with Machine Learning and Serverless
Better Data with Machine Learning and Serverless
 
Best Practices for Application Development with Box
Best Practices for Application Development with BoxBest Practices for Application Development with Box
Best Practices for Application Development with Box
 
Box Platform Overview
Box Platform OverviewBox Platform Overview
Box Platform Overview
 
Box Platform Developer Workshop
Box Platform Developer WorkshopBox Platform Developer Workshop
Box Platform Developer Workshop
 
Modern Cloud Data Security Practices
Modern Cloud Data Security PracticesModern Cloud Data Security Practices
Modern Cloud Data Security Practices
 
Box Authentication Types
Box Authentication TypesBox Authentication Types
Box Authentication Types
 
Understanding Box UI Elements
Understanding Box UI ElementsUnderstanding Box UI Elements
Understanding Box UI Elements
 
Understanding Box applications, tokens, and scoping
Understanding Box applications, tokens, and scopingUnderstanding Box applications, tokens, and scoping
Understanding Box applications, tokens, and scoping
 
The Future of Online Money: Creating Secure Payments Globally
The Future of Online Money: Creating Secure Payments GloballyThe Future of Online Money: Creating Secure Payments Globally
The Future of Online Money: Creating Secure Payments Globally
 
Modern API Security with JSON Web Tokens
Modern API Security with JSON Web TokensModern API Security with JSON Web Tokens
Modern API Security with JSON Web Tokens
 
Creating an In-Aisle Purchasing System from Scratch
Creating an In-Aisle Purchasing System from ScratchCreating an In-Aisle Purchasing System from Scratch
Creating an In-Aisle Purchasing System from Scratch
 
Secure Payments Over Mixed Communication Media
Secure Payments Over Mixed Communication MediaSecure Payments Over Mixed Communication Media
Secure Payments Over Mixed Communication Media
 
Protecting the Future of Mobile Payments
Protecting the Future of Mobile PaymentsProtecting the Future of Mobile Payments
Protecting the Future of Mobile Payments
 
Node.js Authentication and Data Security
Node.js Authentication and Data SecurityNode.js Authentication and Data Security
Node.js Authentication and Data Security
 
PHP Identity and Data Security
PHP Identity and Data SecurityPHP Identity and Data Security
PHP Identity and Data Security
 
Secure Payments Over Mixed Communication Media
Secure Payments Over Mixed Communication MediaSecure Payments Over Mixed Communication Media
Secure Payments Over Mixed Communication Media
 
Protecting the Future of Mobile Payments
Protecting the Future of Mobile PaymentsProtecting the Future of Mobile Payments
Protecting the Future of Mobile Payments
 
Future of Identity, Data, and Wearable Security
Future of Identity, Data, and Wearable SecurityFuture of Identity, Data, and Wearable Security
Future of Identity, Data, and Wearable Security
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 

2012 Confoo: Defining User Identity

  • 1. Defining User Identity True Identity VS Anonymity Jonathan LeBlanc Developer Evangelist: X.commerce Email: jleblanc@x.com Twitter: @jcleblanc
  • 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 Methods X.Commerce (eBay Inc.) http://www.x.com | @x_commerce
  • 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 Methods X.Commerce (eBay Inc.) http://www.x.com | @x_commerce
  • 4. Human Identity: User Types Anonymous Users Real Identity Login X.Commerce (eBay Inc.) http://www.x.com | @x_commerce
  • 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 Mozilla X.Commerce (eBay Inc.) http://www.x.com | @x_commerce
  • 6. Human Identity: Anonymous Users X.Commerce (eBay Inc.) http://www.x.com | @x_commerce
  • 7. Human Identity: Tracking Anonymous Users There are a few common options Tracking Cookie Local Storage X.Commerce (eBay Inc.) http://www.x.com | @x_commerce
  • 8. Human Identity: Tracking Anonymous Users Program Overview • On each page visited, track the URL • HTML5 Local Storage as primary storage • Cookies as secondary storage X.Commerce (eBay Inc.) http://www.x.com | @x_commerce
  • 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. 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. 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. 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. Human Identity: Real Identity Users X.Commerce (eBay Inc.) http://www.x.com | @x_commerce
  • 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. Human Identity: BrowserID X.Commerce (eBay Inc.) http://www.x.com | @x_commerce
  • 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. 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. 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. What We’re Going to Cover The Foundations of Human Identity Tribalism and Social Grouping The Big Bag of Social Identity Fail Experimental Identity Methods X.Commerce (eBay Inc.) http://www.x.com | @x_commerce
  • 20. Social Grouping: It’s Not A New Thing… X.Commerce (eBay Inc.) http://www.x.com | @x_commerce
  • 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 relationships X.Commerce (eBay Inc.) http://www.x.com | @x_commerce
  • 22. Social Grouping: The Real Life Social Graph X.Commerce (eBay Inc.) http://www.x.com | @x_commerce
  • 23. Social Grouping: The Online Social Graph X.Commerce (eBay Inc.) http://www.x.com | @x_commerce
  • 24. Social Grouping: Group Types Follower Type Connection Type Group Type X.Commerce (eBay Inc.) http://www.x.com | @x_commerce
  • 25. Social Grouping: Data Miners are Rock Stars X.Commerce (eBay Inc.) http://www.x.com | @x_commerce
  • 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. Social Grouping: Group Programming Primer Step 1: Obtain Website Content X.Commerce (eBay Inc.) http://www.x.com | @x_commerce
  • 28. Social Grouping: Group Programming Primer Step 2: Perform Keyword Density Search X.Commerce (eBay Inc.) http://www.x.com | @x_commerce
  • 29. Social Grouping: Group Programming Primer Step 3: Weight Keywords X.Commerce (eBay Inc.) http://www.x.com | @x_commerce
  • 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 Methods X.Commerce (eBay Inc.) http://www.x.com | @x_commerce
  • 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. 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. 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. What We’re Going to Cover The Foundations of Human Identity Tribalism and Social Grouping The Big Bag of Social Identity Fail Experimental Identity Methods X.Commerce (eBay Inc.) http://www.x.com | @x_commerce
  • 35. Experimental Identity: WebFinger X.Commerce (eBay Inc.) http://www.x.com | @x_commerce
  • 36. Experimental Identity: WebFinger Step 1: Perform Discovery curl https://gmail.com/.well-known/host-meta X.Commerce (eBay Inc.) http://www.x.com | @x_commerce
  • 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. Experimental Identity: WebFinger Step 2: Collect User Data curl http://www.google.com/s2/webfinger/?q=nakedt echnologist@gmail.com X.Commerce (eBay Inc.) http://www.x.com | @x_commerce
  • 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. Experimental Identity: WebFinger profileUrl name id formatted thumbnail url family name urls given name photos display name X.Commerce (eBay Inc.) http://www.x.com | @x_commerce
  • 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 business X.Commerce (eBay Inc.) http://www.x.com | @x_commerce
  • 42. Thanks! Any Questions? http://slidesha.re/confoo_identity2 Jonathan LeBlanc Email: jleblanc@x.com Twitter: @jcleblanc Github: https://github.com/jcleblanc

Notas do Editor

  1. Suck in web content via curlConvert to valid XML document (do not use as text and run Regex against it)
  2. Search through text on the page and store words + how often they are usedStrip out common words
  3. Use meta description and keywords to match against your keyword density searchUse Open Graph protocol tags to find more keywords and page content
  4. http://gizmodo.com/5470696/fck-you-google
  5. http://www.pcmag.com/article2/0,2817,2399970,00.asp
  6. 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