Tag Archives: multi-touch

由Google收购Bumptop说起

在校内上再次看到这个视频,很早以前Bumptop的演示片,没想到现在被Google收购了。视频里TechMessager的评论讲得很振奋,在校内上的流行度也跟那个烂了大街的six sense有一拼。其实吧,手势操控除了看着炫,它的真正效用还是要加个问号的。前几个月大佬Don Norman也在Interaction杂志上发表了”gestural interfaces are unnatural“的观点。我最近刚刚重新整理完相关的研究综述,其中几个关键论文很适合用来分析Bumptop、多点触摸、以及手势操作。

先挖挖祖坟。第一个多点触摸系统早在1982年就在多伦多大学的Input Research Group实现了。可是此后的20年间,这个地球上也许没有多少人知道multi-touch是啥玩意儿,直到苹果抛出了iPhone,multi-touch才登上舞台。想起Bill Buxton说的,这二十年what the heck are we doing? 这是闲话。

接着看多点触摸好在哪。它是直接交互(direct interaction,相对于鼠标的indirect),也就是输入和输出发生在同一个空间里;它允许双手操作,Yves Guiard那篇很有名的Kinematic Chain的文章就指出,相比与单手操作,双手操作并不是1+1=2那么简单,非对称的双手操作(asymmetric bimanual action)其实能起到1+1>2的结果。直观上,这样直接的、双手的交互形式肯定比鼠标更自然、更简便.

再来看看多点触摸的缺点。人的手指比鼠标光标大了可不是一点两点,手指操作的精确度大大降低,想想在iPhone上选择一段文字有多么困难就能明白;二者,谁长了透明的手指呢?伸手去触摸的同时,你最关注的那部分屏幕内容也被手给挡住了;第三,有研究发现在触摸屏上,很多用户倾向于使用对称式的双手操作,与我们最熟悉的非对称方式有差距;再者,虽然增大屏幕可以相应地增大屏幕上物体的尺寸,适应我们粗大的手指,可是屏幕大了,再来个触摸操控,用起电脑来岂不是跟做广播体操一样(如下图,引自腾讯CDC)?

接下来,更学术点。多点触摸属于post-WIMP界面(W=window, I=icon, M=menu, P=pointing device)的一种,Robert Jacob在2008年的CHI上提出了Reality-Based Interaction,即RBI framework,这个框架建议在评估一个post-WIMP界面的易用性的时候,可以从四个方面进行考虑:

  1. 是否有模拟简单的物理定律。因为正常人对简单的物理定律,如重力、摩擦力等都有很自然的认知,充分利用这方面的知识能帮助用户理解虚拟系统的工作方式。从这点上看,Bumptop做得很好,比如图标之间的碰撞,用手指同时拨动多个物体等,这些操作方法很直观,易学不易忘。
  2. 是否有利用身体的空间感知和空间技能。在物理世界中,很多时候我们并不需要视觉反馈来完成操作,因为即使闭上眼,我们也能知道身体各部分之间的相对位置关系,这样视觉系统就能专注于获取更有价值的信息。此外,我们在长期生活中培养出了很多复杂的空间技能,比如协调身体各部分的运动来准确踢中一个足球。如果能利用人类在这方面的优秀感知和技能,人机交互将更有效率。对于包括Bumptop在内的触摸界面来说,在这方面有天生的不足,因为二维的触摸屏在空间上太过简单,谈不上什么空间感知,而且缺少有价值的触觉反馈,手指碰到的是哪个物体、一个按钮是否被成功按下等,都依赖于视觉反馈,用户不得不在屏幕的各个区域间频繁转移视觉关注点。
  3. 是否有利用人对环境的感知和技能。凭借一些简单的线索,比如光线造成的阴影,我们就能轻易地获得所处空间的特征,并利用这些信息指导自己的动作。Bumptop模拟了一个三维房间,让用户运用其布局来组织信息,比如把照片贴到墙上等,比WIMP界面中的抽象的树状文件夹结构更直观明了。
  4. 是否有利用社会感知和技能。在日常的社会活动中,我们掌握了如何与他人交流的技能,也知道如何遵守约定俗成的守则,在多用户的交互环境中,用适当的设计来模拟同样的社交环境,也是很有好处的。Bumptop也许目前还只是单用户的系统,在这方面就N/A了。

说了这么多,总结以上四点就能看出,Bumptop做得出色的是第1和第3点,但偏偏这两点跟“手势”都不太搭边,而应该说,出色的根源在于对现实世界的模拟而非对手势的直接模拟,只不过对现实的模拟顺带使得其操作方式跟日常的手势很相似罢了。这样看来,Bumptop里其他手势的定义就很武断,比如用手指一划来剪裁照片,用手指划圈来选中多个文件再用两根指头顺序浏览。这样造成的问题就是,用户很容易忘记某个功能对应的手势,因为二者之间不像“手指拨动多个物体”那样有明显的逻辑关联;一旦忘记了手势,界面上又没有其他方式可供执行该命令,这个界面就一点也不直观了。

所以,Bumptop将三维空间的概念引入计算机界面是很成功的, 用多点触摸取代非鼠标保证了这样的改进是可行的,但它对手势的滥用是没有前途的。

我觉得,对手势的应用应该严格限制在那些直观的操作上,例如缩放、旋转一张图片,用手扫过多个物体等,其他不那么直观的功能还是应该交由传统的菜单、图标来执行,而在这方面,完全可以借助多点触摸、甚至Tangible User Interface来达到比鼠标键盘更高效更直观的操作。

Sony PS3 Eye webcam with v4l2

Finally got this working again. The two webcams worked perfectly on my old desktop computer with Linux kernel 2.6.30 (which has gspca 2.6.0 built in). I could send commands to them via v4l2 to change exposure etc. Then I ported the code to a new machine running 64-bit Ubuntu 10.04, kernel 2.6.32 (comes with gspca 2.7.0). The cam still worked, but I had no access to the controls, e.g. exposure, gain and flipping. I spent two days switching back to kernel 2.6.30/31, trying different patches posted on open source forums, modifying the kernels, making an identical OS from the old machine to the new one… no luck. But the solution turns out to be simple: check out the latest source code (2.9.0) from www.linuxtv.org, compile it and load it into the kernel. Bang. But I still don’t know why an identical OS with identical driver wouldn’t work on the new computer. Well, at least problem solved, time to move forward.