YAP雅虎應用程式平台
Yahoo! Application Platformjosephj / 蔣定宇
高空彈跳(2008.9.7,澳門旅遊塔)
twitter : josephj6802http://josephj.com
YDN EvangelistYDN 創新科技推廣工程師
Hi! 我是 josephj(啊嗚)
高空彈跳(2008.9.7,澳門旅遊塔)
twitter : josephj6802http://josephj.com
YDN EvangelistYDN 創新科技推廣工程師
Hi! 我是 josephj(啊嗚)
高空彈跳(2008.9.7,澳門旅遊塔)
twitter : josephj6802http://josephj.com
YDN EvangelistYDN 創新科技推廣工程師
今日菜單
1. YOS、YAP 的基本概念
2. OpenSocial 的故事
3. Yahoo! 的策略
I. Y!OS、YAP 的基本概念
全球技術長 Ari 來台的簡報Introducing Yahoo! Open Strategy
Y!OS
Application Platform
Social Platform
Web Services Platform
Y! Mail
Y! FP
EU Sport
… Partner
Sites
YDN
One framework for
developing applications
One social graph and profile
record
One web services standard
for developers
One front door for
developers
Open Reg and Infrastructure
Y!OS Stacks
SearchMonkey
Standard
views
Mail Frontpage
Mobile
Contextual views
Yahoo! Application Platform
Y!OS 簡單來說就是,找到正確的方向、開放 Yahoo! 整個網站
Open 能帶來什麼好處?
• 提供很棒的服務與架構
Amazon Web Services
Amazon Web Services: Bigger Than Amazonhttp://www.readwriteweb.com/archives/amazon_web_services_bigger_than_amazon.php
• 提供很棒的服務與架構• 貨品資訊:Associate Web Service
Amazon Web Services
Amazon Web Services: Bigger Than Amazonhttp://www.readwriteweb.com/archives/amazon_web_services_bigger_than_amazon.php
• 提供很棒的服務與架構• 貨品資訊:Associate Web Service
• 雲端科技:SimpleDB、E2C
Amazon Web Services
Amazon Web Services: Bigger Than Amazonhttp://www.readwriteweb.com/archives/amazon_web_services_bigger_than_amazon.php
• 提供很棒的服務與架構• 貨品資訊:Associate Web Service
• 雲端科技:SimpleDB、E2C
• 使用者有許多大型企業集團
Amazon Web Services
Amazon Web Services: Bigger Than Amazonhttp://www.readwriteweb.com/archives/amazon_web_services_bigger_than_amazon.php
• 提供很棒的服務與架構• 貨品資訊:Associate Web Service
• 雲端科技:SimpleDB、E2C
• 使用者有許多大型企業集團• 2008 Q1 的 Revenue 是 $131M
Amazon Web Services
Amazon Web Services: Bigger Than Amazonhttp://www.readwriteweb.com/archives/amazon_web_services_bigger_than_amazon.php
Y!OS 是一個「決策」的方向。它不是一個「系統」或「架構」
重點在於要如何 Open 才能讓 Yahoo! 更好
以上為 Y!OS 的理念開發者大致了解即可
與開發者有密切相關的是
「雅虎應用程式平台」
Yahoo Application Platform 、簡稱 YAP
YAP 讓所有開發者,可在 Yahoo! 的頁面開發應用程式,而使用者可以選擇安裝
及移除。
目前符合 YAP 定義的有: 1. 搜尋結果頁的 SearchMonkey 2. 手機 Yahoo! Go 上的 BluePrint
•搜尋結果頁•開發者改進搜尋結果外觀•需要使用者安裝
• Yahoo! Go 及 Web
•開發者撰寫手機應用程式•需要使用者安裝
• 開發者:• 利用 Y!建立自己的 Business
• Yahoo:
• 不需耗費公司人力仰賴外部開發者寫出好用功能
• Partner Integration、有更多的合作機會
若只開放搜尋結果頁以及 Yahoo! Go開放的程度似乎太少了
Yahoo! 及開發者關心的都是:讓頁面可以放置外部開發者的程式
可放置應用程式的容器叫 DropZone
II. Open Social 的故事
在講 YAP 及 DropZone 前,先講 Open Social 的歷史與概念
名詞、混亂的根源!
• Social
• Open
• Open Social
• OpenSocial
• Y! OS
到底他們的定義是什麼!!??
Case Study 1:
玩過「碎碎念」嗎
Case Study 1:
玩過「碎碎念」嗎
• 是個簡單到不行的網站
• 是個簡單到不行的網站• 只有一個最多 140 個字的文字輸入框:
What are you doing?
Updates就像 MSN 的狀態、暱稱
Updates就像 MSN 的狀態、暱稱
「Update」狀態
Updates就像 MSN 的狀態、暱稱
我 Follow 的人
目前訊息
“Update” 我的訊息
別人給我的回覆
我的歷史訊息
Following : 我訂閱了那些人的訊息。
Follower : 哪些人訂閱了我的訊息。
簡單幾頁、串起人際網路
這就是 Social
Twitter 提供的 Open API 頁
TwitterFox在 Firefox 上的擴充元件
twhirl跨平台的 Twitter Client
Twitterific在 Mac 上的 Client 軟體
twittai隨時隨地 twitter手機上的 Client
因 Open API 而產生眾多的 Client 與 Marshup,這就是 Open!
從 Twitter 學到什麼?
• Following 與 Follower:建立起彼此間的關係。
從 Twitter 學到什麼?
• Following 與 Follower:建立起彼此間的關係。
• Updates:每個人的訊息記錄、現在的狀態。
從 Twitter 學到什麼?
• Following 與 Follower:建立起彼此間的關係。
• Updates:每個人的訊息記錄、現在的狀態。
• Open API:提供程式介面給外部使用者做存取資料、開發、不斷地有好軟體出現。
從 Twitter 學到什麼?
• Following 與 Follower:建立起彼此間的關係。
• Updates:每個人的訊息記錄、現在的狀態。
• Open API:提供程式介面給外部使用者做存取資料、開發、不斷地有好軟體出現。
Social Network / Connection
從 Twitter 學到什麼?
• Following 與 Follower:建立起彼此間的關係。
• Updates:每個人的訊息記錄、現在的狀態。
• Open API:提供程式介面給外部使用者做存取資料、開發、不斷地有好軟體出現。
Social Network / Connection
Activity / Vitality
從 Twitter 學到什麼?
• Following 與 Follower:建立起彼此間的關係。
• Updates:每個人的訊息記錄、現在的狀態。
• Open API:提供程式介面給外部使用者做存取資料、開發、不斷地有好軟體出現。
Social Network / Connection
Activity / Vitality
Open API / Web Services
Twitter 與 Open Social
• 是一個 Social 網站:人與人之間的互動
• 有 Open API( Web Service)
• Open + Social != Open Social
Y!OS Stacks
Open API (Web Services)
註:Yahoo! 的最大優勢即在於此,社群及內容資料 的多樣性是其他網站無法匹敵的。
Y!OS Stacks
Open API (Web Services)
資料存取的能力是 Open Social 的基礎水電建設
註:Yahoo! 的最大優勢即在於此,社群及內容資料 的多樣性是其他網站無法匹敵的。
Open Social 的定義是「讓外部開發者可在此社群撰寫應用程式」
目前 Twitter 還沒有這樣的功能。
Case Study 2:
誰開啟了新的歷史
Case Study 2:
誰開啟了新的歷史
圖片來源:http://www.flickr.com/photos/kk/2327597086/
• 2007/5/24:Facebook 創辦人 Mark Zuckerberg 開放了平台: F8
圖片來源:http://www.flickr.com/photos/kk/2327597086/
• 開發者可以在 Facebook 建立應用程式、甚至放自己的廣告
• 經典影片:F8 Keynote
facebook 的一個應用程式有多種不同的 View
Feeds View
Profile View
Application View
Canvas View
Facebook 的問題
• 開發人員成本高:• FBML:FaceBook Markup Language
• FBJS:FaceBook JavaScript
• FQL:FaceBook Query Language
• 若每個要 Open 的大網站都自己有一套,開發者的苦難將永無止盡
Y!OS Stacks
Open API (Web Service)
Social Platform
Y!OS Stacks
Open API (Web Service)
Social Platform
以 Open API 為基礎並提供社群資料的存取
以標準為訴求的 OpenSocial
以標準為訴求的 OpenSocial
iGoogle:讓開發者寫 Gadget使用者可安裝 Gadget
這跟 YAP 的概念不是很像嗎?
但... Google 社群基礎較弱,若只是用 Gadget 做 Open Social 平台,價值較低、跟 F8 比起來也弱了許多。
所以 Google 創了新名詞:OpenSocial(注意少了中間的空白)
• 開放 Gadget 技術:Gadget Server / Gadget Container
• 另外訂立 OpenSocial API 規格及技術:OpenSocial Container JavaScript / OpenSocial Data Server
整合到 Open Source Project 中、讓每個網站在安裝後皆可顯示以 Gadget 格式所製作的應用程式。
Google 深耕自己在技術領域上的優勢:
此 Project 叫 Shindig,有 JAVA 與 PHP 版
Shindig = Gadget + OpenSocial
http://sandbox.josephj.com/gadgets/ifr?url=www.labpixies.com/campaigns/weather/weather.xml
我的網站已安裝 Shindig可編譯符合 Gadget 規格的遠端 XML 檔
OpenSocial API 規格(JavaScript / RESTful)
非常多的網站參與 OpenSocial
已實作的 OpenSocial Container
有什麼好處?
有什麼好處?
• 快速建立 Following / Follower 社群功能
有什麼好處?
• 快速建立 Following / Follower 社群功能
• 由外部開發者替我的網站寫程式
有什麼好處?
• 快速建立 Following / Follower 社群功能
• 由外部開發者替我的網站寫程式• 應用程式流通性高
有什麼好處?
• 快速建立 Following / Follower 社群功能
• 由外部開發者替我的網站寫程式• 應用程式流通性高• 開發者負擔減輕
Y!OS Stacks
Open API (Web Service)
Social Platform
Y!OS Stacks
Open API (Web Service)
Social Platform
Facebook 的技術封閉OpenSocial 是開放標準
III. 深入瞭解 YAP
III. 深入瞭解 YAP
Yahoo! 鼓勵開放,成為了 OpenSocial 的夥伴。將支援 OpenSocial API 的規格、但不採用 Gadget 的技術。http://opensocialapis.blogspot.com/2008/03/opensocial-meet-yahoo.html
Gadget 一律採 External XML 的方式,而 Yahoo! 則建立了統一的 Web 開發介面:YAP Developer Studio,希望減少開發者的負擔及提昇程式的穩定度。
YAP 開發環境
開發工具的特點
• 不走 Gadget 規格:
• HTML/CSS/JavaScript
• YML(Yahoo! Markup Language)
• 顯示模式(Target)有兩種:
• Small Box
• Application Base
YML 是 Yahoo! Markup Language。YAP 會將開發者撰寫的 YML 編譯成 HTML,也會視情況將相關的 JavaScript 函式庫引用。藉由 YML,開發者可以:
•取得 Social 資料:例如使用者的朋友列表
•快速產生豐富的互動介面:例如 UI Widgets。
•資料封裝:顯示使用者私人與即時的資料。
Small Box 就像是 My Yahoo! 中的一個 Module。最小寬度為 300px、最大高度為 250px。主要目的是顯示使用者的身分、讓其他使用者有興趣點選到資訊更多的 Application Base。
Application Base 的寬度為 760px、高度則無限制。開發者可在這種 View 撰寫 HTML、YML、JavaScript、CSS(會經過安全驗證),也可以在此放置廣告。
開發完畢之後,可將 YAP 應用程式放到 Gallery 上供使用者挑選。
使用者從 Gallery 中挑選喜歡的程式
使用者也須選擇放置的區塊、與 Gadget Container 有別,叫 DropZone。也是未來 Yahoo! 要部屬在服務的開放區塊。
使用者決定要將此程式放到那些 DropZone
Pat Jameson 邀請朋友可共享晚餐
已知的 DropZoneYahoo! ProfilePat Jameson 的部落格
Pat Jameson 的留言板
已知的 DropZone:Yahoo! Mail
利用 Mail/Contact API 做 Local 的建議
已知的 DropZone:Yahoo! Frontdoor
我的好友們推薦的餐廳
未知的 DropZone:Partner 的網站
未知的 DropZone:與你的服務整合
結合 Y!Sports 與某家售票系統
Y!OS Stacks
Open API (Web Service)
Social Platform
Y!OS Stacks
Open API (Web Service)
Social Platform
Application Platform
開發環境部屬區塊
Updates 平台:使用者在某服務的任何活動,
可透過此平台分享給他的朋友知道。
裝好即時通 9.0 Beta 點選我的 Icon 就會看到此視窗
你明明就不是我 Twitter 的聯絡人,為什麼可以看到我的 Twitter 內容?
http://manage.community.yahoo.com/vitality/
原來是我在 MyBlogLog 有設定 Twitter Feed,而且這邊又設了分享,才會顯示在 Y!M 上
Y!OS Stacks
Open API (Web Service)
Social Platform
Application Platform
Y!OS Stacks
Open API (Web Service)
Social Platform
Application Platform
YDN
開發者統一入口Yahoo! Developer Network
Thanks.