前言
全部课程
某市炼钢厂,有一个控制总闸,紧急情况下可以一键制动,关停高炉。但执行关停操作后,流水线上全部的半成品钢材将变成废料,而再次启动高炉,也需要燃烧大量的燃料来预热设备。所以,非特殊情形,这个总闸不可以被轻易关掉。
钢厂的安全部门,为了防止总闸被不当关停。在总闸上配了3把控制锁,并把开锁的钥匙,分配给当班的三个管理者。当钢厂突发事故,需要拉下总闸时,需要三个管理者意见一致,然后开锁、关闸。
关闭总闸这种规则设定,主要是为了预防,个别操作人员因错误判断,而执行拉闸操作。在我们进行软件产品设计时,有时候为了预防用户犯错,我们也会在用户执行某些操作时,为他们设置一定的操作门槛。
Keep
说到keep这款软件,相信很多人并不陌生。很多跑步爱好者,会通过keep来记录运动数据。keep有一个核心功能,是可以将收集到的数据可视化,并生成一张漂亮的运动图表。在这张数据图表中,你可以看到多种数据类型,比如运动的时长、公里数、配速以及消耗的热量等。
当我们启动keep,进入到户外跑界面时,你会发现,户外跑的启动按钮,被设计的非常醒目,不仅使用了鲜艳的色彩,其视觉面积也比一般的按钮大很多。

这个操控按钮是一个复合按钮,当运用开始后,这个按钮的命令属性会发生变化,他可以被用来执行暂停操作。如果我们有间歇性跑步锻炼的需求,可以通过这个暂停按钮,分阶段记录运动数据。

当我们运动完成,想要终止数据记录时。需要先执行暂停,然后长按结束键,这时,围绕着结束按钮,会出现一个环形的加载线,当环形线围绕圆心,旋转一圈,实现闭合后,会触发一个问询对话框,和我们进一步确认,是否结束本次运动。点击确认后,本次运动记录完结。

说到这,可能有些读者就比较好奇了,既然是结束记录,那就让用户执行的容易些呗,为什么设定这么高的执行门槛呢?其实这个问题很好回答,keep之所以做出这样的设计方案,主要是考虑到运动者,特殊的设备使用环境。
在户外跑步阶段,运动者往往不能灵活的使用手机,有时可能还会忘记锁屏。当穿着单薄,手机贴身放置时,皮肤很容易触碰到屏幕。如果终止记录操作很容易做到,那么用户的运动数据,很可能会在他们运动途中,因误触被终止掉了。这对于有记录运动数据习惯的运动者而言,是一件充满挫败感的事情。
注销微信
微信有一个注销账号的功能,可能很多人都不知道。对于大多数用户而言,注销账号是一个危险的操作,这个操作一旦被执行,就意味着会失去微信联系人信息,并且账号内的用户数据也会被一同清空。
为了避免用户误操作,或是不当销号。微信做了两种设计安排,首先是模糊了用户执行路径。打开微信的设置,你会发现,想要触达注销账号界面,是一件比较困难的事情,首先注销账号选项,并没有被分配在通用设置项中,而是被归类到微信安全中心下,要知道,一般用户的设置行为,很少会触达安全中心。

其次,是为用户设置了很高的执行门槛。申请注销账号需要多重验证,其中包含手机验证,和其他的一些辅助验证操作。如果完成上述操作,你还需要保证你的财产结清、一些授权登录的第三方应用,已经彻底实现解绑。到这步,你才可以提交注销申请了。
不过,即便是我们激进的执行了上述全部操作,最终完成了注销账号。微信还会给我们设定一个15天的反悔期。在这15天内,微信会保留你的账号数据,你可以在15天内的任何时间点,向微信提出账号恢复申请。
保存
当我们使用word创建文档时,如果没有执行文档保存操作,而是直接关闭了窗口。这时,会收到一个弹窗提示,问询我们是否保存当前文档。这个提示能有效避免我们因不当操作,而造成数据损失。如果当前文档确实有保存的必要,那么我们可以选择保存。如无必要,则可以选择不保存
在Mac系统中,我们一般会使用pages进行文档创建,使用pages后,你就会发现,pages的设计要比word设计友好的多。
首先,pages可以自动保存用户创建的数据,无需手动保存。其次,当用户关闭page窗口时,如果当前文档被事先命名过,那么pages不会给用户任何提示,而是将用户最后修改的数据,自动更新到文档中去。用户不会因为这种关闭操作,而丢失任何数据。
如果文档事先没有被重命名过,这时会触发一个问询弹窗。pages会和创建者问询,是否将当前文档,以未命名方式进行保存。在这个弹窗中,pages会为用户提供一个删除按钮,如果用户不想保存这个文档,可以直接执行删除操作

同样是这个窗口,如果你仔细观察,就会发现pages总共为用户提供了5种操作选项。用户可以通过这一个窗口,实现删除文件,返回文件,重命名文件,选择保存路径,以及执行最终确定等诸多操作。
通过对words和pages的保存方案比较,你就会发现,同样是防止用户犯错,pages比word考虑的更周全,不只是问询用户是否保存该文档的必要,还为用户重命名和选择保存位置,提供了便利。
相反的案例
上面提到的案例,都是设计者,站在用户一方,通过方案设计,预防用户犯错。但还有一类软件产品,完全是站在自己一方,面对用户的正当行为“撒泼打滚”。比如,某0软件,在用户执行卸载过程中,大打感情牌,按钮上使用“残忍卸载”的文案,试图博得用户的同情。我们不知道这种操作,能否换回用户的原谅。但是很多软件即便是在用户卸载后,仍然要在用户的电脑中,留下“革命的火种”继续“发挥余热”,这种行为确实让人不齿。
最后
炼钢厂为了防止总闸被错误拉下,造成损失,于是给到三个当班管理者,每人一把钥匙。但是,在真正执行阶段,可能会走样。比如说,管理者A可能临时有事,将钥匙托付给C,这样控制总闸的人数,就变成了2人,如果此时B也恰好有事呢?这样决定总闸拉下的人,就变成了1人,这个预防犯错的设计机制,在这种情境下,就会面临失效。
在软件产品设计中同样如此,尽管我们设定很多方案,来预防用户犯错。但是,在实际的执行中,仍需要参与者积极配合。比如在用户密码设定阶段,为了防止密码被盗,我们会引导用户,设置强密码(包含特殊字符,字母、大写字母,数字等,最好长度也够)。但是在实际执行阶段,如果不是强制要求,很少有用户,真正这样去做,他们往往出于更容易记,或是更快的通过注册的目的,将密码设置为一组阿拉伯数字,这样,密码的安全就很难得到保障了。