这是一道模拟题
对最佳设计的目标是耗时最短
设计评估方法
原则0 输入内容(比如所有的j和z)开始的时候加入X。
比如你移动鼠标到某一目标,然后你点击这个目标(按下鼠标上的健),或者对这个目标进行调整,那么根据规则0你的时间计算是,XZXJ,
原则1 去除可预期的X 如果从X之后的动作可以完全推测出X之前的动作,则除掉这个X.
前面的例子, 根据本规则,你的时间是XZJ.
原则2 去除认知单元units内的X 如果有一串XJ,属于某一个认知单元,那么去掉,除了第一个X以外的所有的X.一个认知集合比如输入”good”四个字母.
按照原则0, xjxjxjxj, 按照本原则xjjjj.
原则4 去除终止符前的X 如果J是跟在一个字符串之后的分界符,比如回车,那么删掉这个J之前的X,(在这种情况下,由于习惯的力量,分界符J已经成为此认知单元的一部分,因此不需要X). 不过如果这个回车不一定发生, 那么要保留这个x.需求描述
由于工作需要,经常需要在摄氏和华氏温度之间作转换,并把温度记录下来。需要您设计一个软件来完成转换工作。设计目标
假设: Tom和他的同事打字很好,不需错误检查和提示
设计内容: 包括界面设计, 标示出输入位置,方式等简单的信息即可,不需要美化功能: 摄氏转华氏, 华氏转摄氏
输入: 平均每次输入四个字符,包括小数点和其他符号。
输入设备: 键盘、鼠标
输出设备: 显示器。
单次转换的结束: 显示出正确结果
使用情景: 程序界面一直停在桌面上产出物:
低保真原型(界面示意图), 并写出操作流程.
计算单次转换需要的时间.
以下是一个示例

操作:
姿态分析
手移动到鼠标: s
指到radiobox: sz
点击radiobox: szj
合理的设计,至少有一半的可能性,你不用作前三步.
手回到键盘: szjs
输入四个字符: szjsjjjj
输入回车: szjsjjjjj
应用原则
- 原则0,sxzxjsxjxjxjxjxj
- 原则一,zxj转化为zj, sxzjsxjxjxjxj
- 原则二,sxzjsxjjjjxj
- 原则四保留最后的x. s+x+z+j+s+x+j+j+j+j+x+j
总计:
.4+1.35+1.1+.2+.4+1.35+4*.2+1.35+.2==7.15S
不作前三步的情况: xjjjjxj==3.7S
平均情况(3.7+7.15)/2==5.4S
以下是讨论的解法:
@良柄
操作流程:

1.光标默认聚焦到华氏输入框,直接输入数字,根据input的onchange属性进行转换,结果直接显示在摄氏输入框
2.tab切换到摄氏输入框,直接输入数字,结果直接显示在华氏输入框
华氏转换
操作:
姿态分析
输入四个字符: jjjj
应用原则:
原则0,xjxjxjxj
原则一,xjxjxjxj
原则二,jjjj
原则四. j+j+j+j
总计: .jjjj==0.8S
摄氏转换
操作:
姿态分析
输入tab:xj
输入四个字符: xjjjjj
应用原则
原则0,xjxjxjxjxj
原则一,xjxjxjxjxj
原则二,xjxjjjjxj
原则四,x+j+j+j+j+j
总计: .1.35+0.2*5=2.35S
平均情况(0.8+2.35)/2==1.57S
@Carrera的方案
之前想过良柄的双输入框方案,因为要在两个框之间使用 TAB 键或鼠标进行切换,这里不考虑鼠标,以全键盘操作为例的话,我感觉在使用 TAB 键的过程比较容易产生误操作,即华氏和摄氏是分属两个输入框,所以如果在切换时无意中多按了一次就很可能定位不到想进行输入的框中,所以我想是否可以只用一个输入框来解决问题。
最初想依靠华氏和摄氏在数值范围上的差异进行系统自动判断,但研究了半天华氏和摄氏的对照表后发现此路不通,因为两者的数值范围是存在交集的。
后来就想到了下面这个方案,即在输入4个字符的同时多加一个判断符,由系统根据这个判断符来获知用户当前输入的是华氏还是摄氏,从而进行相应的转换。
这个方案在用户体验上不能算最好,因为需要用户额外记忆两个判断符,这里还要借用原题中的一条假定条件,即“Tom和他的同事打字很好,不需错误检查和提示”。
方案如下:

条件:
已设定好判断符 F-华氏 C-摄氏
操作:
1、假定光标已聚焦在输入框,可直接进行输入,否则要进行一次鼠标定位操作。
2、输入”符号(如果需要的话)+需转换的数值+判断符(F或C)
3、回车或点击按钮(此按钮可去除,留着只是为多提供一种方式),根据判断符在进行相应转换,转换后的值出现在屏幕任意位置,这里不建议将转换后的值直接替换原有的输入值,只为留给用户可以有所对比。
姿态:
输入五个字符:jjjjj
另,或者还有类似的一种方法,同样采用一个输入框,只可输入必须的4个字符,但把 F 和 C 设置为快捷键替换回车键进行操作,同样付出的成本是用户需要记忆额外的操作。
@Raymond 的见解:
我当时看到这题的第一反应也是自动根据数据范围差异进行判断,也是因为有交叉放弃了。
注意看我邮件里的提示,”时间最短“,这里没有提到用户体验,事实上所谓的标准答案我并不是认同的,即:输入一个数字,同时给出两个换算结果:从华氏到摄氏,从摄氏到华氏
我是觉得完全基于时间因素考虑的设计没有什么实用价值。
标准答案的耗时虽然可以最短,但却存在两个问题:初始界面对用户的困扰(我该怎么操作?输入框是填华氏还是摄氏,结果在哪里呈现);同时呈现的两条结果总有一条是用户不需要的,使用次数越多,干扰越严重。
@Carrera
基本同意你的看法,从实用性来说只考虑速度这一个指标的确很反人类。
不过换个角度来看,如果不考虑大多数用户的感受,这个产品只是做个极少数人专用的话,标准答案其实还不错,即便用户为此需要付出一定的学习成本也还划算的。
我的看法:
其实我设想的方案和 @carrera 类似,就是只有一个框,根据输入的字符串给结果自动添上单位符号。
但初始界面比两个框需要更高的学习成本。
刚开始看,我认为应该加入更多的原则,起码从用户角度区分说,经常处于计算机环境的高级用户,不常接触计算机和网络的用户,他们起始的x值必定有差异。
既然前提条件说用户输入技能很高,其实已经排除这一条,就假设是用户具备一定的学习能力,能够推理界面的作用。
因此把评估标准放在时间上也是可以的。

当然这个解答也很烂就是了……
