加入RUN!PC粉絲團 加入RUN!PC粉絲團
 
資訊人語
分享到Plurk
分享到FaceBook
 
透過線上自助創作 列印拉近親友距離
hypo以Mac為基礎發展雲端服務
文/圖 白郎原.攝影/Steven Yu

雲端服務這兩年可謂產業當紅炸子雞,所有國內外廠商均搶搭新聞熱潮,希望能夠從中得到曝光與商機。在大部分的目光還放在以雲端技術這個名詞進行宣傳時,卻早已有一群人默默以非主流的Mac技術發展雲端服務,透過網站提供線上即時編輯相簿,進行輸出列印的個性化印刷品。

於 2006年成立的hypo百集斯,目前經營的是當紅的雲端服務,以Web介面提供一般民眾透過網路進行相片編排及列印的服務。hypo執行長張育豪說明,hypo這個字原本是一種專業暗房藥劑名稱,因為簡短好記,又符合公司經營服務的方向,因此選用這個名字做為公司的正式名稱。


hypo百集斯執行長張育豪(中)與研發工程師(左1卓建安),利用開放原始碼資源落實設計概念。



從Apple iPhoto服務在地化到 提供Web介面
張育豪表示,對Mac的使用族群而言,Apple iPhoto提供了相當便利的功能與服務,可以將日常拍下來的相片整理、編輯,甚至還能送到輸出中心直接列印個人化相片書籍並遞送至指定地點。但不幸的是,這項個人化列印服務僅僅只在美國地區提供,使得台灣Mac族群只能扼腕歎息,也因此觸發張育豪自己來做iPhoto台灣在地化服務的想法。

一開始hypo僅僅只是以半年時間所設計的一個與iPhoto整合的外掛程式iPhoto plugin。安裝成功後就可以透過hypo的付費機制與印刷系統,訂購攝影集、月曆、卡片等個人化商品,補上了台灣地區的iPhoto列印服務缺口,同時開始在Mac族群中建立起口碑。

到了2007年,hypo決定將業務範疇加以延伸,進階成為網路印刷服務。他們結合了數位科技、產品設計與製書工藝,開發出hypoDot網路服務,讓使用者可直接在線上製作寫真書、相簿、作品集、紀念冊、iPhoto攝影集、月曆,可贈送給家人朋友當作別出心裁的禮物。除了直接上傳至hypo準備的hypoDot Silo空間之外,hypoDot尚能直接串連flickr帳號,直接讀取flickr相簿,省去重覆上傳的麻煩。

張育豪強調,hypo的優勢其實是將設計與技術結合,和一般強調純以技術起家的網路公司並不相同。目前hypo具有繁體中文、簡體中文及英文等不同語言介面的服務。張育豪說,如果以用戶的男女比例來看,女生並不會比男生少,表示此類軟性訴求的產品對女性有相當大的吸引力。目前hypoDot網路列印提供了兩種編排列印方式:Ticket(7.2×15公分)與12平方(12×12公分)。但隨著數位相機進步所帶來的大尺寸圖檔,hypo團隊也正在開發更大的列印尺寸產品。


hypo現有IT環境介紹
和其他一般發展網路服務廠商的不同之處,是hypo團隊全部採用Mac體系的環境進行系統開發。hypo研發工程師卓建安表示,由於hypo一開始是從iPhoto plugin進行服務的研發,加上團隊成員本身也都是Mac愛好者,熟悉Mac平台,因此自然地選擇了一般人較少採用的Mac伺服器後台及程式開發環境。目前hypo將台灣地區的Mac Pro伺服器委外置放於中華電信機房,另有一台Xserve置於上海地區IDC機房以服務中國地區用戶。執行長張育豪表示,hypo在上海的業務才剛展開,不過網站架構已先考量不同地區需求,同時納入繁中、簡中及英文介面,可以服務兩岸三地的民眾;目前港澳地區的業務更是占了hypo的20%業績。


開原碼漸成氣候
在與開發人員的互動上,卓建安覺得老闆雖然不了解技術細節,但是相當注重與開發人員的溝通,同時也授權開發人員勇於進行嘗試。卓建安說,為了能夠兼顧成本和開發彈性,hypo的後台幾乎選用的都是開放原始碼相關平台,像是iPhoto plugin和hypoDot都是利用Ruby on Rails這個架構所開發出來的。Ruby on Rails在hypo團隊選擇的時候正是國外當紅的架構,同時上手很快。但是卓建安形容Ruby on Rails的學習曲線陡,剛開始很容易,但學習一陣子之後就會碰上瓶頸,像是必須了解http原理才能更深入。不過Ruby on Rails的確解決了資料庫查詢等語法問題,讓hypo團隊得以專心在介面的開發上著墨。為了介接容易,資料庫也採用了PostgreSQL和MySQL;後台應用程式平台選用的則是Mac平台專用的WebObjects。

卓建安說,一開始hypo系統的開發僅著重於功能面,並未完整考慮擴充性的問題。等到開始增加新產品,就發現伺服器開始撐不住,才著手進行系統擴充的準備。目前採用的方式,是讓系統間改採message queue的方式進行溝通,把負載較重的部分分散到其他伺服器進行以減輕負擔。

觀察這幾年的趨勢,卓建安說明,Mac開發者有愈來愈多人選用開放原始碼工具,人數增加的非常快。開原碼的好處是可以直接了解程式碼內容,依需求修改其中一部分後進行使用,對開發人員來說較為方便。另外開原碼社群更新速度很快,同時更新也比一般想像中來的簡單,同時也提供了詳細的更動說明文件。

如果平台或是工具上發現有修正版本或是資安補丁,hypo團隊都會以最快的速度進行更新,利用自行開發的部署工具部署至伺服器上,不至於影響系統的正常運行。

至於系統版本控制的部分,卓建安表示之前採用的是SVN,但後來發現有些問題與麻煩,所以後來改換用GIT。GIT的branch功能相當好用,系統可以分成不同的branch進行開發,像是大陸用的系統和台灣系統分開進行等。等到程式碼穩定後再將其部署到伺服器上,出現問題時再rollback回來,降低系統維護的困難度。資料庫也會每天進行快照備份,以便在出錯時進行復原的動作。

過程困難重重仍一一克服
在系統開發時,如果能利用平台所提供的API,卓建安都會盡量利用原有API;但如果碰上問題,團隊就必須自行撰寫程式解決問題。像是以message queue方式和Facebook的不同套件溝通時,團隊就必須自行動手撰寫library將它們結合起來。利用這些介接社交網站的API,hypo系統才能在使用者認證之後直接讀取照片庫,節省使用者的時間與精力,以專注於書籍或相簿的設計。

為了加快工作團隊的溝通及節省成本,Hypo大部分內部的辦公應用程式也都採用了雲端服務。像是文件處理採用Google Docs,其他Google應用程式也都用做辦公室內部溝通的主要工具。而為了讓更多公司同事及同好了解蘋果WWDC的研討會內容,hypo團隊甚至在短時間內寫出程式,利用網站(http://wwdc.hypo. cc)進行即時實況轉播,並自行嵌入了聊天室功能。

服務後台雲端化仍待觀察
針對台灣發展中的Iaas與Paas等雲端基礎平台,張育豪與卓建安表示,由於hypo採用的是Mac平台,與一般雲端系統開發環境並不相同。為了避免系統平台相容性以及租用成本過高等各種可能考量,短期內不會考慮移植到這些平台上。要等到其發展成熟,成本不會過於高昂時,hypo才會考慮採用這類雲端平台服務。

hypo百集斯目前IT環境

後台伺服器作業系統:Mac OSX 10.5 / 10.6
資料庫:PostgreSQL, MySQL
程式設計:vim, emacs, TextMate
網頁設計:Cocoa
主體編輯器:Ruby(搭配Ruby on Rails)
後台:Java (WebObjects)
網頁:Ruby, PHP

Apple iPhoto服務

iPhoto是MacOS平台上的一套照片整理、編輯及發布工具軟體。iPhoto的功能包括:
●整理:依照人物、位置、以及時間整理,讓照片井然有序。
●改善畫質:去除紅眼、裁切、修整、讓色彩更鮮明。
●觀賞:在Mac、iPod或是iPhone上觀賞幻燈片秀。
●透過網路分享:將照片發布至Facebook、Flickr或是MobileMe。
●列印分享(僅限美國、日本、加拿大,以及部分歐洲與亞洲國家):使用者可自行設計、編排及列印●相簿(硬皮封面、軟皮封面、圈裝)、月曆、賀卡/明信片。



【原文刊載於RUN!PC雜誌:2010年3月號】