人机交互技术(Human-Computer Interaction Techniques)是指通过计算机输入、输出设备,以有效的方式实现人与计算机对话的技术。人机交互技术包括机器通过输出或显示设备给人提供大量有关信息及提示请示等,人通过输入设备给机器输入有关信息,回答问题及提示请示等。人机交互技术是计算机用户界面设计中的重要内容之一。
市场需求是很大的,而供应方面却略显不足,尤其是拥有核心知识产权,技术过硬的企业并不多,行业整体缺乏品牌效应。
⒈WIMP界面的形成
Xerox Palo研究中心于70年代中后期研制出原型机Star,形成了以窗口(Windows)、菜单(Menu)、图符(Icons)和指示装置(Pointing Devices)为基础的图形用户界面,也称WIMP界面。
Apple最先采用了这种图形界面,斯坦福研究所60年代的发展计划也对WIMP界面的发展产生了重要的影响。该计划强调增强人的智能,把人而不是技术放在了人机交互的中心位置。该计划的结果导致了许多硬件的发明,众所周知的鼠标就是其中之一。
⒉WIMP界面面临的问题和发展多媒体计算机和VR系统的出现,改变了人与计算机通信的方式和要求,使人机交互发生了很大的变化。在多媒体系统中继续采用WIMP界面有其内在的缺陷:随着多媒体软硬件技术的发展,在人机交互界面中计算机可以使用多种媒体,而用户只能同时用一个交互通道进行交互因而从计算机到用户的通信带宽要比从用户到计算机的大得多,这是一种不平衡的人-计算机交互。
虚拟现实技术除了要求有高度自然的三维人机交互技术外,由于受交互装置和交互环境的影响,不可能也不必要对用户的输入做精确的测量,而是一种非精确的人机交互。三维人机交互技术在科学计算可视化和三维CAD系统中占有重要的地位。
基于WIMP技术的图形用户界面,从本质上讲,是一种二维交互技术,不具有三维直接操作的能力。要从根本上改变这种不平衡的通信,人机交互技术的发展必须适应从精确交互向非精确交互、从单通道交互向多通道交互以及从二维交互向三维交互的转变,发展用户与计算机之间快速、低耗的多通道界面。从右上表可以看出在计算机系统不同的发展阶段中,人机交互模型的发展过程。在传统的人机系统中,人被认为是操作员,只是对机器进行操作,而无真正的交互活动。在计算机系统中人还是被称为用户。只有在VR系统中的人才是主动的参与者。
人类生活中的事件都是多通道的,人-计算机多通道交互技术的发展虽然受到软件和硬件的限制,但至少要满足两个条件:其一,多通道整合,不同通道的结合对用户的体验是十分重要的;其二,在交互中容许用户产生含糊和不精确的输入。
⒈非精确的交互
· 语音(Voice) 主要以语音识别为基础,但不强调很高的识别率,而是借助其它通道的约束进行交互。
姿势(Gesture) 主要利用数据手套、数据服装等装置,对手和身体的运动进行跟踪,完成自然的人机交互。
头部跟踪(HeadTracking)主要利用电磁、超声波等方法,通过对头部的运动进行定位交互。
视觉跟踪(Eye-Tracking)对眼睛运动过程进行定位的交互方式。
⒉多通道交互的体系结构
多通道交互的体系结构首先要能保证对多种非精确的交互通道进行综合,使多通道交互存在于一个统一的用户界面之中,同时,还要保证这种通道的综合在交互过程中的任何时候都能进行。图1和图2表示了这两种不同的体系结构。良好的体系结构应能保证多个通道的综合不只是发生在应用程序这一级。
人机交互技术是用户界面研究中发展得最快的领域之一,对此,各国都十分重视。美国在国家关键技术中,将人机界面列为信息技术中与软件和计算机并列的六项关键技术之一,并称其为"对计算机工业有着突出的重要性,对其它工业也是很重要的"。在美国国防关键技术中,人机界面不仅是软件技术中的重要内容之一,而且是与计算机和软件技术并列的11项关键技术之一。欧共体的欧洲信息技术研究与发展战略计划(ESPRIT)还专门设立了用户界面技术项 目,其中包括多通道人机交互界面(MultiModal Interface for Man-MachineInterfa
ce)。保持在这一领域中的领先,对整个智能计算机系统是至关重要的。我们可以以发展新的人机界面交互技术为基础,带动和引导相关的软硬件技术的发展,使更有效地使用计算机的计算处理能力成为可能。
一. 语音
毋庸置疑,影片中女主的声音充满磁性和魅力,很容易让人想入非非,但如果作为严谨的人机界面还能那么潇洒吗?个人认为难度很大。
1. 输入难以有效识别,原因有三:
a. 方言种类繁多,口音各异,需要建立及其庞大的数据库才能分辨。因此指令的准确性难以保证。
b. 语言含义非常丰富,歧义甚多,且与语言环境和表达习惯关系密切。同样一句话,因场合不同或者说话的人不同,可能表达完全不同的意思。
c. 采用异步串行单工模式,传输效率极其低下,且完全不支持多人操作。
因此语音输入受其特征所限,目前仅支持采用标准发音的简单指令,未来也难有大的突破。
2. 输出方面也有类似的问题无法解决。
a. 异步串行模式无法实现快速交流,就像听新闻一样,必须从头听到尾,否则就不知道中间拉了什么内容。
b. 同样由于理解障碍,很难用正确的语气表达,现有的机器朗读基本没法听。
二. 手势识别
这种方式以手势作输入图像信息,完成人与计算机的智能交互功能,其优点在于采用非接触方式,不受距离和显示设备尺寸的限制,在某些特定应用场合,具有较好的前景,但它的很多缺点也是致命的。
1.手势识别
手势识别采用的是类似鼠标的相对定位系统, 它需要一个光标来标识当前位置,要移动到一个地方首先要知道光标身在何处,往哪个方向去,每时每刻还需要不停的给用户反馈当前的位置才不至于出现偏差。换句话说,相对定位系统是需要二次定位的,先判断当前位置,再判断运动轨迹。如果说鼠标始终在屏幕上,第一次定位还可以大体忽略的话,那么手势的二次定位就几乎是不能忍受的。试想一下,你本来就是要点一个按键,却还得先找到自己的手在哪?这绝对是反人性和效率低下的。
2. 手势识别定位精度低。
由于每个人手的结构不完全相同,很难通过捕捉动作实现精准定位。如果两个目标距离很近,比如两个字,就无法分辨具体指向。
3. 信息量小。
通过手势只能识别一些简单动作,对于复杂操作无法有效分辨。
4. 手势目标检测和识别困难。
a. 手是弹性物体,同一种手势之间的差别很大;
b. 手位于3D空间,计算机获取的图像是在2D空间的投影,投影方向不同时图像差别很大,对手进行定位也有一定难度,因此投影方向很关键;
c. 手的表面是非光滑的,易产生阴影,对手势的识别也会产生影响;
d. 手指特征是识别手势的关键,手掌特征是冗余信息,在复杂背景下需要明确分辨目标特征,特别是手脸遮挡和手腕的去除等,也是难以克服的问题。
如果语音和手势都不靠谱,那还有什么可能的方式呢?
看看下面这幅剧照,是不是感觉很熟悉呢?这个貌似PAD的东东是《2001:太空漫游》里为我们描绘的设备。这部影片的出品时间是1968年,今天的大叔们还没有来到世间,所以很遗憾估计在当时由于特效无法达成,在屏幕上戳戳点点比比划划和这机器互动一下的桥段都没能看到,但这依然不妨碍它赢得当年奥斯卡最佳视觉效果奖。
值得一提的是,苹果与三星对簿公堂,在庭上怒斥三星平板电脑侵权的时候,三星的反击证据就有这一科幻的理由。三星原文是这样的:”该(《2001:太空漫游》中的)平板电脑为矩形,屏幕占据很大空间,边很窄,前后表面很平,整体很薄。”也就是说,三星认为平板电脑早就不是新点子了,我抄袭你,你丫还抄袭了《2001:太空漫游》呢!
时至今日,昔日的幻想成为了现实,随着技术的突破,手机、PAD这些小玩具以迅雷不及掩耳盗铃之势铺天盖地席卷而来,抢占了我们的时间和精力,与我们每天朝夕相对。其定位似乎已经不是奢侈品,而几乎成了生活必需品。究其原因,触摸操作为我们带来了近乎完美的用户体验,从而压倒了一切旧势力,实现了江山一统。现在的智能设备采用的如果不是触控操作方式,都不好意思和别人打招呼。毫无疑问,触摸的时代来临了!
让我们沿着科幻作品的轨迹继续前行,更加震撼的场景出现在我们视野当中:我们生活中无处不在的各种死的表面,像桌面、墙壁等等,他们都活了,变成了能和我们实时交互的界面。
触摸操作有很多颠覆性的优点:不需要二次定位、操作直观方便、定位精度高、信息量大、同步并行效率高、轻松支持多人操作等等,大家已经非常熟悉,不再赘述。但只到现在为止,触摸屏的真正优势还远远没有发挥出来。
我们现在所使用的触摸屏产品都是以小尺寸为主,包括手机各种pad,他们确实很方便,可以随时随地使用,但是受尺寸大小制约,小尺寸触摸屏产品也有很大局限。
首先是信息量小,比如要去淘个宝就很费劲,远没有在电脑屏幕上过瘾,浏览网页,获取资讯也都很累。再有它的用户体验不足,看电影听音乐玩游戏,所有这些涉及享受的体验都比较勉强。还有就是只能支持单人使用,我们经常会看到这样的画面:熟识的人们坐在一起各自摆弄手机,它表面上缩短了人们的距离,但实际上使人与人之间的沟通变得程式化,减少了最本能的近距离沟通,让人们更冷漠、心灵更疏远了。
还有很多问题不一一列举了,总之小尺寸触摸屏更像是一种快餐,能够吃饱但不能吃好。与之相比,大尺寸触摸屏才是真正的饕餮盛宴,它能让人们充分体验到科技带来的,前所未有的震撼感受。
在大尺寸触摸屏上的畅快感受,不需多言也能很容易的想象。
《三体》中更是清晰地勾勒出了让人无限憧憬的未来世界,至少在人们认为三体人的威胁已经消除的日子里,就像生活在世外桃源一样美妙。(真心期待三体搬上银幕,我将会拿出脑残粉的精神熬夜等首映—难以想象降维攻击之类的大招使出来会是怎样一幅华丽丽的场景)。然而要想让屏幕真的替代家具、墙壁甚至地板确实不是一件容易的事,无论是脆弱的电容屏,还是笨拙的边框屏,都面临着无法逾越的鸿沟。大尺寸触摸屏达到实际应用水平需要满足几个基本条件:
1. 它不能像传统的娇嫩的电子产品,要小心翼翼的使用,必须足够坚固,并且不能有妨碍使用的辅助部件,从而提供像家具一样的用户体验。
2. 需要足够智能,在各种复杂的应用场景下都要识别出目标信息,过滤掉干扰信息,比如分辨出茶杯、书本等物体,排除手掌和手臂的干扰,从而准确无误地判断出人的意图并将它实现。
3. 触摸作为输入方式,其最大的优势在于自由意志的实现,而自由意志最核心的体现就是自由书写。触摸屏的目标应该是黑板、白纸等介质,而借助电脑的帮助,其体验甚至应该超过它们。自由书写的前提是无延迟、无漂移,能够体现力度。
幸运的是,这次我们不需要再等上几十年了,由紫霄公司自主研发的X-BOARD已经帮我们实现了梦想:)X-BOARD完全能够替代家具甚至墙壁和地板等等,让原先没有生命的冷冰冰的物体变成随时可以与你互动和交流的平台。
在未来,应用X-BOARD产品可以使触摸屏无处不在,家里的茶几餐桌,办公室的办公桌,马路上的广告屏,商场里的橱窗,餐厅咖啡店夜店的娱乐桌都可以是一个大触摸屏。在这样一个表面上,你只需通过指纹或者其它什么方式验证了身份,它就会变成你自己的专属办公桌,存放在云端的界面,数据都会呈现在你的面前(背着笔记本满世界跑的时代结束了?)
它也在再没有单人使用的限制,全家老少、我们的朋友、单位的同事,大家都可以一起在上面写字画画,玩游戏,讨论问题,喝茶聊天。可以想象在不久的将来,XBOARD能够让人获得前所未有的用户体验,它将又一次颠覆人们的生活习惯。
1>>前后端分离的意思是,前后端只通过 JSON 来交流...同意其他几位,JSON 只是一种可选的协议,而不是唯一,也未必是前后端通信的最佳方案。
2>>组件化、工程化不需要依赖后端去实现...有哪些好处或弊端?
前端的组件化、工程化,js 等代码越来越胖,有点类似于过去 C/S 时代的 fat client。所以这个问题相当于,计算是主要放在 client 好,还是 server 好?
Fat client 好,还是 thin client 好,取决于所开发应用、产品、系统的类型、规模和特点,其中一些权衡因素主要包括软件复杂度、人机交互模型、网络带宽、server 与 client 的处理能力等等。无所谓好坏,适合就好。
Client-side MVC 确实是一个趋势,Web 架构设计上的一个创新。