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 ...
随机推荐
- Android Socket 聊天室示例
服务端: package com.test.chatServer; import java.io.IOException; import java.net.ServerSocket; import j ...
- 【转】Android Launcher研究 (一)
这份源码是基于2.1的launcher2,以后版本虽有变化,但大概的原理一直还是保留了. 一.主要文件和类 1.Launcher.java:launcher中主要的activity. 2.DragL ...
- 利用XPath读取Xml文件
之所以要引入XPath的概念,目的就是为了在匹配XML文档结构树时能够准确地找到某一个节点元素.可以把XPath比作文件管理路径:通过文件管理路 径,可以按照一定的规则查找到所需要的文件:同样,依据X ...
- CreateCompatibleDC与CreateCompatibleBitmap
函数功能:该函数创建一个与指定设备兼容的内存设备上下文环境(DC). 函数原型:HDC CreateCompatibleDC(HDC hdc): 参数: hdc:现有设备上下文环境的句柄,如果该句柄为 ...
- iOS9 class dump header
获取系统私有API,网上有很多资料总结了一下就三种方式: 使用class-dump可以提取系统私有API列表 使用class-dump+DumpFrameworks.pl,这个可以一次性提取所有系统F ...
- Qt之QHostInfo
简述 QHostInfo 类为主机名查找提供了静态函数. QHostInfo 利用操作系统提供的查询机制来查询与特定主机名相关联的主机的 IP 地址,或者与一个IP地址相关联的主机名.这个类提供了两个 ...
- ASP.NET MVC路由配置
一.命名参数规范+匿名对象 routes.MapRoute(name: "Default", url: "{controller}/{action}/{id}" ...
- PHP学习笔记06——面向对象版图形计算器
index.php 用于显示页面 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "h ...
- 【C#学习笔记】文本复制到粘贴板
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- 基于jquery框架的ajax搜索显示
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...