The Open Graph protocol Understanding the design decisions WWW Conference April th, David Recordon
The Open Graph protocolUnderstanding the design decisions
WWW Conference !"#"April !$th, !"#"David Recordon
The product experience
Design goals
Useful to others beyond Facebook.
Copy and paste.
Simple markup. Simple schema.
What’s needed?
! What is the user liking?
" A clean page title
# An image
$ A canonical URL
!) What is the user likingBased off of the most popular categories for Facebook Pages.
▪ Activities
▪ Businesses
▪ Groups
▪ Organizations
▪ People
▪ Places
▪ Products and Entertainment
▪ Websites
") A clean page titleSearch Engine Optimization has caused all sorts of stuff to be crammed into the <title> tag.
▪ “The Semantic Web & THE POWER OF PULL | Blog Archive | The Facebook Open Graph, Part I”
▪ “A New Data Model –%Facebook Developer Blog”
▪ “W&C Track @ WWW!"#", Raleigh, NC, USA ; !$-&" April !"#"”
▪ “Open Graph Protocol | Google Groups”
#) A canonical URLWe wanted to use link-rel canonical.
▪ Major publishers were concerned that adding link-rel canonical would negatively impact their ranking within search engines.
A simple example
What’s desired?
% A short description
& A site name (for collections of pages)
' Location information
( Contact information
$) A short descriptionA simple schema.
▪ Not respecting Don’t Repeat Yourself.
▪ Optimized for a consistent schema versus reuse of existing meta tags.
▪ One namespace. One prefix.▪ One HTML tag attribute (“property”)
What we didn’t wantBut tried.
Too complex!
%) Location information
▪ Couldn’t find a – simple – location markup specification.
▪ Reused the property names from the Microformat hCard
▪ Fully expect this information to be expressed within the page body versus the head.
▪ RDFa gives us a consistent syntax for both cases.
Adoption
AdoptionSeven days later!
▪ Hosted services
▪ og:it - simple metadata extractor to HTML▪ OpenGraph.in - simple metadata extractor to HTML and JSON▪ Multiple RDF parsers now understand the Open Graph protocol▪ Open Graph protocol to JSON convertor for testing
▪ Open Source libraries for Java, Perl, PHP, and Ruby
▪ WordPress plugin for easy publishing
http://opengraphprotocol.org/#implementations
Thanks! Questions?http://opengraphprotocol.org/[email protected]