Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

OExchange Technical Intro

A short technical introduction to OExchange

  • Login to see the comments

OExchange Technical Intro

  1. 1. OExchange<br />An Open Protocol Stack for URL-Based Content Sharing on the Web(Quick Geek Remix)<br />May 2010<br />
  2. 2. What are we trying to do here? <br />The Web includes an unbounded number of services for sharing, posting, translating, printing, saving for later, and more<br />Goal #1: Provide a simple, default way for users to send any URL-based content to any service on the web<br />Goal #2: Allow users to personalize their choices, across tools, publishers, and machines<br />
  3. 3. We Need an Open Protocol Solution<br />Discover<br />Personalize<br />Exchange<br />A means to associate preferred services with a user<br />A way to interrogate and discover services that can accept content<br />A common and simple way to send content, using its URI, to a service<br /><ul><li>Support forcurrently-deployed solutions, future new UX, and verbs beyond “share”</li></ul>Current-generation tools:<br />Focus on sharing<br />Take the form of buttons, rows of chiclets, popup menus, toolbars<br />Present too many choices; may not even include what the user wants <br />
  4. 4. The Basic Solution<br />A standard endpoint, and a defined HTTP GET flow to send URLs to that endpoint<br />An “Offer” endpoint takes standard arguments (always including URL); has browser control for the transaction<br />An XRD-based resource that describes the service<br />A “Target XRD” document includes the endpoint and related information about the service<br />Host-Meta and page-level Link tags make the service discoverable<br />I accept URLs at my Offer endpoint:<br />http://<me>/<whatever>?url=<url>&<etc><br />That and some info for humans is in my XRD doc:<br />http://<me>/<whatever>/target.xrd<br />You can discover it from my host-meta or in-page Link tags:<br />rel=“…/related-target”<br />
  5. 5. The Offer Flow<br />Build on a deployed browser-based paradigm (add “headless” modes once discovery is adopted)<br />Enforce URLs as primary content indicators (supporting any tagging schemes)<br />Plan for extensibility of verbs (“offer” is the most generic)<br />Content source, in a user’s browser<br />Receiving service (social network, translator, whatever)<br />HTTP GET, usually target=“_blank”<br />http://<service>/<whatever>?url=<url>&<etc><br />Service-specific UI; browser session up to service<br />Browser session continued<br />
  6. 6. About Typing<br />We’re ALWAYS sending URLs<br />URLs which are viewable in a browser<br />URLs which may use any embedded tags (OGP, microformats, etc.)<br />We’re optionally sending extra stuff<br />Iframe URLs, images, rich media objects<br />This gives us <br />guaranteed compatibility, without ANY negotiation<br />an ability to offer a richer experience for services that support it<br />
  7. 7. Personalizing Choices<br />If you can send content to any service, and discover new services automatically…<br />Let a user store their preferences<br />Let all tools, including browsers, access it<br />http://<service><br />http://<service><br />http://<service><br />WebFinger lookup<br />Personal XRD with OExchange links<br />http://<service>/target.xrd<br />http://<service>/target.xrd<br />http://<service>/target.xrd<br />http://<service>/target.xrd<br /><br />Optional local cache<br />
  8. 8. So What?<br />For Services<br />Receive more content, from a greater variety of tools and content providers<br />For Users<br />Get the right option at the right time for sharing, saving, blogging, whatever<br />Engage with longer-tail communities of interest<br />For Publishers<br />Get more of your content out, through more efficient share-through<br />Don’t have to decide between options<br />
  9. 9. Taking it Forward<br />Our strategy<br />Codify the existing model for basic content exchange on the web, while adding a new discovery capability<br />Add new exchange models once this foundation is deployed<br />Additional exchange models<br />With discovery in place, its easy to standardize more optimized exchange flows<br />Headless and return-to-source are primary examples<br />User addressing; mutual service negotiation in “Send to Mom” type use-cases<br />Learn more at<br />