定制化的Android系统
说起定制化Android操作系统,你可能会感到陌生。但提起小米的MIUI或是锤子手机系统,你应该就熟悉了。其实,它们都是定制化的Android操作系统。不同的是,它们是为智能手机定制的,而我们这里将要介绍的是为智能手表定制的Android操作系统。
众所周知,Android系统是开源的,所以为广大开发者喜爱。开发者可以任意地修改源代码从而打造一款自己喜欢的操作系统。在Android系统早期,有很多不完善之处,所以诞生了很多定制化的Android系统,其中一个比较有名的是CyanogenMod。它也是国内有名的MIUI、锤子系统的前身。Android系统的定制程度也有深浅之分,比较简单的可能只是改些图标文字等,稍微复杂点的会把桌面(Launcher)改了,再复杂的会把整个Android系统从头改到尾以至于都不像Android了。全世界众多的开发者为定制的系统加入许多用户需要但Google还没来得及做的功能。但这也使得Android系统的碎片化问题十分严重。
Android Wear是Google为可穿戴设备定制的Android系统。流行的Android智能手表大多采用了Google的Android Wear,例如Moto 360、LG G Watch和新近推出的华为智能手表。遗憾的是,由于Android Wear所绑定的Google服务,Android手表在国内无法获得良好的用户体验。在国内,只有采用定制化了的Android系统,才能正常地使用Android智能手表。
然而,出于商业模型的考虑和对碎片化问题的控制,Google对Android Wear采取了闭源的策略,使得开发者无法从Android Wear出发,进行定制。唯一可行的路径是从一般的Android系统出发,再次实现Android Wear针对手表所做的一系列定制,并在系统层面结合国内可用的服务,从而使得系统真正可用。
Ticwear正是这样一款定制化的Android操作系统。由于Android Wear闭源的缘故以及对本地化服务的依赖,为智能手表定制Android操作系统的难度相对于手机而言提高了很多。所以,到撰写本文为止,Ticwear是唯一一套在国内可以正常使用的、第三方开发者可以在此基础上开发应用的Android系统。
Android平台上的开发者
那么,在像Ticwear这样的系统上,开发者能做什么样的工作呢?除了对Android Wear的兼容支持,Ticwear同时也提供了种种有趣且有用的系统服务接口(详见http://developer.ticwear.com/)。配合手表所特有的交互方式,为开发者打开了一扇大门,通向天马行空的想象空间。具体来说,分为以下几个方面。
- 智能手表所派生的新种类应用。表盘就是其中最典型的一个例子。一款精美的表盘可以瞬间提高手表的颜值。表盘的功能不仅在于美观和计时,同时也可以集成一些简单而又实用的信息,如天气、电量显示、消息推送等。因此,表盘的开发要靠设计师和工程师之间的紧密配合。在Android Wear和Ticwear上都已有了各色表盘、自制表盘的工具和表盘发布平台这一类型的应用。
- 智能手表引导用户更多地使用语音和手势的交互方式。语音和手势交互在手机平台上也都是有的,但都没有得到充分的运用。手机上较为便利的文字输入使得语音显得不那么重用,而手机的手持方式也不如手表更适合手势操作。另一方面,手表上文字输入的不便也使得新的交互方式成为必然,而这也为开发者提供了一个广阔的舞台。为了便利开发者二次开发,除了通信、传感器系统接口,Ticwear更是开放了语音识别、语义分析、移动搜索接口。
- 智能手表上的应用会极大地改变应用和用户之间的信息交互方式。手表不仅仅是手机应用的一个简单附属。相比而言,手表更适合一瞥可见(glanceable)的应用,手表上的信息流推送就是一种表现方式。同时,由于其便捷性,用户每天查看手表的次数也将大大高于点亮手机的次数。对于某些实效性要求高的应用类型,例如新闻,手表上的产品将会带来更好的用户体验,从而得到更多的使用。又比如,手表所特有的肢体手势控制,将会给以操控为主的应用类型带来非凡的想象空间。以游戏为例,现在的情形就像是iPad刚刚问世,而愤怒的小鸟即将破壳而出。
- 作为新一代的平台,即便是像手表空间清理、电量控制这样的工具类应用,现在仍然是一片蓝海。在手机平台苦战的工具类应用可以及时切入手表,占据先发优势。
- 就目前阶段的产品形态而言,智能手表,包括Android Wear和Ticwear手表,多以手机附属设备的产品形态出现。在不久的将来,手表会很快过渡到一个独立的移动设备。到那时,手表也将会有自己的SIM卡、GPS、Wi-Fi和NFC,到那时我们为什么还要在口袋里撑着一个笨拙的大屏手机呢?手表的应用空间将更为广泛,而现在正是开发者提前布局的最佳时机。
Android系统的定制化实践
Android系统基本可以理解成以下结构:
- 应用层包含我们常见的应用,比如桌面、电话、设置等;
- Framework层是Android的系统框架,包含了对底层硬件的抽象及对上层应用的管理;
- 再往下一层是Linux内核及硬件驱动。
下面,我们以Ticwear的实践为例,介绍定制Android手表操作系统要解决的问题。Ticwear是基于开源的Android 5.0源码开发的,在每一层都做了定制。在Linux内核和硬件驱动层适配了不同的手表,Framework层为了支持上层应用在手表上的特殊交互和功能做了支持,而定制化最多的是应用层。
系统裁剪
由于手表屏幕小、电池小,没有通信及GPS模块,我们在定制手表系统时对Android Framework做了很多裁剪和优化,比如删掉了在目前手表上无关的Telephony模块。
蓝牙协议的定制
目前,手表和手机的主要通信都依赖于蓝牙。为了让Android Wear开发者能无缝地切换到Ticwear系统,我们开发了一套和Google GMS兼容的蓝牙通信协议Mobvoi Mobile Service(MMS)。MMS基于蓝牙RFCOMM协议,提供了传送小数据的MessageAPI,传送大数据的DataAPI,以及传送设备信息的NodeAPI。开发这套协议的主要难点在于适配不同蓝牙设备,保证数据传输的可靠性、安全性,以及满足低功耗的要求。
桌面定制
手表的交互不同于手机的交互,为此我们打造了一套全新的手表交互体验Cubic UI(如图1所示)。为了实现Cubic UI,我们对手表的桌面进行了深度的定制。
图1 Cubic UI界面图
首先是表盘系统,也就是用户点亮手表最先看到的界面。设计表盘系统时,我们考虑了以下几点需求:首先是可定制化,开发者可以简单地设计开发出一款表盘;其次是性能,表盘的绘制必须节能高效;最后是兼容性,开发者可以轻松地把为Android Wear定制的表盘移植到Ticwear上。
手表因为随手都戴在手腕上,成为了查看手机通知的一个重要途径。我们对手表的通知中心做了全新的定制,通知以卡片的形式展现,多个同类卡片可以合并成一张Bundle Card,避免通知过多。同时通知也成为了用户和手表应用交互的一个重要方式,通过通知卡片用户就可以对应用进行操控,无需再进入应用。
语音识别服务定制
语音交互是手表上的一个重点,手表因为屏幕尺寸的限制,语音成为了用户在手表上输入的主要方式。Ticwear在手表上为用户提供了三种语音输入模式,分别是热词唤醒、离线语音识别和在线语音识别。热词唤醒在屏幕点亮的时候就会启动,屏幕熄灭就会关闭。热词唤醒启动后需要实时地监听语音和进行大量的计算。为了尽量减小对待机时间的影响,我们在热词唤醒方面做了大量的优化,使得它的CPU占用率维持在5%左右。在线语音识别和离线语音识别分别是在云端和手机端实现,手表只是作为录音设备把声音通过蓝牙传送到手机。Ticwear把以上三个语音服务都集成在系统中,开发者可以通过简单的API调用就可以使用以上服务。
语义分析服务定制
语音识别的结果是非结构化的自然语言文本,需要经过语义分析才能被下一步的命令控制、移动搜索或其他应用所使用。比如当用户问“下周三北京到上海的航班”时,Ticwear在云端的语义分析引擎会在识别出用户是想“查找航班”,并且是“下周三”由“北京”飞往“上海”的航班;然后,Ticwear会查看用户在手表上已经安装的应用,是否有哪款应用申明支持“查找航班”这个垂直领域。如果有,Ticwear会把用户的这条查询,包装成Android Intent的形式,传递给该应用,交由该应用接下来进一步处理用户的需求。因此,我们称之为Semantic Intent。除了Intent的方式,Ticwear也提供了直接的语义分析调用接口,方便开发者在应用中充分利用语言服务。
移动搜索服务定制
Ticwear的搜索提供是类似于Google Now的语音查询服务(如图2所示)。和Google Now不同的是,Ticwear在50多个垂直领域和国内生活信息服务提供商合作,为国内用户提供最接地气的生活信息,比如餐馆、机票、酒店、导航信息。用户对着手表问天气,系统会给出一张包含最近几天指定地点的天气信息的卡片;用户对着手表问航班,系统会把符合条件的航班信息卡片展示出来。系统默认的搜索结果,也是通过Semantic Intent的方式提交给Ticwear系统。开发者可以在此基础上进行二次开发、综合,在自己的应用中给用户更好的展示或社交体验。
图2 Ticwear的搜索服务
市场分析和前景展望
Android智能手表市场前景
2015年是智能手表的爆发元年。智能手表作为可穿戴设备的最佳产品形态,经过2014年的酝酿,2015年开始进入全面爆发期。“智能手表”这个话题开始出现在普通大众消费者的眼里。在稍早之前,Pebble Time众筹短短几天内便筹获得了2000万美元,创造了Kickstarter上的新历史。
中短期内,智能手表仍然需要依附于与其配对的智能手机而存在,因此在可以预见的未来几年,Android智能手表销量与苹果手表的销量比例应会大致比照Android手机与苹果手机的销量对比。Google 2014年下半年推出Android Wear系统尽管抢占了市场的先机,但其系统与产品体验不尽完美,更多的是在科技爱好者等初期用户中引起了反响,算是对市场的预热。而苹果则按照其一贯对于产品精雕细琢的做法,利用其强势的品牌口碑后发制人。但此时就谈论输赢为时尚早,2015年下半年Android手表将迎来新一波的产品上市,好戏刚刚开始。
过去的几个月内,消费电子巨头们纷纷加大了在智能手表领域的投入。借着简洁精致的圆屏设计获得诸多青睐的Moto 360,宣布了其第二代产品将于2015年下半年上市。LG、华为等国际大厂也于近期发布了搭载Android Wear的手表计划。其他各路创业公司也纷纷以各种形式切入这一市场,智能手表的市场在今后的一到两年之内将会更加热闹非凡。
国内市场分析
Ticwear的出现填补了中国大陆市场Android手表系统的空白。由于Android Wear暂时无法在中国大陆落地,使得目前中国市场Android手表系统的阵营处于相对真空的状态。除了Google服务框架和搜索不可用以外,目前Android Wear系统不支持中文,而且本地化服务非常不足。另外,目前Android Wear的应用总数并不多,大多数是适用于国外用户的生态圈,除了一些表盘和工具类应用,很多软件需要使用Facebook、Gmail等国外账号。Android手表的硬件在国内也还没有正式的销售渠道,大部分通过水货渠道流入,没有售后保障。以上种种都导致大陆用户无法享受到智能手表真正的便利和价值。
基于这样的背景,出门问问开发了Ticwear系统,来填补这样的空白。从内部因素看,首先出门问问具备相应的语音语义分析与本地化服务的技术储备,这恰恰是做智能手表最为核心的资源;第二,出门问问过去在手机App、Google Glass等穿戴设备上的试水迭代也积累了相当的产品经验。
从外部市场看,智能手表作为个性化时尚属性极强的平类,在硬件和软件方面的需求必然是多元化的,单靠苹果和Andorid Wear两家必然无法满足市场的需求。Pebble的出现就是一个极好的例子。而Google Android Wear的强势闭源,不允许OEM对系统进行定制,进一步激化了市场对于基于Android但又独立于Android Wear的手表系统的需求。
Ticwear的使命
Ticwear长期的使命是为了让人工智能真正落地,让智能手表真正好用好玩。作为敢吃螃蟹的先行者,Ticwear立足本土,做一款值得开发者信任和把玩的操作系统,Ticwear于近期陆续开放了SDK及丰富的API平台:语音、语义、搜索API,以及计划中的手势识别API等。这些强大丰富的可能性,都是开发者在Android Wear上无法获得的。Ticwear独立于第三方完全自主控制的操作系统,也为诸多OEM的手表落地中国大陆提供了另一个绝佳的选择。
在刚刚结束的Ticwear黑客马拉松上,85%的开发小组在不到24小时的时间内,就顺利地做出了一款拥有全新交互体验的应用。40%的组用到了Ticwear的语音语义开放接口。入围前八名的应用,有三款是工具类的,其他音乐、旅游、教育、健康、电商各一款,让人脑洞大开。对这么一个全新的领域,Ticwear将和开发者一起,共同打造这一全新的手表平台上的应用生态系统。