近期也有跟一些大一的新成员一起探讨如何做好设计的问题,这个问题又太过于宽泛了,所以从他们最近开始试手的四六级攻略产品入手,做了些讨论。
刚开始做设计的时候,往往会更多的去注意上界面的形态,即UI的用色,布局,以及对应元素,会花很多心思去思考我的背景图片应该用哪张的那一部分加什么样的滤镜,我的字体字号间距要怎么做,居中对齐还是左对齐......
是的,这样用心的设计可能会让我第一眼看上去的时候舒服,觉得这个设计很不错。
之后,当我开始使用产品的时候呢?接下来的流程上的设计呢?当我开始点击输入框的时候呢?当我输入错误的时候呢?当我寻求帮助的时候呢?
这样的地方同样需要设计,而这一部分,被很多刚刚开始着手设计的人忽略掉了,想当然的认为就是那样这样,却无法给出开发人员具体的参考,让人感觉产品使用不顺畅,体验欠佳。
所以在设计中,除开产品设计上的形态,同样需要设计的,还有状态。
那么,我们以 Material Design 里输入框的状态来展开:
Material Design里面提供了,默认提示状态,hover状态,激活状态(空文本),激活状态(输入文本),输入完成状态,错误状态,不可用状态。
用户意识不到界面之下运行的代码,但是他也会想要知道自己目前所处的状态:
我选中了吗?
我开始输入了吗?
输入完成了吗?
我输入的正确了吗?
我们需要做的就是消除用户的疑虑,将这些信息有效地传递给产品的使用者,丰富的状态覆盖了足够多可能的场景,用户的每一步操作都能得到产品的反馈。这一点,满足了用户的心理预期,用户希望产品是可控的,安全的,及时的。
缺少了及时的反馈和状态的显现,你的产品会被认为高冷、爱搭不理、拒绝用户,或者是愚蠢的无法使用下去。这样的产品想必也很难走长远。
对状态的设计,我觉得游戏中对状态的设计就十分丰富出彩,刺激着玩家的感官,满足心理上的需求......对各种状态周密的思考,值得其他产品学习借鉴。
我们可以从流程的角度来进行设计分析。例如,开始的状态,进行中的状态,等待的状态,完成的状态。
从结果导向的角度来进行设计。例如:成功的状态,失败的状态。
从角色身份的角度进行设计。例如:访问用户的状态,已经注册用户的状态。
从时间长短的角度进行设计。例如:初次登录的状态,长期登录后的状态。
从自身属性的角度设计。例如:可用状态,不可用状态。
......这个状态是控件的状态(激活、默认、禁用)?还是当前操作的状态(加载、移除)?产品本身的状态(更新,无法连接)?
辨析:用户场景与状态,用户场景的不同,自然会带来状态的不同,各种状态的转换是对不同场景的应对策略,状态更像是向用户传达信息,用户场景的目标是对功能更加完善,对产品的功能斟酌一番,增强普适性,与特殊状况下的应对策略。
不同状态的存在,是为了让产品的模型更接近用户的心理模型,以用户能够理解接受的方式进行操作,不应该是晦涩难懂,违反常理的设计。
因为存在用户移动端登录的场景,而删除文本难度和成本比pc端高,所以会在输入框的右边提供一个清除的功能;而面对数字较多的文本内容,便于记忆和查找出错误,而主动将它们分组。