2009年10月22日 星期四

WeeePhoto: Best Connected TV Award on Yahoo Open Hack Day 200

很幸運的! 我們撈回來了一個獎項 Best Connected TV Award
Brian & Richard
Sapp
網站連結:
http://mbsapp.no-ip.org/weeephoto

目前還在規劃接下來的 Schedule,有打算在今年開放給朋友玩。
這些都是提外話,在這裡做個簡單的記錄,敘述一下這幾天的心得。

參賽:
原本我已經對比賽這回事沒什麼興趣,CP值不高,搞那麼久的時間獎金還不夠支付我的薪水,就在報名截止的前一天晚上(當時還不知道報名截止日),Brian 丟了我 msn,問我要不要參賽,當時心裡想著『反正上個月初就提辭呈了, 這幾天應該就走人了, 玩玩也好』,也就口頭上答應了。基於行程規劃,也順口問了一下比賽日期,和報名截止日,當下才知道隔天報名截止,而且比賽日期... 你知道的,就是 10/17 ~ 10/18 兩天,當時很天真的以為這種競賽突然出現,突然比賽,一切都是比創意,不像以往的比賽一比就是半年,然後每個團隊拿出來的作品都是實驗室做了大半年的東西,或者是十幾個人寫的東西,三四個代表出賽,總之,一切的一切都在很緊急的情況下進行...

Taiwan Beer Golden version
本以為至少可以開心喝酒與妹聊天然後和高手 social,沒想到只是藉酒精麻醉自己熬夜的痛苦

Hack Girl
這是中場串場的 hack girl

IDEA:
整個想法的雛形是由 Brian 發起,並由 Richard 和我一同討論出最後的模樣,實際上 Brian 的第一個 IDEA 報名隔天就被我和 Richard 給 reject 掉了XD,但隔沒兩天 Brian 就提出這個可行的創意還讓我們覺得滿不錯的,之後就是討論討論再討論,大概長什麼樣子,什麼東西要什麼東西不要,只能說 idea 源源不絕的一直冒出來。

競賽當週:
因為都在上班,所以平時都用 gmail 連絡,也是當週的星期一開始寫 code 的。我本來是養老精神,不熬夜不加班的人,那個星期不知道怎麼回事,每天都搞到天亮,平均睡不到三個小時 (後來我發現大部分的時間都是該死的 Yahoo API 害的!),星期六早上報到時要說完成度的話,大概就只完成 1/3 不到吧... 而且都是我隊友貢獻來的,哈哈。

競賽第一天:
IMG_6351
進入會場很巧的遇到隔壁桌的碩班學長 XD

基本上我遲到了,十點多才到,到位置換好衣服後,大概閒聊一下,認識一下剛見面的 Richard,接著就到大廳討論要做什麼與分工。
1. 大致上就是:
Brian: 美工、YUI、DB 兼監工
Richard: flex、YQL、YMap 兼技術溝通人員
Sapp: server 端、Flickr、OAuth、Y! MEME
2. 當天真的很神奇,報到前的完成度大概是:
Brian: 拉了兩頁 main page (其中一頁沒有 demo,東西太多被我們從120秒中捨棄了)、基本的 DB 弄好
Richard: flex 弄了個地圖出來,可以在地圖上 show 小圖片
Sapp: 自以為搞定 OAuth API
3. 大概11點左右討論完分工,就開始下去瘋狂的 coding,當天晚上12點前的完成度是這樣:
Brain: 和 Richard 合力把首頁幹了起來
Richard: 小照片點下去會出現大照片,和一些經過我們計算過的相片價值
Sapp: 提供最省時省力的 flickr query 給 Richard 和 Brian,自以為把 OAuth API 整合到我們的系統內

競賽第二天:
其實過12點我就算第二天了,為了睡飽飽加上省時間,我搭了計程車回家,回到家才發現不得了,登入登出的 OAuth 認證有問題,解到3點後,又把 Y! MEME 的 API 看了一下,想說明天也許用得到。
後來睡不到3個小時又爬起來趕到會場,這時大概早上9點:
Brian: 和 Richard 把相片交易的部分搞定
Richard: 把歷史記錄折線圖搞定
Sapp: 把昨天自以為弄好的 OAuth 搞定XD
大概簡短的討論一下分工與取捨,我們捨去一些不夠吸引眼光的部分,像是排名,相片搜尋,非地圖式顯示,以特有的 slide 方式呈現結果,追縱相片,Contact 整合(後來想想這個地方應該留著的XD)
然後開始最後衝刺,Demo 前:
All: 不斷修飾待會120秒間,Brian 要 Demo 的內容和流程
Brian: 解決不同瀏覽器的 CSS 問題
Richard: 提供 flex 與我這邊的溝通管道,並解決 layer 相互重疊等問題
Sapp: 把 Y! meme 整合進來

Our Presentation
IMG_6384
然後就是 Demo,當下只覺得這整個 IDEA 很有趣,回響也不錯,就整個覺的很有機會 (老實說,當我看到一整排的評審是教授時我臉都綠了,我一直以為來的都會是像 tempo 這種技術底子硬是了得的人)。等全部的 Demo 結束後沒多久我們就開始睡了,一整個累啊... 我當時覺得我的五臟六腑都在滾了說,等到頒獎開獎我還在考慮要不要上前拍照,後來就索性坐在舞台正中央下面,有人站上去就拍照,有人喊得獎隊伍就拍照。
IMG_6471
萬萬沒想到在 Connected TV Award 的時候喊到的隊伍號碼是 Twenty-Two XD,我是一整個錯愕啦,雖然當天曾有想過把那個 Connected TV 放進去,不過評估了一下還是沒有放,沒想到得了這個獎,評審說的也沒錯,的確不知道該把我們放在那個分類,既然這樣就放在評審特別獎、佳作或優勝啊XD。所以我在錯愕下上了台,相機也忘了拿給別人,因此我的相機沒有我們得獎的合照,哈哈
IMG_6534

總之,一整個過程是很有趣啦,因為我曾想過要不要去Y!,要是我曾是 Y! 員工的話,我想我就不能參賽了XD,那不就很可惜~"~ (之前玩 Android 就是看到那個條款,所以才用這個原因 reject 某H??),不過在這短短的一個星期內有撈到一個獎還不錯,只能說老外真的太強了,兩天真的是很拼,我們拼死拼活也花了一星期。

幹樵時間到!!!
OAuth API:
1. 最好是申請 API Key 的時候全部的欄位都要填,然後全部的欄位都會檢查
2. 最好是沒選任何一個 API 的時候,認證就不讓我過 (曾經,現在不確定)
3. 最好是特定 domain name 申請不了 API Key,還跟我說是 internal error
Y! meme API:
1. 都沒人教你們 API 放出來要把 GET implement 完嗎?
2. 最好是除了 query 之外的動作只有 jsonp 通
3. 最好是 Yahoo.inc 給我一個不完整的版本,怎麼沒提供 callback 選項
4. 最好是除了 new post 之外的所有 repost comment 都會給我 delay
5. 最好是討論最熱烈的是葡萄牙文,啊不就還好有 google translate
Flickr API:
1. 為什麼你們都沒有缺點讓我幹橋 (除了 md5 那個漏洞該補一補之外 XD)

最後談談我們可能獲獎原因:
1. Idea 沒重疊,好像也沒什麼人玩這個
2. 用了比較少人用的東西
a. OAuth API: 只有我們現場 Demo,不過我猜大部分的評審也看不懂這個 API 難搞的程度有多高啦
b. Y! meme: 英版服務上個月推出,API 也才前一個星期才釋放出來
c. flickr api: 因為我玩很兇,所以有在用,可能台灣沒什麼人玩,所以這次也沒啥人用吧
3. 版面漂亮乾淨

有人問我為什麼不用 wretch api? 我只能說沒開放出我們要的東西,如果他的 API 和 Flickr 一樣豐富,下次我們也許會用。

4 意見:

Ansel 提到...

色胚, 偷拍hack girl~

Sapp 提到...

加減拍的
其實還滿多張的XD

Unknown 提到...

前輩你好,我有參照Yahoo API範例寫了一個透過Yahoo抓取通訊錄聯繫人的程式,

我是用contacts,也是透過OAuth,

但是在用了約一個禮拜後,整個程式突然不能運作了,感覺像是session過期的關係,getSessionedUser()函式突然變成無法使用了,

我自己程設的底子太淺,實在找不出究竟是出了什麼問題,google找遍了也找不到相關資料,

所以才想來請問得過獎的前輩,不知道是否能把我的程式傳給前輩看看,前輩應該一看就知道問題在哪邊了,

如果前輩能幫我解決這個問題,我再包一個小紅包給您,台灣好像沒有幾位熟知API的專家,我也實在不曉得該問誰.....

如果可以的話,這是我的MSN:sacrilly_226@yahoo.com.tw,希望能問您一些問題,先跟您說聲謝謝囉。

Sapp 提到...

To 翊:
如果你已經用了一個星期了,代表你的 API key "曾經"是可以用的
首先你要先釐清問題所在,看是 yahoo 的問題,還是 sdk 的問題,還是程式的問題

1. 若有之前的版本,看要不要 rollback 回去試試
也許是你有加上新的東西和 sdk 裡面功能的名字衝突
或者加上新的功能(如寫入),而原本的 api key 沒有開放到這個功能的權限
2. 如果你有自己管理 session 的話,也許是管理出問題
把 server 上的 session 清掉看會不會好
3. 如果還是有問題的話,執行 sdk 的範例程式,就知道是 Yahoo 的問題還是你的問題了