A guest contribution by Klaus Breyer
Up to now it’s been mandatory for each Open Graph Object to refer to a corresponding URL/webpage containing the actual Open Graph metatags which manifest the object and its attributes. Open Graph is threading the infinite depths of the web with its’ meta tags, spanning a semantic web unprecedentedly large & detailled. Many native, mobile apps are just portals to their respective webservices (think client-apps for Twitter, Path etc.), thus being rooted in the web anyway — but not all apps are like that: some native apps happen to happen outside the world wide web, and for those this mandatory link to the web was a big problem (think Instagram before they even had a web-frontend). But now our friends at Facebook have had a change of heart — a bona fide paradgim shift to be exact — allowing Open Graph Objects to be created and hosted directly within Facebook!
Introducing the new Object Browser
Enter the newly launched Object Browser which can be used for prototyping Open Graph objects rapidly. Just enter the essential Open Graph tags (og:title, og:url, og:image) and Facebook will generate an Object ID, which applications can in turn use as target for Open Graph Actions instead of a URL. Here’s an example of an action published with the Graph API Explorer:
Objects can now also be generated automatically via the Object API. This works similar to the Achievements API: objects are created with their respective attributes beforehand, just to be triggered with their distinctive ID when the respective action occurs for a particular user.
The visible result — the published story in Newsfeed — is the same, but now it’s possible to comfortably adjust attributes like URL or title in the Object Browser anytime after publishing!
Objects can be contextual to the user or the app, the difference being that app contextual objects are accessible globally/publicly while user contextual objects retain the privacy settings the user has defined for his data in the app. Within the Object Browser, it’s not only possible to select the app for which you’re creating objects, but also the user for whom the objects are to be generated.
Hosting Open Graph objects on Facebook’s side makes life not only much easier for developers of mobile-only applications — another advantage is that objects can be moved to a different domain more easily since they are referenced by an ID instead of a URL. Presumably hosted Open Graph objects will also see improvements in terms of caching.
Defenders of privacy may criticise that parts of the infrastructure are being transferred to Facebook, but the advantage in faster & simpler app development is undeniable. And after all it’s an optional migration — just another great offer for app developers to smoothly integrate their products even deeper into the Facebook experience.
This article was originally published in German language by our friends at allfacebook.de, translation by Harry Weber.