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

2012 O'Reilly TOC: Commerce Identity
2012 O'Reilly TOC: Commerce Identity2012 O'Reilly TOC: Commerce Identity
2012 O'Reilly TOC: Commerce IdentityJonathan LeBlanc
 
X University Georgia Tech: Overview
X University Georgia Tech: OverviewX University Georgia Tech: Overview
X University Georgia Tech: OverviewJonathan LeBlanc
 
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 IdentityJonathan LeBlanc
 
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 ScalaPeter Hilton
 
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 SalesforceRaymond Gao
 
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 WebJamie Reffell
 
"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 itEconsultancy
 
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...Chetan Khatri
 
11ntcfailinform resources
11ntcfailinform resources11ntcfailinform resources
11ntcfailinform resourcesSimone Parrish
 
SXSWi 2012: Programming Social Applications
SXSWi 2012: Programming Social ApplicationsSXSWi 2012: Programming Social Applications
SXSWi 2012: Programming Social ApplicationsJonathan LeBlanc
 
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 ...John Domingue
 
Web marketing Anand Saini
Web marketing  Anand SainiWeb marketing  Anand Saini
Web marketing Anand SainiDr,Saini Anand
 
Smart Content = Smart Business
Smart Content = Smart BusinessSmart Content = Smart Business
Smart Content = Smart BusinessSeth Grimes
 
Bg Concordia Socnet Identity Final
Bg Concordia Socnet Identity FinalBg Concordia Socnet Identity Final
Bg Concordia Socnet Identity FinalMike 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

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 ClientJonathan LeBlanc
 
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 InsightsJonathan LeBlanc
 
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 ServerlessJonathan LeBlanc
 
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 BoxJonathan LeBlanc
 
Box Platform Developer Workshop
Box Platform Developer WorkshopBox Platform Developer Workshop
Box Platform Developer WorkshopJonathan LeBlanc
 
Modern Cloud Data Security Practices
Modern Cloud Data Security PracticesModern Cloud Data Security Practices
Modern Cloud Data Security PracticesJonathan LeBlanc
 
Understanding Box UI Elements
Understanding Box UI ElementsUnderstanding Box UI Elements
Understanding Box UI ElementsJonathan LeBlanc
 
Understanding Box applications, tokens, and scoping
Understanding Box applications, tokens, and scopingUnderstanding Box applications, tokens, and scoping
Understanding Box applications, tokens, and scopingJonathan LeBlanc
 
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 GloballyJonathan LeBlanc
 
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 TokensJonathan LeBlanc
 
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 ScratchJonathan LeBlanc
 
Secure Payments Over Mixed Communication Media
Secure Payments Over Mixed Communication MediaSecure Payments Over Mixed Communication Media
Secure Payments Over Mixed Communication MediaJonathan LeBlanc
 
Protecting the Future of Mobile Payments
Protecting the Future of Mobile PaymentsProtecting the Future of Mobile Payments
Protecting the Future of Mobile PaymentsJonathan LeBlanc
 
Node.js Authentication and Data Security
Node.js Authentication and Data SecurityNode.js Authentication and Data Security
Node.js Authentication and Data SecurityJonathan LeBlanc
 
PHP Identity and Data Security
PHP Identity and Data SecurityPHP Identity and Data Security
PHP Identity and Data SecurityJonathan LeBlanc
 
Secure Payments Over Mixed Communication Media
Secure Payments Over Mixed Communication MediaSecure Payments Over Mixed Communication Media
Secure Payments Over Mixed Communication MediaJonathan LeBlanc
 
Protecting the Future of Mobile Payments
Protecting the Future of Mobile PaymentsProtecting the Future of Mobile Payments
Protecting the Future of Mobile PaymentsJonathan LeBlanc
 
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 SecurityJonathan 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

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 

Último (20)

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 

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