关于人机交互的一些思考
在开始正文前,我想请你思考以下一些问题:
在图形化交互无处不在的今天,为什么做底层开发的计算机工程人员仍然在使用“晦涩难懂(至少对于一般人而言是如此)”的字符命令在shell界面进行操作?(相信你见过黑客在黑底绿字的界面下疯狂敲击键盘,入侵别人的电脑)
触控交互为什么会取代按键交互?(说人话就是iphone为什么会取代nokia?)
为什么诸如apple watch等的智能手表无法做到大规模普及?(例如像手机,人手一部)
这些问题是我做以下阐述的思维原点和发散点,希望能让你对本文内容的理解提供些许帮助:)还有,这篇文章之所以能够写出,得益于锤子科技新发布的TNT给予我的灵感,使得我将以前碎片式的思考能够连接起来,所以很可能成为一篇“软文”。为了方便你的理解,我想我得告诉你我的套路,在正文中我开篇会先点明我的观点,然后再叙议我的观点,如果有需要一些背景知识我会在文中或这段末尾以括号的形式补充。
就像你要了解一个人,你必须了解他的经历一样,我们讨论人机交互也要了解它的发展。
从第一台电子计算机ENIAC,到IBM的1401和7094,到Apple II,再到Apple Lisa,再到近期的iPhone 4,这个发展过程中计算机的计算能力成指数倍增长,其运行的软件也越来越庞大复杂,实现的功能也最初的科学计算到如今的机器学习。但其内在的本质并没有改变,依然为冯诺依曼体系结构,作为用户我们能感受到的改变也是最具意义的变化就是交互方式从最初的打孔纸带交互到磁带交互再到键盘字符交互再到鼠标图形交互再到手势图形交互。之所以称交互方式的改变是对我们用户而言最具价值的变化是因为每一次交互方式的变化都带来了软件和计算的相关应用的蓬勃发展。从另一个层次讲,交互的形式也限制了软件和应用的发展。翻译成人话就是交互的形式决定了用户可以得到的上限,就题论题的讲,从乔布斯发明了iphone定义了真正的智能机到现在10年过去了智能手机有没有根本上的变化?我想答案是否定的,我们现在只是在完善乔布斯的定义,让手机速度更快,容量更大,拍照更清晰,并没有做出颠覆性的变化,当然你非要说手机的外壳变化巨大,我也只有依你咯!为什么变化不大呢?当然不是那些手机公司不想变化而是交互形式把它限定在那了,只要交互形式不变,不管处理器有多快,内存有多大,我们能做的依然是缝缝补补。
(插一句题外话,人类历史还有很多这样有趣的例子,核心变化会带来上限的变化:最开始的阶段带来变化,成熟后将制约变化。比如交通工具动力的变化,我们大概经历从马拉车到蒸汽机车再到柴油车的变化,最早出现柴油车的时候,马路上跑的更多的是马车,当时柴油车其实并没有马车跑的快,跑的远,而且声音还大,震动剧烈,尾气难闻,关键还贵,可以说相较于马车几乎没有优点,但是。。。人家潜力大啊,发展至今柴油车已经完全超越马车了,我们可以这样说在大家都在使用马车的时代,柴油车的出现把我们用户所能得到的上限往上推了一大截尽管它当时很糟糕。现在又出现了电动车对吧?所以你懂的。。。)
谈了那么多人机交互,可是人机交互是什么?人机交互的本质是人与机器间的交流(广义交流:信息在两个或多个客体间的流通)。既然是交流那么就有关于交流的两个重要指标存在,交流复杂度和交流效率(这里的交流复杂度和交流效率分别对应信息论中的编码和信息熵,如果你没学过信息论,那就不管它)不知你是否看过关于哲学或经济学或其它倾向于讲述本质问题的书,你有没有注意到,作者在讲述的时候倾向于使用许多定语来限制这句话的多余理解,使得作者要表达的意思尽可能的能被唯一解读。这里的使用定语就是交流复杂度,定语越多,也就越复杂,这也是为什么哲学书读起来晦涩的原因,这些书的作者提高了交流复杂度,使得作者表达的话难以被错误解读,也就提高了交流效率,补充一句,怕你们误会:这里的交流效率是指作者的意图真正被你理解的程度,并不指你单位时间内能理解多少,换句话说作者表达的越清晰就越不可能产生歧义,你就越可能准确理解作者意图,可能那句话很难,但你可以通过查阅资料花些功夫理解。有了这些铺垫我们回到开篇的问题:
1. 在图形化交互无处不在的今天,为什么做底层开发的技术人员仍然在使用“晦涩难懂”的字符命令在shell界面进行操作?
答案很简单因为效率。举个例子你要修改一个保存有5000张图片的文件夹中昨天导入的1000张图片的格式(因为社交网站只支持特定格式的图片)在图形界面下:找出昨天下午导入的那1000张图片——>将其导入格式转换软件——>选择要转变的格式——>点击转换,这是图形界面操作的大致过程,如果细分开每点一下鼠标一个步骤,还要更多。再来看看字符命令:调用的软件名+要执行的操作(转格式)+过滤命令+过滤条件(昨天导入)+目标格式——>回车键,只要大概一两行的命令就完成了转码操作远比图形界面更具效率。从对比中我们可以看出字符命令描述问题的维度更多,能对我们的意图进行更细致的刻画,进而提升了我们与计算机间的交流效率;而图形界面,单从调用软件那一步骤而言,软件有不只一个功能,即使是转码功能也有不同的码,我们的每一步操作都有被“曲解的可能”,所以其交流效率低下。字符界面固然有较高的操作效率但它是是以提升交流的复杂度为代价:首先你得熟记那一系列的操作命令其次你得懂得正则表达的规则,这一系列的条件对普通人而言都是不友好,其本质就是学一门外语,只不过不是对对人讲的。
(无论是图形界面还是字符界面尽管我们的操作不同,但我们需要告诉计算机的信息是一样:计算必须知道用什么软件打开文件,以及文件的名称和该文件所在的位置才能对这个文件进行操作,只不过图形界面将过程自动化:我只需要用鼠标点击要打开的文件,计算机自动根据你的点击补全文件的位置而字符界面则需要你手动输入文件路径或进入到目标文件位置。请你记住图形界面下计算机自动补全信息,使得用户可以忽略细节一定程度上提升效率的重要性。其实我想写三遍,但那确实太啰嗦了。这对我们将要提及的事有重要的启示。)
我们人都会有一个梦想,概括为一句话就是:既想马儿跑得快,有想马儿不吃草。所以我们就要问了,有没有可能我们既能提高交流效率,又能降低交流复杂度?其实我们的交互发展一直在朝着个方向发展,那就是同过一系列计算机自动化的方式来解决那个矛盾的问题。就目前来看苹果做得比较好,通过合理的菜单组织,减少高频操作的步骤,以及通过对高频应用的统计,把这些高频应用集合为一个按键,比如女孩子喜欢的照片一键美颜,以及把规则化的形式一一罗列出来。这次老罗所演示的TNT PPt自动排版,就遵循的这个逻辑。排版的规则无非就是对齐居中,主次分明,字体统一,大小合适,在这些美学要求下排版也就那几种可能。
2.触控交互为什么会取代按键交互?
所见即所及的高效率。跟功能机时代你需要用方向键选中图标,相比你直接用手指点击的效率不知高到哪里去,图标越多(即功能越多),体现的越明显
时至今日我们可以这样讲:按键限制了手机提供更复杂功能的可能性,在巴掌大的地方提供的按键极其有限以致在电脑上执行这些操作远比手机方便,比如p图,剪辑视频,浏览网页;而触控的高效率则为手机提供更复杂的功能提供了可能性,从本质上讲也是通过增加交流的复杂度(触控的维度要远远高于有限的按键所提供的维度)来提升交流的效率,可是为什么提升了交流的复杂度我们去感觉手机更简答易用?
因为它使用的是我们会的方式来跟我们打交道,那种感觉就像一个人考你一个难的问题,但是那个问题是你会的。对你而言也就不难了。用手势操作唤醒了跟现实世界打交道的记忆,让这件事操作起来更显直观。比如,用手机阅读手指向上滑动把看过的文字滑出去,把没看过的文字滑上来。像不像,有一张纸遮住了半页书,你要看下半页的书要么把书往上拉,要么把纸往下拉,所以只要手机边框和屏幕可以伸长,向下拉屏幕也是易于被人类所接受的。还比如放大图片两只手指外扩像不像,你的小玩意掉到草丛里,你用手把草丛拨开,寻找细节。像不像你吃薯片时用两根手指将薯片袋开口撑大所见即所及的直观和互动性。
说一件我深有感触的一件事,去年家里电视换成了智能电视,我在电视装了优酷,芒果,腾讯的app,有段时间热播《大秦帝国》,我就从app里直接点播,后来我婆也想从app里看点播让我教她,先从选择app开始,我让她试着按动方向键移动选择框,我告诉她你按动方向键的目的就是是使得选择框选中你要选择的图标,如果选择框在图标的左边你就点右键,选择框在图标的下面你就点上键,反之相反。然而教了三四遍我婆任然没有学会,根本不知道如何按方向键,因为她无法理解选择框,也就无法在按动方向键和选择框间建立联系。后来我让她指芒果TV在哪,她一指就指对了。那时我就想:如果电视是触控的,那么我只需告诉她,你用手点你要打开的图标就可以了。
在操作的高效率和直观易用上来讲,触控交互取代按键交互几乎是必然,尽管我们损失了按键的手感,损失了进行盲操作的可能,但跟我们得到的比起来,损失的简直是微不足道。
3.为什么诸如apple watch等的智能手表无法做到大规模普及?
智能手表与智能手机相似的交互方式,决定了其功能的上限就是智能手机,换句话说,手表能实现的,手机也能实现。它唯一能与手机区别开来的,就是携带方式不同:手表是穿戴式设备可以寸不离身,而手机是便携式设备,可是现在人找不到手机就像是丢了魂一样,一样是寸不离身啊。所以当功能重复度如此高时,智能手表只能作为智能手机的补充存在,而无法成为一个刚需。
谈谈未来的交互方式的发展
上面谈到,如何实现更低的交流复杂度,更高的交流效率,我们所做的计算机自动化努力,目前看来是够用,可是放眼未来这样的自动化是远远不够的。所幸是革命来了,大杀器来了,
上文我提到字符命令操作更像我们人在学一门对计算机讲的外语,换个方向,为什么不让计算机学习对人讲的“外语”呢?人工智能,计算机理解我们人类的自然语言。这是因为我们人类的语言有足够的复杂度,使得交流效率可以足够高。其次因为我们人类熟悉,所以几乎没有学习成本,我们能感受到的复杂度几乎没有。老罗的TNT出来后,网上就有人用表情包调侃,其实他们错,你觉得人类中的那部分精英分子会傻到说用有足够复杂度的语言来描述“关掉对话xx窗口”,”打开xx软件”?肯定不会对不对?因为在你说完那句话前,我用鼠标或键盘早就完成 了那个操作。未来我们用语言,是直接把我们的意图告诉计算机,具体操作的细节由人工智能决定。比如我们想买个相机,我们直接说出“买一个相机”,人工智能直接分别搜寻各个电商网站和测评网站为你列出最优选项供你选择,而不是用语音告诉计算机,“打开淘宝”,“搜索相机”,“打开京东”, “搜索相机”。我想这也是老罗演示TNTpoker dealer所要实现的目标:我们只告诉计算机我们的意图,具体怎么操作由计算机智动完成。
总结:不管未来如何发展,交互方式一定是沿着提升交互效率(交流效率)降低交互复杂度(交流复杂度)的方向前进,但两者是矛盾的,为了平衡这两个矛盾的部分,交互必然会趋向于机器人格化的方向发展,也就是AI化的方向发展。