Conversational UI 的前身今世(上 · 返祖)

2016 年可以称得上是 Conversational UI(对话式界面)爆发的一年,不论是具有聊天机器人的各路 IM 应用(如 Google Allo、Telegram、Facebook Messenger),还是各类 AI 助手(如 Siri、Google Assistant、Cortana),都像约好了似的都用 Conversational UI 实现了他们的功能。一时间 Conversational UI 也成为业界讨论的热点。一时间,Conversational UI 也成为业界讨论的热点。

纵观人机交互的整个发展历程,经历了物理指令、终端命令、图形界面几个阶段。最初的物理指令包括电路指令和后期的打孔纸带命令等,后期的纸带命令其实只是显示器出来之前出现的终端命令雏形。在个人电脑出现以后主要就是终端命令和图形界面的时代。

终端命令行,对于现在的大部分普通用户来说应该已经非常陌生,它是一种非常原始的人机交互接口,用户通过特定格式的文本向电脑发出指令,电脑接收指令后执行相关操作并以文本形式返回结果或输出错误信息。不论效率,这样的交互方式对普通用户是非常不友好的。想要使用这样的计算机,不记下几十个常用命令几乎是寸步难行的,记忆成本无疑抬高了使用门槛。密密麻麻的返回结果文本需要用户有极佳的耐心和视力,以便找到想要的内容。这样的人机交互被时代淘汰是必然的结果。

终端命令行

图形界面一经推出,便被认为是个人电脑的救星。人类终究是视觉动物,可视化的界面、曾经熟悉的文件夹、按钮等等图标给了用户极强的安全感,鼠标的点击和移动也给了用户真切的操作体验。用户终于可以清清楚楚地看见操作的对象,也能明明白白地知道操作的结果。如今不论是电脑、手机或者其他电子终端,几乎都在使用图形界面,很少有人还能记得当初命令行的样子。

图形界面发展到今天,依然生机勃勃,但随着信息量爆炸式的增长,某些场景传统的图形界面暴露出一些缺陷:冗余信息的重复、有效信息难以提取、信息排版的重要性与日俱增、难以给用户提供更具针对性的信息。

行业的先行者们将目光又回到了被时代抛弃的终端命令上,慢慢形成了现在的 Conversational UI。或许最早的尝试来自自动短信服务的时候,向运营商号码发送 CD(或者“菜单”),运营商回复所有的菜单和相应编号,用户再根据编号完成各类操作。这是 Conversational UI 的雏形,也对日后的发展起了很重要的作用。后来的 IRC bot 之类的应用场景本质上跟自动短信服务没什么区别,只是运用在了互联网服务上。

真正推动了整个行业对 Conversational UI 运用的,一是腾讯微信,二是 Google 推出的 Google Now 服务,三是 Apple Siri。

先说微信,微信在推出服务号之后,提供了一种类似过去短信自动服务的自动信息推送和信息查询服务。以银行公众号为例,进行消费后给用户自动发送消费详单,用户也可以发送相关关键词查询账单等等。和短信服务不同的是,微信将信息很好的筛选和排布:突出有效信息,减少冗余无效的信息,最大程度的满足用户的需求而不造成巨大的视觉压力,但本质上并没有太大变化。

微信公众号提供的提醒和查询服务

而 Google Now 则相比于此更进一步,一方面,Google Now 自动识别用户收到的 Gmail 邮件中的内容,将关键信息提取并转换成对用户更友好的、更高效的卡片显示方式展示出来。另一方面甚至对于用户可能的后续需求进行预测和先行提供。比如:提取用户网购订单的确认邮件,提取订单号和商品信息,并自动查询发货信息和提供订单追踪信息。这样一来不仅满足了用户的当前需求,更满足了用户可能的后续需求。

Google Now 提供的多种信息卡片

而对于 Siri,它的出现是极大程度的影响了其他类似产品使用 Conversational UI 的趋势。Siri 作为虚拟智能助手,跟用户的交互采用了对话的形式,从形式上给了用户亲切感,不再是冷冰冰的机器,而更像是一个真实存在的对象。功能上,Siri 也比以前的“伪·人工智能”有了巨大的进步,主要体现在对前后文的识别和记录上。Siri 提供的信息不再是固定不变的,而会考虑用户指令的前后文,针对性的提供更准确更有效的信息。

Siri 的对话式交互和前后文语音分析

回过头看,从形式上,Conversational UI 让人想起那已被时代淘汰的终端命令行。同样的一问一答、同样的对话式交互。不一样的是,Conversational UI 相比与命令行更现代、更平民化,清晰易懂的图形界面和自然语言的识别极大地降低了使用门槛,而且获得的回复也不仅局限于文本,甚至可以包含图片、视频、链接和地图。可以说,Conversational UI 是人机交互发展中的一种返祖。这没什么不好,淘汰的东西未必全都是糟粕,也许只是由于技术的限制而埋没了他们真正的价值。技术有了进步,过去的精华可以被吸收,也必将绽放出更耀眼的光芒。

 

如何评价 Horizon: Zero Dawn

3 月 26 号收到了传说中秒天秒地的 Horizon: Zero Dawn,玩了两天通关,通关后又刷了两天支线和隐藏要素,到现在总共游戏时间 40 小时差一点,大概是时候可以理性的评价一番了。

画面

之所以上来就说画面是因为从预告片开始,画面就是 Horizon 的主要卖点,传说中“目前最好的 PS4 平台游戏画面”实在让我这个画面党兴奋不已。第一场播片时我是略有失望的,所谓最好画面的游戏 CG 也不过如此,跟其他游戏并没有拉开差距,直到出现镜头看到了人物头发掉入了人物模型中,我才意识到,游戏中所有的播片全都不是 CG,而是实时渲染的游戏动画!实时渲染的动画能做到这样的确很棒,尤其是人物皮肤的材质和光影效果,非常细腻自然。不过缺点也很明显,就是“面瘫”,缺少了面部捕捉的人物几乎没有表情变化,不管是大祸临头还是生离死别,都是没表情,而没有表情的播片就让人总觉得差了那么点劲儿。

进入游戏后第一段狩猎教学阶段,可以看出环境植被模型很丰富也很细腻,后期进入雨林等场景时这样的感受更为强烈,在这样的场景中画面帧数始终能达到 30 帧的效果,可以说 Guerrilla 的这套引擎的功力十分到位,让我相当期待同样使用了这款引擎的小岛新作 Death Stranding。其他的场景包括荒漠、城市、雪山也都非常精致,几乎个个场景都可以截图做壁纸。

再说这款游戏中随处可见的机器兽,机械兽相对是个比较讨巧的设定,机械的身躯某种程度减少了模型的多边形数量,而且避免了最难处理的毛发部分的问题。从设计角度来说,机械兽表面的金属装甲材质优秀,光泽漂亮,机械连接部位的细节也都很到位,就算在他面前放大画面也很难找出瑕疵。可以说,“史上画面最好的 PS4 游戏”名号基本可以坐实。

剧情

作为一个剧情主导的游戏,剧情是游戏的骨架,剧情不行那画面再好也只能作为花瓶用来欣赏。对于 Horizon 的剧情,只能说是普通,不算好也不算差,这样的剧情难以让 Horizon 称为神作,但也不至于变成雷作。剧情本身起码圆得上,说得通,某些阶段时也让人触景生情,立体投影式的情景再现也让人浮想联翩。让我印象最深的大概是泰特‧法羅宣布删除了 Apollo 系统并且坑死所有阿尔法级别高层的场景,在那样一个场景做出这样一个决定,让我感到一股不寒而栗。不过说到整个故事,还是有点俗套的个人英雄主义色彩,一个被抛弃的女孩慢慢成为拯救全人类的英雄,可能大部分玩家刚开始序章就都懂了。

战斗系统

就我个人而言,我真的非常喜欢这套战斗系统!由于玩的前一款游戏是全境封锁,所以刚上手的时候我是不适应的,虽然都是 TPS 类型的游戏,但弓箭的射速和特性都跟枪械完全不同,弓箭的手感更真实,需要考虑的因素也更多,需要更多的预判和精度要求,但上手之后这样的射箭体验非常有趣。弓箭击中机械兽的打击感比较强,给玩家足够的操作快感。另外闪避的手感也非常好,动作连贯,反馈迅速,翻滚减少的伤害也非常有效,很大程度上降低了操作的难度,配合子弹时间的设计,玩家的确可以在实际战斗中完成类似宣传片中的酷炫战斗动作。但近战操作做的并不是很好,虽然打击感更强,但动作迟缓,响应很不及时,经常真正开始动作的时候敌人已经离远了。

对于敌人来说,机械兽的动作很丰富,每种机械兽都具有多种攻击方式,形式上说非常有趣,战斗过程中机械兽被击毁的部件也会导致其攻击方式的减少和转变,给玩家提供了更多有趣的战术选择。不过对于最终 Boss 的选择,实在让人摸不着头脑,最终的 Boss 竟然只是之前剧情就打过两次的机械兽,而且竟然还是只有一只!

反观人类敌人则实在差强人意,不光供给方式少,AI 的智商也跟机械兽一样低下。这样的结果就是人类敌人比机械兽敌人的难度弱得多,完全不在同一个水平线(当然,机械兽本来就应该比人类强,不过弱还愚蠢实在让人不忍心)。按照正常的设计,应该是机械兽强大但智商不够,人类敌人弱小但智力更高。

潜行和攀爬系统

Horizon 的潜行系统其实更应该称为“隐身系统”,因为所谓的潜行难度实在太低,躲进草堆就谁也看不见、就算机械兽走到草丛在角色身边贴身走过也完全无动于衷这样的设定太不走心,吹口哨吸引敌人的操作竟然只会惊动镜头正对的敌人,其他敌人完全无动于衷!将敌人一个个吸引到草丛再近战绞杀,这样的潜行系统简直称得上无脑。作为玩家,为了获得应有的动作游戏体验,或许应该自觉的避免使用这样的战略战术。

再说攀爬,同样是一套无脑系统,几乎不存在找不到路和爬不上去的地方,即便我这样的攀爬苦手也能轻松过关,没有迷路没有障碍,所有的操作都几乎只需要轻推摇杆即可。

当然,毕竟这只是个主打动作和画面的 RPG 游戏,要求有合金装备水平的潜行系统和神秘海域水平的攀爬系统未免太过为难。低难度的确很大程度的照顾了更多数的普通玩家群体,而非只迎合部分硬核玩家。这没错,但真的需要这些的元素来填充进这个游戏吗?

开放世界

没错,“又是”一款开放世界游戏,这两年各种游戏都在蹭开放世界这个热点,巨大的开放世界究竟必要不必要,大概并不是游戏开发商考虑的首要问题。说到 Horizon 的开放世界,我很难做出好坏的评价,一方面,各种场景给玩家带来感官上的震撼和反差十分经验,另一方面,巨大的地图带来的长途奔波让玩家非常出戏甚至厌倦。就第一个主线任务来说,从起点至目的地几乎是贯穿了整个地图,从东南角到西北角,这样的长途跋涉让我感受到了深深的恐惧和迷茫。但通关后,情况有了巨大的转变。整个开放世界变成了一个巨大的、没有边界的狩猎场。开放的狩猎场给了玩家极好的狩猎体验,无缝的场景切换,没有恼人的地图读盘(快速移动另说),一路经过各种机械兽的聚集地,真正让玩家有了一把猎人的感觉。

平衡性和道具

先说平衡性,非常糟糕!非常糟糕!非常糟糕!尤其是进入剧情后半段,随着五枚动力电池的获得,玩家获取到游戏中的神装,或者说,是无敌装,再之后整个狩猎体验就完全失去了意义。很难理解这样一款神装存在的意义,它彻彻底底的毁了通关后的所有游戏体验。如果没有它,通关后的 Horizon 还是一款可以玩上好一段时间的狩猎游戏,但有了它,整个游戏就变成了纯粹的虐菜,操作?不存在的,即便是雷霆牙也可以正面怼。我是在通关后获得的这件装备,他毁掉了我后面将近 20 小时的游戏体验,而对于通关前就获得了神装的玩家,造成的体验缺憾更是难以想象。

再说武器及道具,初期这部分没什么问题,但是进入高等级后,就会发现道具还是只有那么几种,不仅种类没变,道具等级也就只有三等,改装的选择也相当有限,两把弓打天下基本上是进入后期的唯一选择。作为一款暗示用户刷刷刷的游戏,只提供这么点让玩家选择的道具实在说不过去,这也直接导致通关后几乎没有任何动力去做支线任务(反正也不会获得什么更好的装备)。

总结

说了这么多好的坏的,我来总体的列一下我感受到的所有优缺点,包括上面说的,也有一些上面没提到的部分。

优点:
– 画面精致,帧数稳定,建模精细,光影效果奇佳,这几点无可挑剔
– 人物动作流畅,爬山、跳跃、滑坡等动作细节都非常棒
– 剧情的叙述手法和展现形式过关
– 战斗手感趁手,打击感强烈,狩猎体验佳
– 地图制作水平高,视觉冲击和反差强烈
– 游戏内容充实,剧情时长令人满意

缺点:
– 人物表情僵硬,游戏中主角的喃喃自语时嘴部没有动作,感觉出戏
– 完全依托实时渲染动画的剧情播片缺少了 CG 动画带来的恢弘的演出效果
– AI 水平极低,人类敌人和机械兽智商没有差距
– 潜行、攀爬等系统鸡肋
– 道具和改造数量和丰富度严重不足
– 游戏后期平衡性被完全打破,玩家接近无敌,完全破坏通关后游戏体验
– 开放地图的隐藏要素密度和丰富度不够,巨大而空旷的地图给玩家带来烦恼和困扰,支线任务重复度较高
– 关卡 Boss 设置不合理

对我来说,这是款好游戏,画面精美,地图设计优秀,剧情俗套但也算跌宕起伏,甚至为续作埋下伏笔。不过它远称不上神作,甚至不是一款能玩超过 50 小时的游戏。捉襟见肘的武器道具选择、弱智的敌方 AI、多而杂的各种系统、糟糕透顶的平衡性都给这个游戏减分不少。我更觉得这样一款游戏更像是 Guerrilla 为了推销自己的游戏引擎而生产的成品级 Demo,强大的画面、开放系统的适配性、潜行等各种游戏系统的可集成性的确都在 Horizon 中展现的淋漓尽致,但却恰恰没给玩家带来足够满足的游戏感受。或许我还是会把这款游戏推荐给别人,但只会推荐它的画面和战斗系统,其他方面,真的称不上优秀。如果让我给 Horizon 以十分制评分,我给的分数会是七分。

摩拜单车为什么要推出红包车?

红包车2017 年 3 月 23 日,宣布在北京、济南、石家庄等城市推出“红包车”。如果用户骑行的话,就可以获得 1-100 元不等的红包奖励。习惯于在微信里点红包的用户,可能也不会放过摩拜单车的红包。具体来看,摩拜用户可以在 APP 中看到标有方形红包团的车辆,扫码解锁骑行红包车 2 个小时内免费,并且骑行 10 分钟以上才可以领取红包,红包奖励是 1-100 元不等。

共享单车行业竞争日趋激烈,免费骑行似乎都已经不能满足摩拜扩张的需求,甚至开始倒贴钱来吸引用户。这么做究竟是不是伤敌一千自损八百,目前看来并不好说。

截至目前,由摩拜开始挂起的共享单车风潮已经吸引了数十家大小公司进入这个行业,最出名也是目前市面上占有率最高的几家有摩拜、OFO、永安行、小鸣等等,但其实大家心里都清楚,市场已经几乎被前两家瓜分的差不多了。

摩拜,从投入市场的第一批车辆就是高质量、设计优秀的车型,所有车型均具备 GPS 定位、电子锁和蓝牙功能。而 OFO 则走了相反的一条道路,首批投放车辆和普通自行车无异,只是多了一把密码式机械锁,不具备任何电子设备。当然随着车辆投放数量的不断增加,车辆也在不断迭代更新,最新投放的车辆也在逐步替换成新型有 GPS、电子锁的车辆。不过什么时候能将这种新车型彻底替换老款很难说。

而摩拜做的这一次“红包车”,正是瞅准了两家公司车辆的差异。利用自身车辆的优势做了一次对手无法复制的活动。从表面来看,对摩拜来说,这个活动能为他们带来大量的新用户,甚至也可以从对手手中抢来一批老用户;对于用户来说,免费骑车还能挣钱,可能再没有这样的好事了,老话说得好“又便宜不占王八蛋”,可以想见,必然有很多用户能从中尝到甜头,不说靠这个挣钱,就算是免费骑车再挣个一两次的租车钱也是极好的。

不过我觉得这个活动并不仅仅这么简单,如果摩拜真的只是靠这样的方式招徕用户,未免太浪费车辆硬件差异这样一个先天的竞争优势,活动的背后或许还有更多从线下运营层面的考虑。

从活动的说明来看,并非所有车辆都是红包车,只有部分车辆被设定为红包车,用户可以在手机 App 上查看地图来找到附近的红包车,扫码解锁骑行红包车两小时内免费,而红包不是骑行开始即可获得,而是骑行十分钟才可以获得。

这样的规则让我想到,摩拜完全可以将一些偏远地区的车辆让用户自主骑行到人流量大的地区,也可以将一部分长期未被骑行的车辆设定为红包车让用户骑行以为车辆提供 GPS 等电子设备提供电力储备或检测车辆是否破损故障(因为必须骑行十分钟以上才可以领取红包,所以如果设定为红包车被用户使用却未能骑满十分钟基本可以确定为故障车辆)。

随着共享单车公司越来越多的将车辆投放市场,线下运营的短缺问题日益突出。车辆越来越多,坏车也越来越多,被骑到偏僻地区的车辆也很难再回到人流量大的地区。想解决这个问题只有多雇线下维护人员进行,这样一来运营成本即将陡然增加,加上单车租赁收入不足,入不敷出是必然的结果。

而“红包车”的出现打破了这样一种尴尬局面。表面上,摩拜给用户提供了福利,实质上,用户反而成为了摩拜廉价的线下运营团队。通过用户的反馈、车辆的骑行数据分析,可以精准的找到市场上的损坏车辆,以便回收和维护工作。这实质上实现了真正意义上的双赢,用户按需骑车,甚至可以获得相应的奖励,而单车公司一方面吸引了大量的新老用户参与活动,提升了品牌知名度和口碑,另一方面也降低了大量的线下维护和运营成本。而且这样的活动具有一定的独占性,最大的竞争对手 OFO 没法短期内很难跟进,无疑使自己在这场竞赛中占据了更大的优势。

一年总结

距离上一篇博客已经整整一年了,现在正是恰好的时机可以写点东西总结一下这「丰富多彩」的一年了。这一年,辞了职、旅了游、看了书、考了研,结局是皆大欢喜,过程是有喜有忧。

回想一下,写上一篇博客的时候还在纠结的到处找工作、远程面试、拿到不算好不算坏的 offer 再拒绝掉。那段时间可能是我最迷茫、最不知所措的几个月。一方面,后悔自己大四时候考研只要多付出哪怕一点点的努力,也不会因为一分之差落榜,也后悔大四下学期没有好好找工作,竟然 too young too simple 地相信这家创业公司可能能做强做大,甚至错过了宝贵的春招机会;另一方面,看向前途,不知道下一步该怎么办,是以社招身份接着希望缥缈的找下份工作还是在现在的地方苟延残喘,亦或是重新沉下心来钻进书本,在考研路上从头来过。

说考研,我也不是没有考虑过,但是谁都知道,工作了一段时间,心浮躁了就很难再沉下心来重新回到书桌前安安静静的看书,这也是我一直不敢考虑考研的主要考虑。说真的,一次差一分落榜的事情真的给人太深的心理阴影了,我很难想象抛弃工作,在没有任何后路的情况下万一再失败一次会是怎样的结果。

感谢我的女朋友,在我最迷茫的时间一直鼓动我重新考研,我也慢慢从抵触、害怕慢慢向接受转变态度。加上家里人也不看好继续找工作,希望我重新考研,最终我走上了二战考研的路。

跟老板提出辞职的时候,老板告诉我公司已经谈妥了融资,前方形势一片大好。你说我一点没犹豫过,这我自己都是不信的,毕竟这次说的这么信誓旦旦,甚至一整套的时间表都排出来了。但最后还是选择了离开,毕竟在这里这么长时间,这样的话听了不知道多少次,真的很难再相信了,就算我是那种在创业公司即将一飞冲天前最后一个离开的傻逼也无所谓了。

「又要在“不懂得在适当的时候放手就什么也得不到”和“成功的人只是能听过难关坚持到最后”之间纠结了,所谓至理名言不过是成王败寇的说辞罢了」刚刚辞职后的我在朋友圈如是说(不过我选择了只发给我自己看,即便女朋友也不知道我发了这个)。

辞职后搬了家,租了南大对面的房子。不过没有立马开始看书,而是跟女朋友去泰国玩了一趟。“先好好爽一把在静下心来看书,免得看书时候又想玩”,我是这么盘算的。玩的过程不说了,总之很开心,但时间总归是短暂的,逃得了一时逃不了一世。

五月底了,是时候开始着手准备了。首先是定目标,第一年考的时候,本来打算考东南大学通信工程,后来觉得时间不够换成了南邮通工,看了点书后又发现不适合自己匆忙又改成了南邮软件工程。浪费了大好时光在换专业上,这次一定不能重蹈覆辙,定了就是定了。这次就考东南软件工程!当然了,其实选择东南软件学院也并非因为我志存高远,非东南不上,主要是查了一些报录比数据后意外发现东南软院报录比高、分数线低、专业课科目少的特点。

然而事情并非我想象的这么简单,当我发现真相时已经是十月份了。那时候我加入了东南软院的 QQ 群,在群里,看到了上一届考生的讨论。我这时才发现,之前看的三分之一的高报录比,竟然是错误的统计方式,实际上一志愿报考人数和上线人数的比例竟然是十比一左右……

这样的数据令我感到害怕,不可避免的我又开始不停地想象失败后的惨烈景象:双非学校往届网络工程毕业生,毕业在一家不大靠谱的创业公司做设计,设计水平也就那样还辞了职,真正编程相关的技能几乎没有……

不过都走到这一步了,难道除了硬着头皮走下去还有别的路吗?考研这半年,我听得最多的一首歌是 Eminem 的「Lose Yourself」,2016 年网易云音乐总结里这首歌播放次数高居榜首。

Look, if you had, one shot, or one opportunity
To seize everything you ever wanted. In one moment
Would you capture it, or just let it slip?
……
You better lose yourself in the music, the moment
You own it, you better never let it go (go)
You only get one shot, do not miss your chance to blow
This opportunity comes once in a lifetime (yo)

是啊,我也就这一个机会了,考上了我又给自己争取几年可以重新来过,考不上我就真的什么都不剩了,没有工作、没有收入、没有经验、没有技术,说不定女朋友也会看不起我失去女朋友。那样我该怎么办,难道还来个三战吗?我真不敢想,所以只能一门心思看书准备初试。

准备初试的半年时间具体过程真的没什么好说的,也实在没法用文字表达出来,说苦其实并没有那么苦,一方面是因为在女朋友和一只猫的陪伴下并没有那么孤单寂寞,另一方面我心态还是比较平和,也没少忙里偷闲。

初试也算是高分过关,复试压力小了很多,目标更多的是放在了笔试过线上,新一轮的看书自不必说,结局也如我所愿,甚至超出预期得了个高分。

得到最终成绩的我也算是如释重负,抛下一切花费的半年时间没有白费,我也为自己争取到了重新来过的一次机会。靠努力得来的机会是会被珍视的,我当然也知道了后面两年多该怎么度过。祝后面越来越好!

记 DIY 之路的第一步:Magic Mirror

今年一月份看到了 Max Braun 发布在 Medium 上的文章:My Bathroom Mirror Is Smarter Than Yours ,当时真的在心里 「Wow」 了出来,效果相当惊艳。心里一直对此念念不忘,想着自己也要做一面这样酷炫的镜子。苦于一直没有时间,直到最近才能凑出一定时间真正考虑 DIY 一面自己的 Magic Mirror。

硬件方面相对比较容易解决:一面单向镜、一个显示器、一块液晶面板驱动板、一台能运行 apk 程序的 Android 设备、一根 HDMI OTG 线。软件方面 Max 并没有将自己开发的软件开源出来,而其他效仿其制作的 Magic Mirror 应用(如「Home Mirror」和「Wall Mirror」)又从视觉效果上较 Max 做的相去甚远。

无奈,还是我自己来制作这面镜子的 UI 应用吧。

在此之前,我还没有完完整整的进行过一个应用的开发。最多只是在别人的 Android 工程里进行小修小改。这次准备做的 Magic Mirror 需要进行网络连接、API 请求和数据解析和调用系统数据等一些功能,这都是之前没有涉及过的部分。虽然实际上难度不大,但对于一个只自学了一部分 Java 的我来说还是有点困难。

开发过程细节不表,总归在开发过程中遇到了一些困难,不过总算是依靠我强大的 Google 能力一一解决。UI 方面也没有自己重新设计,完全使用了 Max 的那一套设计。虽然代码写的可能蹩脚低效,但起码做出来了不是吗?现在,我将它上传到了 Github:MagicMirror 。目前具有的功能主要是显示时间、日期、当前位置的温度、天气状态、一天内的天气变化状况和新闻 RSS 显示,未来可能还会加上 Calendar Events 的显示支持等功能。

欢迎所有人 Fork 并且 Pull Request,将它做的更好更完善。

Google Photos 导航模式重设计

前阵子刚刚更新的 Google Photos 加入了 Bottom Tab Navigation,激起了用户大量反馈,或积极认为这样做相比之前的 non-indication 的 ViewPager 滑动切换更加直观并且方便单手操作,或消极认为此举是把用户当弱智并且占用了15%左右的有效显示高度。

显然两种观点都有一定的道理。对于用数据说话的商业产品,商业公司显然希望应用主打的功能更易发现、更易进入、更多点击率。而对于用户而言,一方面如果应用的操作不便于日常使用是完全不合理的,另一方面为了方便使用而占据大量的屏幕控件也是令人反感的。

平衡用户与开发商之间的利益是困难的。尤其在目前应用内导航模式缺乏的时候,做好易用性与高效性之间的取舍是一个应用交互好坏的重中之重。就我个人而言,我很反感为了 Bottom Tab Navigation 的形式,认为这样的设计有碍屏幕内真正对用户有用的显示空间,使得内容的呈现不足。

因此我自己对 Google Photos 的导航模式进行了一定的重设计。我将 Tab 栏与 App Bar 合并,将展示及切换 Tab 的任务放置在了应用的顶部,同时保留旧版中的滑动切换手势。

将 Tab 栏放置于顶部的原因主要有三:1. Google Photos 对品牌展示的需求很小,因此 App Bar 不需要展示应用的名称或 Logo;2. 使用两条固定栏占用的屏幕空间过大,压缩在一条内可以明显增加屏幕实际显示高度,这对于以展示图片为主要功能的 Google Photos 是必要的;3. Google Photos 应用内的三个 Tab 栏内除 Assistant 栏存在右滑去除卡片的滑动操作(与该栏左滑切换至其他 Tab 的滑动操作不冲突)之外没有其他的横向操作手势,因此保留滑动操作亦可提高应用的单手操作效率,同时由于存在 Tab 栏的 Indication,用户可以方便的查看当前所在 Tab 以及附近的其他 Tab。初次使用的用户亦可通过点击顶部 Tab 实现切换操作,并可以在左右滑的动画的引导下学习滑动手势。

除了导航模式之外,我还将 Assistant 页的添加操作全部置于页面上,原因是该页在大多数情况下内容较空,并且所有可以添加的内容种类并不多。原版已经在页面上显示创建四种内容而将另两种放置于需要点击“添加”按钮弹出的 Bottom Sheet 里不合逻辑。

从规范到模范,从优秀到优雅

Google I/O 2014 的 keynote 上干货众多,Material Design 可以说是整场 keynote 的重中之重也是贯穿整场发布会的连接桥梁。

Kitkat 及之前的 Android 版本,更多的重视的是性能提升、新特性,UI/UX 的提升只在 Ice Cream Sandwich 发布时进行过一次,即便是那一次,更多的也是 UI 方面的更新,确定了此后三年内 Android 系统统一的设计语言。这一次,更新的不仅仅是 UI,更多的是 UX 方面。4.x 版本的 Android Design 更多的体现的是科技感和极简风格,只能吸引一部分用户(多以 Geek 为主,对妹子完全没有杀伤力),而 Material Design 则是让设计更友好,更符合各种用户群体的审美,也更容易被用户理解和接受。

Android Design 中的输入框等体现出强烈的科技感
Material Design 中的卡片

Material Design 旨在将界面元素模拟成一种类似纸张的虚拟神奇材质(magic material),它跟纸片一样,很薄,很干净,接近纯白,光照下会产生阴影,但与纸片不同,他可以随意变大变小,可以像物块一样随意拖动。另外整体界面更大胆的采用鲜艳的配色,让整个界面更小清新,更时尚,更优雅。

另外,界面里添加一个新元素,Floating Action Button,简称 FAB,这个控件长期驻留在界面上,用以使用户快速进入应用最常用的功能,比如邮件的新邮件,拨号应用的拨号盘,为更大的控件实现功能,比如音乐应用的控制盘。

Floating Action Button

虽然卡片和 Floating Action Button 占据了用户大部分的视野,但他们都并不是 Material Design 的重头戏。从形态和功能上说,这两样东西其实只是非常普通的控件和元素,而让这样平凡的元素变得不平凡的,才是 Material Design 真正的主角——过渡动画

流畅连贯的过渡动画

Keynote 上绚丽的动画效果演示引来台下一阵阵欢呼。的确,从最初的 Android 直到现在,应用中场景切换、按钮效果等等都几乎没有动画,点一下立刻切换,虽然高效,但毕竟简陋。无论是 Windows Phone 还是 iOS,从诞生之日起就都是注重过渡动画的系统,其中 WP 更甚。过渡动画是让用户感到愉悦的重要元素。过渡应用的好坏在打开应用的那一刻就给了用户最直接最深刻的印象——动画生硬的就是简陋的应用,动画流畅丰富有创意的就是牛逼的应用。Timely 正是这么成功的。作为一款可以说功能很普通的时钟应用,Timely 凭借连贯流畅的过渡动画和出色的 UI 设计登顶 Google Play,也正是这一直后来被 Google 收购的团队 BitSpin,实现了 Android 的华丽转身。如果说 Matias Duarte 的设计理念拥有 Material Design 的一半功劳的话,BitSpin 理应拥有另一半。

但是,Google 这次貌似步子跨的有点大,从缺乏动画一下子转变为滥用动画,很多动画显得无用冗余,尤其是按钮按下后出现的水波效果很有种为了动画而动画的意味,还有一些过渡动画速度略慢,引起用户无端等待,这并不是一件好事。不过好在开发人员也已经意识到这样的问题并承诺将根据用户反馈进行进一步的改进和完善,相比在正式发布时会将各种动画的质和量平衡的更加合适。

既然是 Google Design 而不只是 Android Design 了,那 Material Design 必然要考虑到除了手机外更多的屏幕尺寸——手表、平板、笔记本电脑、还有电视。

从演示中不难看出,Material Design 在各种屏幕尺寸上显示效果均属一流。Materia Design 跳出了移动设备 UI 的框架,实现了各种尺寸屏幕设计风格的大融合。这样的设计风格让应用/网站在不同的显示器、设备和系统上均可以获得几乎同样的视觉效果和用户体验。这才是真正能够降低用户学习成本的做法。

看到今天的 Material Design,我想起了当年看的第一篇 NovaDNG 的文章——为什么比起 Metro 我更喜欢 Holo。如今的 Material Design 从某种角度上更加接近 Metro——大色块、某些应用的格状布局等,甚至很多过渡动画也有明显的 WP 风格,比如通话界面进入和退出的动画。但是,两者之间的差别还是在于那“一个”像素的厚度上。Material Design 不是扁平化设计,甚至于,这一种设计语言天生就是与 iOS 那样的纯粹扁平化相对立的。纵观 Material Design 设计指南,大量的篇幅都强调一个中心——高度。高度是这种 Magic Material 的一大特征,它是有高度的,距离屏幕的高度不同,阴影的大小也不同。

阴影是 Material Design 中重要的一部分

另一方面,我个人认为这样的设计也有助于遏制 Android 手机厂商肆意修改 Android 系统的用户体验。使用了各种过渡动画、反馈动画后,修改系统不再是重绘几个图标那么容易,想把原生 Android 系统改的面目全非不再是一件易事。加上 Material Design 本身对用户友好并且美观,更容易被普通消费者接受,这样一来更多的厂商就会使用(或者仅做少量修改)原生 Android 系统作为出厂系统,统一的 Android 系统将可能得以实现。