专栏名称: 交互设计学堂
系统学习交互知识,就找老D。干货分享、在线培训、行知书院三大版块帮你提升自己。 最新资讯-全是干货还有老D点评,每天推送; 交互培训-在线课程帮助小伙伴进入交互行业,只要3个月; 行知书院-老D帮小伙伴们解读经典设计书籍,都是“硬”知识。
目录
相关文章推荐
交互设计学堂  ·  3D设计工具基础功能触发设计探索 ·  2 天前  
ZaomeDesign  ·  新作 | Number 14 住宅楼 / ... ·  4 天前  
ZaomeDesign  ·  每日灵感丨十一月二十一日 ·  5 天前  
格斗迷  ·  拳王泰森最强KO合集! ·  5 天前  
格斗迷  ·  拳王泰森最强KO合集! ·  5 天前  
ZaomeDesign  ·  Aedas新作 | ... ·  6 天前  
51好读  ›  专栏  ›  交互设计学堂

订单流转界面:按钮切换与权限设计的讨论

交互设计学堂  · 公众号  · 设计  · 2024-11-22 21:30

正文

内容越专业,阅读量越低。


需求描述:


在一个订单流转的过程中,存在两个步骤,分别形成两个权限01和02,分别赋予两个角色。


权限01决定某个订单“确认签署”合同,然后权限02根据合同进行“确认付款”。



低保真原型,大致如下图:



相关疑问:两个按钮相互独立,但是假设某用户A同时拥有权限01和权限02,那么在A的眼里这两个按钮就是替代关系,如何解决?


Hozin的回答:不用解决,本来就是替代关系。


继续追问:公司的设计规范要求“禁用不具备权限的按钮”,那么假设用户B仅拥有权限01,那么B的眼里看到的订单,“确认付款”按钮应该是不可用。



隐约感觉,如果B没有权限02,就不应该看到“确认付款”按钮。


那么,到底“不可用”还是“不可见”?


Hozin的回答:如果没有权限02,为何要让用户感知到“确认付款”按钮的存在?为了保证基本的可用性,禁用某个按钮,必须要解释禁用原因,并且还要告诉用户如何解除禁用……然而,根本不存在解除禁用的方法!除非单独设计一个让用户获得临时授权的流程,否则没有必要禁用按钮。


继续追问:禁用“确认付款”按钮另有的理由~~虽然无法操作,但总要让用户知道“付款”这件事吧?


Hozin的回答:如果想让用户感知“付款”事件,单独设计订单进度条,而不是给用户一个无法点击的按钮。



回头再看需求,如果“订单流转”是一个作用域,那么某个用户在这个作用域应该拥有唯一的角色。权限01和02分别赋予两个角色,杜绝角色之间的权限交叉,但又允许多个角色在作用域内叠加,这恐怕将是另外的隐患。


读者疑惑:“用户组”和“角色”的概念还是有点模糊,假如系统中有两个用户组甲和乙,如果有一个概念把[甲组]和[乙组]封装起来,那这个概念就可以称之为“角色”了?


Hozin的回答:


《ToB 产品经理的常见误解:把 [ 角色 ] 当成 [ 用户组 ]》已经解释过二者区别,继续补充一些观点。


“用户组”和“角色”的存在意义,天壤之别。


用户组是为了区分特征,角色是为了继承特征。


比如下图,有两种动物:鳄鱼和牙签鸟。




我们把它们分为“G爬行动物”和“G鸟类”两个分组(G为Group的缩写),主要是为了区分它们,因为它们在外观形态、内部构造、进化程度各个方面都有很大区别。 


换个角度,也可以把它们分为“R爬行动物”和“R鸟类”两个角色(R为Role的缩写),听起来和上面差不多啊,也是区分了动物嘛……但是本质有很大不同,当第三种动物出现,比如鸬鹚,那么……



“R鸬鹚”作为一个新角色,可以从“R鸟类”派生出来,自动拥有鸟类的全部基本特征。


也就是说:如果“R鸟类”增加“卵生”的属性,那么“R鸬鹚”将自动继承。 


换个思路,如果第三方动物出现,“G鸬鹚”仅仅是一个新的用户组,相当于和 “G爬行动物” 和 “G鸟类” 是并列关系。


如果“G鸟类”增加“卵生”的属性,并不会影响“G鸬鹚”的属性。


听起来无伤大雅,用起来完全不同。


现实情况往往是:把“用户组”当作“角色”来设计。这样的危害是~~~~既然“G鸬鹚”和“G鸟类”是两个没关系的分组,那么当初为什么要有“G鸟类”呢?直接叫“G牙签鸟”多好啊~~~然后搞出一大堆不同的分组描绘复杂的需求……


如果系统中没有“鸟类”的准确定义~~岂不是回到了史前时代?


封装是为了更好继承,如果无法继承,谈不上封装。


(正文完)


- END -


注:交互设计学堂公众号接受投稿啦,如果你有好的原创设计类文章,可联系客服。别让灵感溜走,快来投稿吧~~