Google Glass应用开发探索
摘要:2012年6月的Google开发者大会上,作者有幸预定到了Google Glass。8个月后,她收邀参加了Google纽约总部举行的Google Glass Foundry开发大赛。在为期两天的挑战赛里,与组员开发了自己的第一款Google Glass应用。
5月1日,我终于领到了属于自己的Google Glass。大部分拥有它的开发者都已开始着手开发自己的软件,几乎每天都有专用的新软件发布。然而现在全球的Google Glass可能只有几百副,很多对开发感兴趣的朋友并没有第一手资料,在这里,我将与大家分享它的操作界面、开发方式、语言、工具及其交互方式。
使用以及开发感想
目前Google Glass只支持英文。语音识别对于一些日常用语非常准确,但一些简写或者新词,Google Glass大多无法识别。它的屏幕分辨率不高(操作界面参数如表1所示),而且在强光下不是特别清楚。屏幕的位置是在眼睛的右上角,只是在视线之内,而不 会遮挡视线。电池在一般情况下可以坚持一天,但如果一直拍照或录像的话,只能坚持3~4个小时。Google已着手设计近视眼镜的解决方案,不久将会发布 适合它的镜框或者只是一个可以夹在普通镜框上的Google Glass。
开发Google Glass软件跟开发手机浏览器软件类似,但不能使用JavaScript,所有信息需要通过服务器处理后由Google的服务器传送,因此很多资料并不 在本地设备上。例如,在开发社交软件时,我们无法从眼镜上直接获取用户联系人资料,而需要通过调用Google+或其他社交软件接口获得,但传统的手机应 用开发者可以直接从电话簿读取这些信息。
操作界面
虽然运行 的是Android操作系统,但Google Glass拥有全新的操作界面,在不越狱的前提下,开发者是只能在Google给出的应用程序界面上开发。Google已着手开发能让眼镜离线运行以及硬 件开发的工具包(GDK),但眼下,开发者只能把Google Glass当做一个可以简单互动的显示器。
表1 Google Glass的操作界面参数
开发者可以让眼镜显示更高像素的图片或者影片,但这些过多的像素只会浪费流量,让软件速度下降。
Google Glass的操作界面非常简单,十分类似于我们平时使用的幻灯片。Google称其为“时间轴”(Timeline)。在时间轴上,用户可以看见带有时间 的主页面、自己订阅的软件,以及设备设定。每个时间轴的页面称为“卡片”(Card),应用可以更新卡片,也可以给用户发送新卡片。每个时间轴的卡片都可 以有不同功能,例如回复和声音阅读。近期Google Glass还新增了视频直播功能。
图1 时间轴,其中每个页面就是一张卡片
开发方式
Google Glass的开发方式非常类似于传统的网页开发。内容传送使用REST、JSON,因此所有利用这些API的应用程序都可以非常快速地在Google Glass中实现——应用先给Google Glass API发送信息,然后更新眼镜的操作界面内容。
图2 短信软件的应用流程
每个时间轴上的卡片内容都是使用的XML和CSS实现的,可以实现插入图片、改变字体颜色等操作。例如,如果我们希望在操作界面上显示一幅图片,可以给眼镜接口发送代码:<img src="图片URL"> 。图片必须已上传到网络,现在的开发接口并不能从本地传送图片。
所有的HTML都可以使用CSS来美化,例如图3的表格,就使用了CSS中的“text-small align-justify” 格式实现。
这样,我们就可以达到图3的效果,卡片的代码如下:
把这些内容,传送到Google Glass接口,我们可以使用Python代码:
应用显示的内容都由服务器传送到眼镜。Google将这种方式称为“订阅”,只要订阅了软件更新,都会收到推送的资料。
Google Glass的声控操作与我们通常见到的有所不同,信息由应用主动推给用户,与Google Now非常类似。应用按照用户的习惯以及资料整理信息,在用户最需要时显示,用户也不需要每次都输入同样的指令。而且,现在开发者的应用并不能由声控开 启,这样促使开发者了解用户,并关注信息内容及推送时段。
图3 利用CSS美化的效果
开发语言
目前Google推荐了持3种开发Google Glass应用的语言——PHP、Java和Python。如果你对其中一种很熟悉,Google Glass的开发其实非常简单。在GitHub(https://github.com/googleglass)里,Google Glass小组近日发布了以上3种语言的快速上手代码,可以帮助开发者很快建立好眼镜与软件的认证及交流。所有加入了Google Glass探索计划(Google Glass Explorer Program)并且领到了属于他们的专属眼镜的开发者都可以使用眼镜的应用程序界面(Google Glass API)。只要登录界面控制台,就可以开启并使用。
开发工具
开发者可以在Google开发者网站(https://developers.google.com/glass/)找到Google Glass应用程序界面的更多详细资料。
Google 还提供了一个叫做游乐场(Playground)的虚拟器(https://developers.google.com/glass /playground),这个界面可以让开发者使用CSS和XML快速设计自己的时间轴卡片并测试软件。所有开发者都可以加入Google开发者论坛, 论坛里Google的内部人员以及其他开发者都会迅速帮助你解决问题。
开发者的优待
Google目前特别重视Google Glass开发者,我在拿到眼镜两周后就收到了Google Glass小组的电话。他们非常希望听到开发者的回馈,并希望按照开发者的要求增加眼镜的功能与开发接口。
每次与Google Glass小组发邮件、电话咨询,或者是在开发论坛上提出问题,几个小时内就会得到答复。并且开发者版的Google Glass没有上锁,更是让首先拿到眼睛的开发者兴奋不已。
戴着智能眼镜的生活
大部分时间我会戴着Google Glass,周围很少有人知道我戴的是什么,偶尔才会有一两个年轻人问我戴的是不是Google Glass。我身边所有同事朋友都希望戴着Google Glass照相,很多人都觉得这个移动设备很酷,我还没有遇到对这个产品反感的朋友。它特别适合户外活动,让我们的双手解放,不用一直低头看手机,让生活更方便。
穿戴式智能移动设备的未来
目前Google Glass的开发限制非常多,每天只能发送1000个软件API请求,每位用户每天只能有100个定位系统请求,我在拿到眼镜的第三周就超过了限量。
可是在拿到Google Glass的短短三周,我的设备系统已收到过一次升级,而且Google一直在倾听开发者的反馈来升级API,以及开发GDK。开发者今后将会得到更多接 口,以及更多的API请求次数。我认为在2014年,Google Glass正式发售时,它将是一个非常强大的移动设备。
现在苹果跟Google都在为未来的移动市场做准备,它们都在朝着提高工作效率及生活质量的方向发展。我们很快就可以抛开传统屏幕的束缚,更多地享受生活,而不是总得停下脚步。
现在最大的挑战是软件,我认为,最后能胜出的可穿戴设备,一定是有最坚实软件支持的产品。
2012年6月的Google开发者大会上,作者有幸预定到了一副Google Glass,漫长的等待就此开始。8个月后,她收到邀请,于2013年2月1日参加了Google纽约总部举行的Google Glass Foundry开发大赛。在为期两天的挑战赛里,与两个组员共同开发了自己的第一款Google Glass应用。
作者Macy Kuang,加拿大theScore公司资深技术指导,从事手机移动游戏以及软件开发。她是AndroidTO主办人,曾任GameLoft及Webkinz资深工程师。微博ID:@Macyk
Google Glass应用开发探索的更多相关文章
- 【翻译】使用Sencha Touch开发Google Glass应用程序
原文:Developing for Google Glass with Sencha Touch 作者:Ross Gerbasi Ross Gerbasi is a Senior Engineer a ...
- 《Google Glass开发指南》
<Google Glass开发指南> 基本信息 作者: BestApp工作室 丛书名: 图灵原创 出版社:人民邮电出版社 ISBN:9787115349477 上架时间:2014-3-19 ...
- 东芝发布运行Win 10的AR眼镜,它和Google Glass企业版有哪些异同?
https://www.leiphone.com/news/201803/Tw0nrq6vGDIvbmXr.html 雷锋网(公众号:雷锋网)获悉,3月13日,东芝发布新AR眼镜dynaEdge AR ...
- 跟Google学习Android开发-起始篇-构建你的第一个应用程序(4)
说明:此系列教程翻译自Google Android开发者官网的Training教程,利用Chome浏览器的自动翻译功能作初译,然后在一些语句不顺或容易造成误解的地方作局部修正.方便英文不好的开发者查看 ...
- Google maps API开发
原文:Google maps API开发 Google maps API开发(一) 最近做一个小东西用到google map,突击了一下,收获不小,把自己学习的一些小例子记录下来吧 一.加载Googl ...
- Android艺术开发探索第四章——View的工作原理(下)
Android艺术开发探索第四章--View的工作原理(下) 我们上篇BB了这么多,这篇就多多少少要来点实战了,上篇主席叫我多点自己的理解,那我就多点真诚,少点套路了,老司机,开车吧! 我们这一篇就扯 ...
- Android艺术开发探索第三章————View的事件体系(下)
Android艺术开发探索第三章----View的事件体系(下) 在这里就能学习到很多,主要还是对View的事件分发做一个体系的了解 一.View的事件分发 上篇大致的说了一下View的基础知识和滑动 ...
- Android艺术开发探索第三章——View的事件体系(上)
Android艺术开发探索第三章----View的事件体系(上) 我们继续来看这本书,因为有点长,所以又分了上下,你在本片中将学习到 View基础知识 什么是View View的位置参数 Motion ...
- Android艺术开发探索——第二章:IPC机制(下)
Android艺术开发探索--第二章:IPC机制(下) 我们继续来讲IPC机制,在本篇中你将会学习到 ContentProvider Socket Binder连接池 一.使用ContentProvi ...
随机推荐
- dotfuscator初步
从此链接下载的http://www.uzzf.com/soft/85836.html 1.安装之前,先去控制面板将VS自带的dotfuscator卸载掉 2.关闭360安全卫士 3.安装下载的程序 安 ...
- poj3295Tautology
http://poj.org/problem?id=3295 这几天补一补poj之前落下的题吧 枚举 #include <iostream> #include<cstdio> ...
- jquery ajax 开发手记
1.json解析的格式要求更严格了,必须全部加引号,否则无法识别 {"result":"false"} 2.ashx如果要使用Session需要继承接口IReq ...
- R语言实现数据集某一列的频数统计——with和table
with(priority.train, table(From.EMail)) 统计priority.train中From.EMail的频数
- HDU 1231 最大连续子序列
和前面两道题一样 不过这题要求输出子序列首尾的元素的值,而且如果所有元素都小于0的话,规定子序列的和为0,并输出整个序列的首尾元素. //#define LOCAL #include <iost ...
- Storm中tuple的可靠性
一.简介 Storm 可以保证 spout 发出的每条消息都能被“完全处理” ,这也是直接区别于其他实时系统的地方,如 S4. 请注意,spout 发出的消息后续可能会触发产生成千上万条消息 ,可以形 ...
- poj 1465 Multiple(bfs+余数判重)
题意:给出m个数字,要求组合成能够被n整除的最小十进制数. 分析:用到了余数判重,在这里我详细的解释了.其它就没有什么了. #include<cstdio> #include<cma ...
- UVALive 5713 Qin Shi Huang's National Road System秦始皇修路(MST,最小瓶颈路)
题意: 秦始皇要在n个城市之间修路,而徐福声可以用法术位秦始皇免费修1条路,每个城市还有人口数,现要求徐福声所修之路的两城市的人口数之和A尽量大,而使n个城市互通需要修的路长B尽量短,从而使得A/B最 ...
- 深入学习Heritrix---解析CrawlController(转)
当我们以Web UI方式使用Heritrix时,点击任务开始(start)按钮时,Heritrix就开始了它的爬取工作.但它的内部 执行流程是怎样的呢?别急,下面将慢慢道来. (一)CrawlJobH ...
- 【转】使用Python的IDE:Eclipse+PyDev
原文网址:http://www.crifan.com/try_with_python_ide_eclipse_pydev/ 之前已经介绍过了一些基本知识: [整理][多图详解]如何在Windows下开 ...