设计本身就带着一种矛盾
一方面，你想要尽快从别人身上得到反馈
另一方面，你得有东西让他们能够作出评价
你已经学会了如何运用纸上原型来快速构建原型
今天我们就来讲一讲如何跟用户测试快速原型
那么，我们想象一下……
如果可能的话，不用写任何的代码就能创建一个交互的程序
而且能够快速的得到用户的反馈会怎样？
我觉得这会是一个非常强大的梦，而且就像Dorothy从“绿野仙踪”中学到的一样
梦境可以非常强大，并且有时候，他们甚至能成真。
Dorothy还学到了一些其他内容，我们今天便会讲到
如果你看过电影《绿野仙踪》，你就知道
当Dorothy和她的同伴进入翡翠国的时候，
他们看到了一个可怕的巨型男巫，而且吓坏了
但后来他们发现其实那个男巫只是一个在幕后的小人装的，
而且那个幕后的小人上演这么一个大型真人秀的能力，
对于翡翠城的游客来说，可是看起来非常真实和强烈
而这也正是我们今天要从视频中学到的构建原型技术。
所以，幕后操作原型构建的意思呢，
就是我们要由电脑屏幕后的操作员来虚拟
我们产品的交互行为和机器操作
如果你想知道这样能够做到如何逼真，
，那么我们就来看看来自“Seinfeld”的朋友做的“电影电话程序“的例子，
这个程序是用作查询电影在何时何地放映的。
（您好，欢迎使用电影电话。
如果您知道想观看电影的名称，请按1.
【哔】快点儿快点儿……
请使用触摸式键盘，按下电影名称的前三个字幕，请输入！
【哔，哔】
您选的是《零号特工》。如果正确，请按1.
啥？！
呃……
就是说George以为他打的是自动的电影电话程序，
但是其实在电话后面，是Kramer在扮演男巫的角色
并且假装他就是一个机器。
老实说，他扮的可不怎么样……我觉得你们都能比他做的好！
幕后操作的技术首先用于语音识别界面。
”幕后操作“这个术语在1980年左右由Jeff Kelly在他的Phd论文中首次提出.
Jeff在John Hopkins大学做的布置，跟绿野仙踪的接近程度
可能比你想的还类似；
就是说，除了一些单象镜子和其他的东西，那儿真有一个帘子，
用来隔开Jeff，就是”男巫”，和其他测试语言界面的用户。
而这些“幕后模拟”原型对于理解如何使用一个高效的语音识别界面，
来说非常重要。
因为在那个时代，用来识别的算法还不算很好，
但是我们知道算法会变得更好。
Jeff问了一些重要的问题，比如：
“如果我们的识别算法已经成熟，那么它的用户交互该是怎样，
怎么样的设计策略最有效呢？“
所以通过”幕后操作“，Jeff能够穿梭到未来，
语音识别技术已经成熟的时候。
来尝试并理解那个领域的用户体验会有哪些问题。
总的来说，一个”幕后操作“原型是由几个零件组成：
首先，你得有类似的用户界面用来传递用户你的理念-
即使只是……一些草稿或者一些特定的词语。
并且同时，界面并不是由任何或少量的代码写出来，
代码和交互性其实都是由人所创造出来的反映。
有时候”男巫“创造的界面，
那些零零散散拼建的能起到很大的作用-
事实上2000年的时候，那时候我Berkeley的校友和我做了一个建了一个叫”Suede“的系统,
用来测试自动化”幕后操作“和语音识别界面。
如果”幕后操作“比建一个真实的系统更快更廉价的话，它就很有用。
尤其是当你的产品涉及到基于识别的用户界面，
或者是面对用户的个人化设定的时候。
是否”幕后操作“更便宜，快捷和容易也都取决于你得能力；
有些东西你如何快速简单的完成，那么你就直接去做了，
还有些东西，你是知道有些难度，比较耗费时间，
这些东西你就可以选择”幕后操作“来虚拟。
和其他别的原型技术类似，”幕后操作“原型既能高度也能低度的仿真。
这个时候也有些重要的权衡-
原型越高度仿真，对于用户来说它就更真实-
事实上，有时候，你做的界面用户甚至都不知道它是人模拟的，
就比如那个有名的”土耳其下棋傀儡“，实际上就是由人坐在象棋机器里面假扮的。
不管怎样，做一个高度仿真的用户界面要花很多时间，
用户可能也不会更愿意对一个高度仿真的用户界面作出批评，
所以说，早期的时候，我觉得纸上原型就是”幕后操作“
最简单快捷的方法。
因为用户觉得他们可以给你任何的反馈，
因为很明显你还没有花很多时间去做它，
而且你做它也很容易，所以你其实没有花很多时间做它.
几年前，我的朋友Sep Kamvar开了一个公司叫Aardvark,
做的是一个社交搜索引擎。
它用来通过你的社交网络帮你从他人处找到答案。
就是说它通过及时通讯程序，比如说谷歌聊天提出一个问题；
然后这个问题立即被自动传播给你的朋友，或者朋友的朋友了，
任何能有知识回答这个问题的人。
构建这个服务的一个难点在于：你如何做到问题的传播？
最终他们写了一个算法来完成这个系统；但是在开始-
既要找到写这个算法的方法，
又要在他们做任何东西之前搞清楚如何完善用户体验，
他们做了一个”幕后操作“原型。
所以他们想的方法就是，Aardvark的雇员先想了一些问题，
然后他们手工的选择他们想被传播到问题的人，
Damon Horowitz，Aardvark的共同创始人，在一个会议中是这么提到的，
他说，”如果人们喜欢在这种超级简陋的形式下做的东西，那么它就值得做，
因为我们要是做出真的东西来了他们会更喜欢！”
那么，如果你想要像Kramer或Aardvark一样，你该怎么做一个“幕后操作”原型呢？
下面就是你需要做的五个简单的步骤：
首先，搞清楚你的产品基于什么情景下被使用。
建一个功能有限的“幕后操作”原型相对简单很多，
我喜欢“幕后操作”原型
因为他迫使你搞清楚面对真人，机器该如何反应。
然后，把一些用户界面的构架聚合在一起，
那些终端用户最后要看到的是什么。
第三，如果你有一个远程的幕后操作人，给他们建立一个可以跟用户沟通的桥梁，
或者他们能够在幕后控制一些软体功能。
第四，接着前面的说，
你需要确切的搞清楚"幕后操作人"能够输入什么类型的信息：
他们能够从一系列的选项中选择吗？提供任何形式的回应？说出文字？
你会给他们提供决策树用来控制他们的行为吗？
或者你要让他们更加自由的行动？
如果你有一个纸上原型，他们的角色也将更为手动-
加上一些微件和移动滑块，然后让界面能够运行。
当你做这些的时候，一定要记住，
最终，你现在幕后操作的功能都将由电脑取代，
并且在最终某一时刻，你必须要做出软件让这些功能能够运行。
这很重要，因为要虚拟一个永远不能完成的东西很容易。
并且最后一点，和任何你要和真人测试的原型一样，
首先让一个朋友或同学使用你“幕后操作”的程序-
他们可能会做出一些你不会做出的用户行为-
并且同时，搞清楚什么样的情况下最有效，你需要提供什么样的操作给用户。
在你跟真实的用户测试前，先解决用户界面的一些基本的漏洞。
现在你应该准备好测试你得用户界面了：就像我之前说的，你得先跟一个朋友测试。
一旦你能把一些非常明显的小插曲解决掉，那么你接下来的任务就通顺了很多。
然后就是时候募集一些人来测试你的原型。
你甚至能去一些比如，车站，机场，街道口，或者咖啡店之类的地方，
作为接近你的产品的潜在用户的方式。
在“幕后操作”原型中有两个角色：
你需要一个跟你的用户交流的协作人，
然后你需要一个操作你原型的“幕后操作人”。
如果你有一个超豪华的团队，有这么两个人就最好了，
一部分是因为你的脑海中已经挤满你要做的各种事情了，
如果你能把这两个角色分开，每个人就能够更为集中的完成各自的任务，
而且如果你有两个人能够各自观察用户的行为，你能学到更多。
但是如果情不得已，你也能自己身居双职-这些也能一人同时担任两个角色。
如果你想让别人相信这就是一个真实的系统，
那么你就需要你的“幕后操作人”藏起来或者远程的和用户联系，就像前面提到的Aardvark的例子一样。
然后想一想你想怎么从用户那里去的反馈-
这是我们在讲授这个课程中间要多次接触的话题。
就现在来说，想一想你是否想要获得脱口而出的回馈-
它的意思是，当有人使用这个原型的时候，
让他们直接说出他们脑子里的想法，他们做出的选择和为什么这么做，
当他们碰壁的时候却不知道如何解决的问题。
脱口而出的方式很适合用来了解问题，不然你可能不会知道或意识到问题。
但是，你可能也会意识到，脱口而出的方式可能也会改变人们和原型交互的方式。
不然，如果脱口而出的方式有点扰乱用户的思绪，你也能在测试的最后问用户，
他们脑子里的想法和想到了什么-
这种方法叫做，回忆启发。
你要是想的话，还可以给用户看他们使用产品时的视频，
然后问问题比如，“当你在这个地方卡住的时候，你碰到了什么问题？”
第三，如果你有特定的问题你想弄清楚，用来确定你的界面工作流畅，
你可以有分类的问题和启发式的问题来让你的用户特别注意。
启发式测评我们在这个课程的之后还会涉猎到。
一旦你完成了测试，请务必感谢你的用户抽出时间。
你可以给他们一个礼品卡，冰淇淋，或者其它类型的感谢方式。
并且，如果你还没告诉他们事实上你的界面是由屏幕后的幕后人员操作的，
实验的最后也许是一个非常好的时机-
你需要对你的测试用户诚实。
你可以在你的产品开发阶段一直使用“幕后操作”，
不一定非得在最开始的阶段。
那么，如果你在这点做出了最终的产品，在你不断的完成你的软件的同时，
你能用“幕后操作”来填补任何那个阶段还未完成的内容。
所以，“幕后操作”能够在开发的最开始阶段实现所有的交互，
然后，在你的项目越来越接近终点的同时，
你也能用“幕后操作”来填补还未完成的部分。
就你也能发现到，“幕后操作”原型有很多优势：
它们能够快速的被实现，因此说它们造价低廉，
也就说你能花更多精力用来反复构思。
因为它们做的快，你也能快速的做几个不同的方案。
或者你想要你最终的实现方案使用和初衷不同的原理，
你只需要给你的“幕后人员”另一套操作方案；完全不需要重写代码。
因为它某种意义上来说就是可交互的，
它显得更真实，并且比你从纸上原型获取的用户反馈好很多，
尽管用纸上原型作为“幕后操作”的基础，
是设计流程开始的一个极佳的策略。
它是在你设计用户界面的过程中用来获得用户对于问题和漏洞的反馈，非常好的方式。
就我所做的，和我所看到的任何一个用户界面，
或者是我的学生做的任何一个界面，一开始都有漏洞。
一开始就没问题实在太困难了。
你必须重复实践并且尽早的发现问题，这样你才能更早的成功。
而且“幕后操作”是用来实践它的一个极佳的工具。
因为你想尽早的从用户那里获得反馈，
这是一种将用户放在开发核心的极佳方式。
这对于前瞻性的程序也非常有用。
当我们开始考虑探测器，摄像头和其它未来科技
可能用来启发新型的用户界面的时候。
你能通过建造“幕后操作”来想象这些。
最后，可能听起来奇怪，你确实能学到很多
关于你的界面应该有的逻辑，和行得通的方法，
通过扮演“幕后操作人”和将那个角色在系统中实体化。
但是也有缺点：
它也很容易掩盖掉技术上的问题，并且最终毁掉你-
就拿语音识别系统举例。
如果，在最后，你在你的语音识别系统中发现一些漏洞，
你希望确信你的“幕后操作”原型能够模拟出
你的语音识别系统出现的同样的问题。
不要假设你的系统一直会顺利工作。
因为如果你不仔细，你最终就只是模拟一个永远不会存在的技术了。
人类，不论好坏，都不是从一而终的，
那么为了让他们能够扮演好“幕后操作人”的角色，就需要一些训练，也就要花很长一段的时间。
因为你必须有一个真人来“幕后操作”，
你的实际操作效率也就更低下，
你的“幕后操作者”的人也更为沮丧。
“幕后操作”对于某些功能，比如说Kramer的语音操作界面来说非常有用，
但是对于其它，你能用“幕后操作”界面能搞清的就极为有限了。
它也不一定有效率-它也可能很迟钝。
或者干脆就不适合-
有些情况下，“幕后操作”可能就……不理想。
总的来说，我认为“幕后操作”是一种非常有效的技术，
而且是一种能够开发你的创作力的，一种非常有趣的方式，
通过一个“幕后操作”的原型你能想象出什么样的用户界面呢？
我想感谢Stephen Dow开创这个课程-
我用到了很多他在描写和讲述“幕后操作”原型时所使用的材料。
如果你对“幕后操作”有兴趣，你可以在这里看到这些资源。