5 steps to being an oEmbed provider

In the words of the specification,

“oEmbed is a format for allowing an embedded representation of a URL on third party sites. The simple API allows a website to display embedded content (such as photos or videos) when a user posts a link to that resource, without having to parse the resource directly.”

oEmbed is now provided by or for many web 2.0 and multimedia sites including YouTube, Flickr, Slideshare, Revion3, Vimeo, Viddler, nfb.ca, Wordpress.com…

I’ve recently been implementing experimental oEmbed servers or “providers” for a number of projects I’m associated with.

Sweet Heaven, by Jacqui Mould - on Flicker

“oEmbed is like a box of chocolates.”

So here are my five suggestions for becoming a provider:

  1. Read the specification at oembed.com, experiment with the services at oohembed.com and/or using jquery-oembed (or modules/extensions for Drupal, Django…)

  2. Plan and implement your oEmbed service, for example,

     http://example.com/oembed?format=json&url=http%3A//example.com/video/UnIqUe_Id
    
  3. Test, for example using jquery-oembed. Ensure that you follow accessibility best practice – don’t use <param name="wmode" value="opaque"/> (or transparent) in any Flash embed code (this hides the Flash object entirely from screen readers) and provide a meaningful title.

  4. Add 2 lines to the <head> element of your HTML pages, for example, for the page, http://example.com/video/UnIqUe_Id, add:

<link rel="alternate" type="application/json+oembed" title="My example"
  href="http://example.com/oembed?format=json&url=http%3A//example.com/video/UnIqUe_Id" />
<link rel="alternate" type="application/xml+oembed" title="My example"
  href="http://example.com/oembed?format=xml&url=http%3A//example.com/video/UnIqUe_Id" />
  1. Spread the word and blog about it, with documentation and examples. In time, you may be listed at oohembed.com!

I’d love to hear your experiences with oEmbed.

Updated with a pretty photo – 16 October 2015.

'SM' comments disabled.

'ID' comments disabled.