Friday, April 23, 2010

facebook open graph protocol/api

今天早上起來就看到f8,還在那邊裝Like按鈕,沒想到剛剛看了文章才發現這次的open graph真的很猛。

先看open graph protocol的簡介:

The Open Graph protocol enables you to integrate your web pages into the social graph. It is currently designed for web pages representing profiles of real-world things — things like movies, sports teams, celebrities, and restaurants. Once your pages become objects in the graph, users can establish connections to your pages as they do with Facebook Pages. Based on the structured data you provide via the Open Graph protocol, your pages show up richly across Facebook: in user profiles, within search results and in News Feed. 

意思是,按照Open Graph protocol來定義網頁,比方說電影、球隊、餐廳的網頁,這些個體,就變成了一個在facebook(or, the graph)上可以被使用者操控的物件(每個都有一個unique_id)。使用者可以Like這些物件。對使用者來說,可以更快更方便的知道朋友喜歡什麼東西,而且幾乎是網路上所有網頁而不只是facebook裡面的那些粉絲專業或社團頁面!對於開發者或是其他網頁經營者,透過Open Graph,自己的應用程式或是網頁更容易在facebook上被廣泛的傳閱。而對於facebook來說,他拿到了是更詳細的使用者偏好以及一大堆可以分析的網頁活動記錄。

在open graph protocol的第二段,講到og meta tag的格式,這根本就是semantic web的簡易版。og meta tag可以用來描述上面提到的objects,包括這個頁面的標題、描述還有最重要的型態。型態包含然後facebook提供了按鈕諸如目前的Like。Then we have a triple. 在semantic web裡面,有一種描述文件或資源間關係的方法是用一個三元表達示:主詞 謂語(動詞) 受詞,用這三個元素來表達人與人間、人與物間、物與物間的關係。而目前的Like按鈕,可以做到的三元描述是 Object_A “Likes” Object_B。我相信在未來一定可以有更多的按鈕以及描述方式,比方說變成朋友好了,就會是 Object_A “make friend with” Object_B. 而Object_A與Object_B是兩個使用者。

這樣的作法有什麼好處?就是可以讓整體網路的資料更為結構化,我們可以做更多的事情。比方說我可以把所有討厭或喜愛某電影的人都找出來。或是把某個人歷任的女友都找出來。(只要他提供一個謂語是becomes a gf/bf of)

有點離題了,總結到目前為驚奇的是:facebook要建semantic web而且似乎還很有可能讓他建起來,因為他提供了足夠的誘因給建立網頁內容的人。更甚者是,如果真的成功了,那facebook的推薦系統一定超準,收集使用資料對於facebook來說簡直是不費吹灰之力。對於google來說,只能透過使用者在google的服務輸入的內容進行收集,而facebook則打算侵入整個web。

另一個讓我覺得驚訝的功能是,open graph的管理功能。如果我沒看錯的話,他的意思是,今天我在我的網頁上裝了Like按鈕。當有使用者按了這個按鈕之後,就類似這個使用者成為了我這個頁面的fans,所以我可以送新的消息給按了Like按鈕的使用者。節錄如下:

 

Each listed user must click Like on the URL to be approved as an admin. This is to prevent users being made admins without their consent.

Once you have associated the page with your Facebook account, the page will show up in Pages You Admin on Facebook. From that interface,you can publish stream updates and get detailed analytics about the users who have liked your page.

所以意思是,從整個網路,只要裝了Like按鈕,賣藥的賣書的賣服務的所有人都有機會建立channel可以把新消息送給使用者。按了這一個按鈕,就等於以前你在別人的網站上為了什麼優惠填一堆資料讓他可以寄eDM給你一樣,只是現在不再mail inbox,而在你的facebook stream。

很久沒有這種很興奮的感覺,上一次有這種感覺好像還是facebook connect推出的時候。

建議大家真的有空可以去看看facebook上面的介紹,覺得這真的是影響世界的東西。

http://developers.facebook.com/docs/opengraph

http://developers.facebook.com/docs/api