在过去的十年时间里,从微软到ThoughtWorks,再到后来做了杏树林,历经了Symbian,Windows Mobile,然后的Blackberry和Android,直到后来的iOS,WP,设计了一个又一个从前到后的系统架构,差不多经历了大半个移动时代的发展。还算完整的工程师生涯让我对用户体验和人机交互有着格外的感情。直到有一天,一场争论让我陷入了沉思。
事情缘起于对后台运维系统的设计。在最开始季度初的时候,我雄心勃勃给DevOps团队定义了一个目标,让运维同学学会使用Axure作出产品设计原型,推演操作路径。这在我们这种搞移动产品设计起家的人眼里是顺理成章的事情。然而,技术专家的反对,却给了我一闷棍。后来想来,UI设计对于运维系统而言简直是极大的浪费。原因如下:
- 运维系统的核心任务,是提升运维人员的工作效率,提升运维质量(降低运维差错率)
- 运维系统的面向对象,熟练的操作人员(研发、运维)
- 运维系统的研发目的,以最快速度,解决现有问题
第一个很重要的原因就是,正是因为如上所述,要快、要高效的面对熟练人员。如果是工作效率在运维系统中可以使用机器来尽量多的完成任务的话。那么“快”在运维系统的研发中就显得格外的重要。其实,当今世界上最简单的,也是最早出现的交互见面便是Terminal。在Terminal的情况下,大量的UI工作和交互工作都转化成了基本的命令,不再需要写表单,调整在不同窗口大小情况下的适配,也不用做繁琐的IE,Chrome等浏览器适配工作。这让DevOps研发更多的关注于“核心任务”,就是用机器方法提升工作效率本身,让出了核心功能外的代码降低到最大程度。
第二个原因,其实,随着后移动时代的到来,越来越多的人已经开始从2007年手机触屏所带来的一股极大的UI交互体验旋风中走了出来。渐渐的,一种更加方便简易的形式在兴起。Cortana, Google Now和Siri,人机对话。其实,早在Symbian时代,就有一家著名的公司Nuance公司,从事语音识别,而且效果已经很高了。不过微软、Google和苹果在识别的背后加入了更加强大的语音分析引擎,让识别结果更加语意化,可以基于场景来从事更多的工作。因此,如果说过去我们在交互这个领域,还在苦苦追求更加简单、易于理解和上手的人机交互的时候。新的机遇自然语言或者简易自然语言的交互,很可能会在不远的未来改变我们的生活,而这一切,一定会从技术本身开始。
Github去年发布了非常有意思的办公自动化软件Hubot,他通过添加adaptor的方法,想Hubot注入更多语言交互指令,让Hubot可以通过一系列在Chat过程中的指令模式完成操作。其实本质上说Hubot和Terminal的工作原理并没有多大不同,但是这一次,对话不再仅仅限制在Terminal上,更加无需了解很复杂的ip地址和命令。如今的交互在IM软件上,通过一些预先设定的语言类指令来完成。
前段时间,Google发布了他们的语言搜索系统,WWDC在新版的macOS上面加入了语义搜索功能。可以想见,ChatOps,ChatOffice,ChatXXX为代表的一系列人工语音交互模式,将会实现。那么如今,我们要做的,就是把业务内核准备好,剩下的就是不断探索更新的技术所带来的便捷。
最后,写到这里的时候,我忽然想到了一个事情--图灵实验。1950年,图灵发表了具有里程碑意义的论文《电脑能思考吗?》,在里面第一次提到了人工智能的概念。图灵对人工智能的描述就是,有一堵墙,墙上有一个小窗口,窗口的两侧,一边是人,一边是具有人工智能的机器。如果两方都认为对方是人的话,则实验成功。现在看起来,这样的日子真的不远了。:)