SlideShare ist ein Scribd-Unternehmen logo
1 von 13
NASCAR for SharingLink-Sharing as Use-Case for Personal Discovery XRD : XAuth : WebFinger : Host-Meta : OExchange “If you liked NASCAR for identity, you’ll love it for sharing!” IIW10
Now
The Use-Case Present users with personalized options for operating on URL-based content, wherever they encounter it. Personalization must span machines, browsers, sites, and time Services will NOT necessarily be known at design time The user operation: ,[object Object]
The action is a basic HTTP-GET-based URL exchange (e.g. facebook/share.php?u=<whatever,[object Object]
Implementing Personalization Now that “service” == URI, we can move on.  But how? http://<service>/<whatever>.xrd http://<service>/<whatever>.xrd http://<service>/<whatever>.xrd http://<service>/<whatever>.xrd http://<service>/<whatever>.xrd
And Does it Even Matter? The space of potential services is THE WEB! Is this a Facebook person or a Twitter person? That’s the least of it (e.g. AddThis’ new-service request queue is ~1000 The services across the long tail link-back at more impressive rates Smaller, more tightly-knit online communities == more heavily endorsed content People I went to high school with vs people who share interests There are even more interesting use-cases Send to “mom”, negotiate the service-in-common
Protocol Requirements The set of services I “probably want to use”: >= “the set I am currently logged in to” != “the set that I’ve used before on this machine” >= the set of services known at design time Minimal user friction in this lookup e.g. a clickable chiclet would be good, if it was the right chiclet  Express the services in the form of something discoverable “facebook” or “twitter” strings aren’t Hostnames aren’t necessarily
Some Current Anti-NASCAR Techniques Start with a reasonable default set (based on something) Factor in observed behavior Behavior the tools facilitate Behavior the tools don’t facilitate  Some employed techniques for handling the unfacilitated CSS visited hackery Publisher-cooperative signals View-analytics All stored in cross-domain storage of some sort (3rd party cookies, HTML storage)
Discussion topics…
Using XAuth (the spec’d version)? What it is Central-serve JS as a means to x-domain HTML5 storage Callers set a string against their hostname, make avail to other hosts Retrievers look it up for a given hostname, if allowed How it helps Possible to know if a user interacted with the service on a given host No user friction at all How it helps less Tokens undefined, really just boolean existence checks Information not shared across browsers, machines, possibly time No mechanism for discovery of new services Model is somewhat unusual (less a protocol and more a shared serving infrastructure + code)
Using XAuth (a reimagined version)? What it is Add some meaning to the tokens – potentially JSON, expressing interfaces available at specific URLs Allow service-oriented rather than host-oriented lookup How it helps Now possible to get “all implementations of this interface this user uses” Could allow “get all implementations of this interface that this user uses” How it helps less Still fundamentally the same single-browser, shared-server solution May be better thought of as a cache (of WebFinger perhaps?)
Using WebFinger? What it is Ability to look up an XRD for a user, using an email address (for all intents and purposes), and get endpoints for specific protocols How it helps Services can look up instances of a specific interface for a user using their email address only Shared across the web, user agents, etc How it helps less Deployment challenges (esp. for provisioning) Potential caching challenges (how recent is the preference data?) Presents a “enter your email address” user friction point
Other Items? End goal is to allow a user to express the services they prefer to use to operate on URLs they encounter.  How? Getting services at auth-time?  (“Connect”) Is it more seamless for the user than an email?   Does this need to be authenticated? Can you get it for other people? Protocol state of the state XAuth WebFinger Using discovery for even more – negotiated-service intermediaries (“send to mom” use-case) Browser-based, shared storage of prefs

Weitere ähnliche Inhalte

Andere mochten auch (8)

Distributed Social Networking
Distributed Social NetworkingDistributed Social Networking
Distributed Social Networking
 
Top 5 Tips for Building Viral Social Web Applications and Sites
Top 5 Tips for Building Viral Social Web Applications and SitesTop 5 Tips for Building Viral Social Web Applications and Sites
Top 5 Tips for Building Viral Social Web Applications and Sites
 
Salmon Protocol - OpenWebTO
Salmon Protocol - OpenWebTOSalmon Protocol - OpenWebTO
Salmon Protocol - OpenWebTO
 
How to create OpenSocial Apps in 45 minutes
How to create OpenSocial Apps in 45 minutesHow to create OpenSocial Apps in 45 minutes
How to create OpenSocial Apps in 45 minutes
 
Introduction to rg\injection
Introduction to rg\injectionIntroduction to rg\injection
Introduction to rg\injection
 
Creating OpenSocial Apps
Creating OpenSocial AppsCreating OpenSocial Apps
Creating OpenSocial Apps
 
Social Apps Done Right
Social Apps Done RightSocial Apps Done Right
Social Apps Done Right
 
Creating social games for millions of users
Creating social games for millions of usersCreating social games for millions of users
Creating social games for millions of users
 

Ähnlich wie IIW10 NASCAR for Sharing

W-JAX Performance Workshop - Web and AJAX
W-JAX Performance Workshop - Web and AJAXW-JAX Performance Workshop - Web and AJAX
W-JAX Performance Workshop - Web and AJAX
Alois Reitbauer
 
Taking A Look At Web Services
Taking A Look At Web ServicesTaking A Look At Web Services
Taking A Look At Web Services
Stacey Cruz
 
Synchronous Reads Asynchronous Writes RubyConf 2009
Synchronous Reads Asynchronous Writes RubyConf 2009Synchronous Reads Asynchronous Writes RubyConf 2009
Synchronous Reads Asynchronous Writes RubyConf 2009
pauldix
 
Bd conf sencha touch workshop
Bd conf sencha touch workshopBd conf sencha touch workshop
Bd conf sencha touch workshop
James Pearce
 

Ähnlich wie IIW10 NASCAR for Sharing (20)

About OExchange
About OExchangeAbout OExchange
About OExchange
 
Blog Enhancing through Extensions
Blog Enhancing through ExtensionsBlog Enhancing through Extensions
Blog Enhancing through Extensions
 
Intro to advanced web development
Intro to advanced web developmentIntro to advanced web development
Intro to advanced web development
 
OExchange Technical Intro
OExchange Technical IntroOExchange Technical Intro
OExchange Technical Intro
 
Website 101
Website 101Website 101
Website 101
 
Intro to-html-backbone
Intro to-html-backboneIntro to-html-backbone
Intro to-html-backbone
 
Widget SOA
Widget SOAWidget SOA
Widget SOA
 
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
 
Scalable Architectures - Microsoft Finland DevDays 2014
Scalable Architectures - Microsoft Finland DevDays 2014Scalable Architectures - Microsoft Finland DevDays 2014
Scalable Architectures - Microsoft Finland DevDays 2014
 
Websites Unlimited - Pay Monthly Websites
Websites Unlimited - Pay Monthly WebsitesWebsites Unlimited - Pay Monthly Websites
Websites Unlimited - Pay Monthly Websites
 
Dfg Intranet Development
Dfg Intranet DevelopmentDfg Intranet Development
Dfg Intranet Development
 
W-JAX Performance Workshop - Web and AJAX
W-JAX Performance Workshop - Web and AJAXW-JAX Performance Workshop - Web and AJAX
W-JAX Performance Workshop - Web and AJAX
 
Servlet & jsp
Servlet  &  jspServlet  &  jsp
Servlet & jsp
 
Guide Hosting Dictionary
Guide Hosting DictionaryGuide Hosting Dictionary
Guide Hosting Dictionary
 
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017 So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
 
Taking A Look At Web Services
Taking A Look At Web ServicesTaking A Look At Web Services
Taking A Look At Web Services
 
Synchronous Reads Asynchronous Writes RubyConf 2009
Synchronous Reads Asynchronous Writes RubyConf 2009Synchronous Reads Asynchronous Writes RubyConf 2009
Synchronous Reads Asynchronous Writes RubyConf 2009
 
Advanced Web Development
Advanced Web DevelopmentAdvanced Web Development
Advanced Web Development
 
Bd conf sencha touch workshop
Bd conf sencha touch workshopBd conf sencha touch workshop
Bd conf sencha touch workshop
 
Dojo - from web page to web apps
Dojo - from web page to web appsDojo - from web page to web apps
Dojo - from web page to web apps
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Kürzlich hochgeladen (20)

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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
 
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
 
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
 
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?
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
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
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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
 

IIW10 NASCAR for Sharing

  • 1. NASCAR for SharingLink-Sharing as Use-Case for Personal Discovery XRD : XAuth : WebFinger : Host-Meta : OExchange “If you liked NASCAR for identity, you’ll love it for sharing!” IIW10
  • 2. Now
  • 3.
  • 4.
  • 5. Implementing Personalization Now that “service” == URI, we can move on. But how? http://<service>/<whatever>.xrd http://<service>/<whatever>.xrd http://<service>/<whatever>.xrd http://<service>/<whatever>.xrd http://<service>/<whatever>.xrd
  • 6. And Does it Even Matter? The space of potential services is THE WEB! Is this a Facebook person or a Twitter person? That’s the least of it (e.g. AddThis’ new-service request queue is ~1000 The services across the long tail link-back at more impressive rates Smaller, more tightly-knit online communities == more heavily endorsed content People I went to high school with vs people who share interests There are even more interesting use-cases Send to “mom”, negotiate the service-in-common
  • 7. Protocol Requirements The set of services I “probably want to use”: >= “the set I am currently logged in to” != “the set that I’ve used before on this machine” >= the set of services known at design time Minimal user friction in this lookup e.g. a clickable chiclet would be good, if it was the right chiclet Express the services in the form of something discoverable “facebook” or “twitter” strings aren’t Hostnames aren’t necessarily
  • 8. Some Current Anti-NASCAR Techniques Start with a reasonable default set (based on something) Factor in observed behavior Behavior the tools facilitate Behavior the tools don’t facilitate Some employed techniques for handling the unfacilitated CSS visited hackery Publisher-cooperative signals View-analytics All stored in cross-domain storage of some sort (3rd party cookies, HTML storage)
  • 10. Using XAuth (the spec’d version)? What it is Central-serve JS as a means to x-domain HTML5 storage Callers set a string against their hostname, make avail to other hosts Retrievers look it up for a given hostname, if allowed How it helps Possible to know if a user interacted with the service on a given host No user friction at all How it helps less Tokens undefined, really just boolean existence checks Information not shared across browsers, machines, possibly time No mechanism for discovery of new services Model is somewhat unusual (less a protocol and more a shared serving infrastructure + code)
  • 11. Using XAuth (a reimagined version)? What it is Add some meaning to the tokens – potentially JSON, expressing interfaces available at specific URLs Allow service-oriented rather than host-oriented lookup How it helps Now possible to get “all implementations of this interface this user uses” Could allow “get all implementations of this interface that this user uses” How it helps less Still fundamentally the same single-browser, shared-server solution May be better thought of as a cache (of WebFinger perhaps?)
  • 12. Using WebFinger? What it is Ability to look up an XRD for a user, using an email address (for all intents and purposes), and get endpoints for specific protocols How it helps Services can look up instances of a specific interface for a user using their email address only Shared across the web, user agents, etc How it helps less Deployment challenges (esp. for provisioning) Potential caching challenges (how recent is the preference data?) Presents a “enter your email address” user friction point
  • 13. Other Items? End goal is to allow a user to express the services they prefer to use to operate on URLs they encounter. How? Getting services at auth-time? (“Connect”) Is it more seamless for the user than an email? Does this need to be authenticated? Can you get it for other people? Protocol state of the state XAuth WebFinger Using discovery for even more – negotiated-service intermediaries (“send to mom” use-case) Browser-based, shared storage of prefs