Google Glass之Mirror API探秘与开发实践

移动开发
今天 Google 对外公布了一系列有关 Google Glass 的硬件细节,同时也公开了 Google Glass 的开发者 API,名为Google Mirror API。我们从几方面来看一下 Glass 的 API 会容许开发者做些什么。

[[70736]]

Glass应用的设计原则

Google Mirror API 是一种RESTful Web 服务类 API;开发者给 Google Glass 写的应用叫做 "Glassware"。Google 希望 Glass 可以带给用户“下一代的移动互联网体验”,也给出 4 条相应的设计原则:

  • 为Glass而设计。你的应用应该是专门为Glass而设计、开发和测试,以保证适合Glass的用户体验。
  • 不要妨碍用户。Glass的用户希望在需要时使用科技,而在不需要是让科技消失。不要过分使用用户不期待的通知。
  • 及时性。信息的实时性和及时性会让Glass这个平台最有效。
  • 避免用户意料之外的事情。应用中包括用户没有期待的功能在任何平台上都是不好的,但是因为Glass和用户的生活体验太接近了,所以更要避免。你需要对用户诚实解释你应用的目的和所需要的用户授权。

很显然,Google 对待 Glass 的态度有点像对待自己的小孩儿一样,一切都是小心翼翼的,而 Glass 的应用门槛可能也会比 Android 应用要更高一些。

时间轴卡片的一切

Glass 向用户展示信息的主要方式是通过”时间轴卡片“(Timeline Card)。时间轴卡片可以显示文字、图片、视频和 HTML。除了单卡片显示之外,开发者也可以将多张卡片放在一起(bundle),然后用户可以通过声音或者触控浏览。

这当然也意味着开发者们的 "Glassware" 应用最终的信息呈现也是通过这些时间轴卡片。最常见的 API 行为包括:

  • 在时间轴上创建新卡片
  • 更新原来的卡片
  • 通过卡片的菜单获得用户的输入
  • 接受Glass的通知,所以可以对用户的行为做相应的反应

附加背景的时间轴卡片是这样的:

 

下面讲述Mirror API的开发实践,当然,首先是我们最熟悉的Hello World.

#p#

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 的开发者应该还是比较容易上手的。显示的结果是:

[[70737]]

GPS定位和地图

另一类应该是很常用的 API Call 应该是与地理位置有关的,因为我们可以想象很多 Glass 的应用会是属于 LBS 类型的应用。

开发者可以通过 Mirror API 直接请求用户的最后已知位置,也可以通过 " 订阅”(subscribe)来获取用户位置的更新,但是对于这种订阅式的位置更新,Google 限制 Glass 在只能每十分钟发送一次。这里的原因应该是为了节省电池使用,但应该也有出于用户隐私的一些考虑。

Glass 和 Google 地图有深度结合,可以通过 Mirror API 直接渲染出一个 Google 地图的图片,开发者可以指定地点、路线、地图宽度、地图高度和聚焦等参数。显示结果也是通过时间轴卡片:

分享权限和“联系人”

在默认权限下,Glass 应用只可以控制应用自己创造的时间轴卡片。用户需要通过一种”联系人“方式的授权来容许跨应用的时间轴卡片分享,以及分享用户自己用 Glass 创造的媒体,比如照片和视频。

来获得分享授权,Glass 应用需要发送给用户一个请求,其中要包含应用的 ID、名字和图标。Google 建议图标为 640x360 像素的 PNG 文件。

总而言之

我们可以看得出,不同于 Android API,Google Mirror API 目前并不容许开发者直接与硬件接轨,而且是非常重视用户隐私和遵守权限的。这个原因很多,Glass 是一种全新的智能设备,而且与用户的距离比以前任何一种智能设备要更亲密,所以 Google 在 API 方面最开始采取比较保守的态度是意料之中的。第一代 iPhone 的 API 相比现在的 iOS API 也要单薄很多,Google 必定会继续扩展 Mirror API 中的功能,让开发者们可以实现更多的应用设计。

这是Google Mirror API的地址,Java的示范应用,和Python的示范应用

责任编辑:徐川 来源: 36氪
相关推荐

2013-06-24 13:39:46

2013-04-28 11:54:17

Google Glas

2010-06-29 13:07:43

Google Font

2013-02-22 10:07:30

GoogleGoogle GlasGoogle眼镜

2013-04-17 10:43:12

Google GlasMyGlass谷歌眼镜

2009-11-06 16:10:54

ClosureJavaScript开Google

2010-08-09 08:48:46

File APIWeb

2013-04-11 10:26:37

Google Glas谷歌眼镜指南分析

2012-06-28 09:33:07

Google Glas谷歌眼镜

2015-07-27 09:54:36

iPodGoogle Glas

2014-07-01 10:04:40

Android WeaGoogle Glas

2009-06-10 09:21:45

Google Wave架构

2023-02-22 07:04:05

自动机原理优化实践

2013-09-18 10:25:52

Google Glas谷歌眼镜

2013-04-17 10:30:07

GlassGoogle

2015-02-10 10:24:09

Google Glas

2013-01-16 16:01:54

Google Glas开发者增强现实

2013-04-23 11:16:21

开发者Google Glas谷歌眼镜

2015-02-09 09:52:41

GoogleGlass

2020-04-22 09:00:00

REST API参数化前端
点赞
收藏

51CTO技术栈公众号