Search
Close this search box.

開發門檻比 Android 高,來探索 Google Glass 的 Mirror API 吧


Google 昨天對外公佈了一系列有關 Google Glass 的硬件細節,同時也公開了 Google Glass 的開發者 API,名為 Google Mirror API我們從幾方面來看一下 Glass 的 API 會容許開發者做些什麼。

  • 從 Glass 應用的設計原則看來,它的開發門檻應該比 Android 高

Google Mirror API 是一種 RESTful Web 服務類 API。開發者給 Google Glass 寫的應用叫做 Glassware,Google 希望 Glass 可以帶給用戶下一代的移動互聯網體驗,也給出 4 條相應的設計原則:

1. 為 Glass 而設計:你的應用應該是專門為 Glass而設計、開發和測試,以保證適合Glass的用戶體驗。

2. 不要妨礙用戶:Glass 的用戶希望在需要時使用科技,而在不需要時讓科技消失;不要過分使用用戶不期待的通知。

3. 及時性:信息的實時性和及時性會讓 Glass 這個平台最有效。

4. 避免用戶意料之外的事情:應用中包括用戶沒有期待的功能,在任何平台上都是不好的,但是因為 Glass 和用戶的生活體驗太接近了,所以更要避免。你需要對用戶誠實解釋你應用的目的和所需要的用戶授權。

很顯然,Go​​ogle 對待 Glass 的態度有點像對待自己的小孩兒一樣,一切都是小心翼翼的,而 Glass 的應用門檻可能也會比 Android 應用要更高一些。

  • 時間軸卡片的一切

Glass 向用戶展示信息的主要方式是通過「時間軸卡片(Timeline Card)」,時間軸卡片可以顯示文字、圖片、視頻和 HTML。除了單卡片顯示之外,開發者也可以將多張卡片放在一起(bundle),然後用戶可以通過聲音或者觸控瀏覽。這當然也意味著開發者們的 Glassware 應用,最終的信息呈現也是通過這些時間軸卡片。

最常見的 API 行為包括:

1. 在時間軸上創建新卡片

2.更新原來的卡片

3. 通過卡片的菜單獲得用戶的輸入

4. 接受 Glass 的通知,所以可以對用戶的行為做相應的反應

而附加背景的時間軸卡片是這樣的:

 

  • Hello World

每一位程序員在學習一個新語言或 API 時,做的第一件事應該都是寫「Hello World」。以下是 Glass API 的 Hello World 程序:

HTTP/1.1 201 Created Date: Tue, 25 Sep
2012 23:30:11 GMT Content-Type:
application/json Content-Length: 303

{ “kind”: “glass#timelineItem”,
“id”: “1234567890”, “selfLink”:
https://www.googleapis.com/mirror/v1/timeline/1234567890“,
“created”: “2012- 09-25T23:28:43.192Z”,
“updated”: “2012-09-25T23:28:43.192Z”,
“etag”:
“”G5BI0RWvj-0jWdBrdWrPZV7xPKw/t25selcGS3uDEVT6FB09hAG-QQ””,
“text”: ” Hello world” }

這種語構,對於使用過其它 RESTful API 的開發者,應該還是比較容易上手的。

顯示的結果是:

  • GPS 定位和地圖:Glass 的應用會有很多與 LBS 相關

另一類應該是很常用的 API Call 應該是與地理位置有關的,因為我們可以想像很多 Glass 的應用會是屬於 LBS 類型的應用。

開發者可以通過 Mirror API 直接請求用戶的最後已知位置,也可以通過「訂閱(subscribe)」來獲取用戶位置的更新,但是對於這種訂閱式的位置更新,Google 限制 Glass 在只能每十分鐘發送一次;原因除了是為了節省電力,應該也有出於用戶隱私的一些考慮。

Glass 和 Google 地圖有​​深度結合,可以通過 Mirror API 直接渲染出一個 Google 地圖的圖片,開發者可以指定地點、路線、地圖寬度、地圖高度和聚焦等參數。顯示結果也是通過時間軸卡片: 

  • 分享權限和「聯繫人」

在默認權限下,Glass 應用只可以控制應用自己創造的時間軸卡片,用戶需要通過一種「聯繫人」方式的授權,來容許跨應用的時間軸卡片分享,以及分享用戶自己用 Glass 創造的媒體,比如照片和視頻來獲得分享授權。Glass 應用需要發送給用戶一個請求,其中要包含應用的 ID、名字和圖標;Google 建議圖標為 640*360 像素的 PNG 文件。

總而言之,我們可以看得出,不同於 Android API,Google Mirror API 目前並不容許開發者直接與硬件接軌,而且是非常重視用戶隱私和遵守權限的。

這個原因很多,Glass 是一種全新的智能設備,而且與用戶的距離比以前任何一種智能設備要更親密。所以,Google 在 API 方面最開始採取比較保守的態度,是意料之中的。第一代 iPhone 的 API 相比現在的 iOS API 也要單薄很多,Google 必定會繼續擴展 Mirror API 中的功能,讓開發者們可以實現更多的應用設計。

這是 Google Mirror API 的地址,Java 的示範應用,和 Python 的示範應用