交互设计实用指南系列(12)—避免出错(2)
作者:千城 来源:taobao.com UED Team 发布时间:2010-04-12 13:02:00
3、问题三、该如何做:
关于容错设计的三个境界:
1、保证不是我们自己的错:屏蔽会引起歧义的设计、本身不合理的设计,不让用户因为系统的设计缺陷而导致犯错。
2、把简单留给用户,把复杂留给自己:通过系统的优良设计约束和指引用户的操作,把出现错误的可能降到最低。
3、减小错误的代价,帮助用户做对:当用户还是犯了错误,通过设计引导用户走向正确的方向。
对交互设计师而言,第一条是本应遵守的设计底线,二三两条是设计时可供遵循的设计指南。其中的第三条,关于出现错误后如何帮助和引导用户做对,尚轩同学接下来会专门撰文探讨这个问题,此处暂不赘述,下面主要就第二条谈一些看法:
二、如何做到避免用户出错:
1、给予用户适当的行为约束——为用户封闭掉不正确的道路
这是Gmail的邮件处理区。
上图表示当没有选择任何一封邮件的时候,操作项被置灰,不可点选。这样在有效避免了误操作的同时,也展示和预告了当符合操作要求时,“更多操作”内提供的全部功能的内容。
下图则是已有选择邮件的时候,操作项全部激活为可用状态时的情况。对比上一张图未激活的状态,可以注意到除了激活与否的状态差别,还有其中的 “加注星标”功能在初始激活状态下是只有加注而隐藏了删除功能的、充分考虑了加注和删除功能的互斥性而予以隐藏。
通过用户的使用状态,通过有选择性的设置功能项激活、待激活的状态,以及功能项展示、隐藏的状态,是有效避免用户误操作的常用手段。这个考虑细心周到的设计在很大程度上预防了用户可能发生的操作失误。
2、给予用户必要的预判性错误提示——告诉用户,这样走可能会错
这是Msn的登录界面。
当光标定位于密码输入区时,如果此时键盘的大写锁被不小心打开了,界面会提示用户此时处于Caps Lock处于启用的状态,很可能会出现密码输入的错误。
这样处理比用户输入完成点击提交之后再提示用户出了什么问题要来的友好和有效很多;比只是一味的批评用户 “你错了”从头至尾完全不告诉用户出了什么状况的界面要友好太多。
当用户的一个行为很可能会引发预见性的错误,越早提示用户,并给出可行性的建议,错误越容易被接受和改正,用户的损失也就越小。
3、告诉用户操作所处的状态和正确的操作方式——告诉用户,怎么走才对
Flickr的媒体上传页面。
对于用户在这个页面需要做什么、可以做什么有清晰的划分,对现在需要进行的、当前所处的操作阶段予以高亮显示,吸引人进行操作;对于还未进行到的操作阶段也预先做了一个介绍,很清晰的介绍了完整的任务流程。
让用户知道在一个流程之中,自己已经完成了什么,将要做什么,还有什么没有做和应该怎样做,才能使任务成功,是避免用户出错的很积极的一个应对方式。
让我们摒弃作为设计师的中高级用户视角,深入挖掘用户行为习惯和心智模型,真正从用户的角度去分析使用上可能会出现问题,通过系统的设计去尽量避免错误的发生——“把简单留给用户、把复杂留给自己”。About face3.0 第25章“错误、警告和确认”中讲到一条重要的设计原则:让错误成为不可能。很美好。以此与各位设计同仁共勉之。


猜你喜欢
- 前言本节我们讲讲一些简单查询语句示例以及需要注意的地方,简短的内容,深入的理解。EOMONTH在SQL Server 2012的教程示例中,
- 我用的数据库是Access2000的,系统为Win2000 Advance Server.今天在程序调试中遇到了以下几个怪现象:1.如果Ac
- 有时候我们可能需要import另一个路径下的python文件,例如下面这个目录结构,我们想要在_train.py里import在networ
- 官方说明链接:https://intellij-support.jetbrains.com/hc/en-us/community/posts
- 网络下载的python代码,版本参差,从python2.x迁移python3.x的过程中,存在print语法问题,即python2.x中pr
- 发现上一篇文章解决了mysql服务无法启动问题后,竟然用root用户无密码不能登录,5.7版本不能在初始化时用root无密码登录,找了很多帖
- 1.前言版本:Python3.6.1 + PyQt5 + SQL Server 2012以前一直觉得,机器学习、手写体识别这种程序都是很高大
- JavaScript简介一、定义:JavaScript是脚本语言,需要宿主文件,它的宿主文件是html文件。JavaScript 是一种轻量
- 一、函数解释setdiff1d(ar1, ar2, assume_unique=False)1.功能:找到2个数组中集合元素的差异。2.返回
- Flask 是一个 Python 实现的 Web 开发微框架。这篇文章是一个讲述如何用它实现传送视频数据流的详细教程。我敢肯定,现在你已经知
- 一、介绍Python:python代码解释器,用于编译.py代码,python可以单独安装,本次环境配置目的用于解决计算机视觉处理,因此选用
- 导语"? 花草树木 皆有呈名热爱自然,从认识自然开始 "现在的植物爱好者,遇到不认得的植物。怎么办呢?前几天去逛商场,一
- 导航设计是结构层面设计中的主要工作之一,在软件中,导航设计的好坏,直接关系到用户使用是否能够流畅。面对较复杂的导航,我们第一反应是将其简化。
- Softmax回归函数是用于将分类结果归一化。但它不同于一般的按照比例归一化的方法,它通过对数变换来进行归一化,这样实现了较大的值在归一化过
- 1. 概述每个 Vue 实例在被创建之前都要经过一系列的初始化过程。例如需要设置数据监听、编译模板、挂载实例到 DOM、在数据变化时更新 D
- 实现用户登录并且输入错误三次后锁定该用户我的测试环境,win7,python3.5.1提示输入用户名,和密码判断是否被锁定判断用户名和密码是
- FTP服务的主动模式和被动模式在开始之前,先聊一下FTP的主动模式和被动模式,两者的区别 , 用两张图来表示可能会更加清晰一些:主动模式:主
- 1. 引言在使用Python的时候,通常会出现如下场景:array = [1, 2, 3, 3, 2, 1, 0, 2]获取array中元素
- 1.查询高于平均价格的商品名称: SELECT item_name FROM ebsp.product_market_price WHERE
- 本文实例为大家分享了python实现简单计算器的具体代码,供大家参考,具体内容如下今天学习到python中界面设计部分,常用的几种图形化界面