平台级组件设计指南
组件化平台化在提升设计和开发效能的同时保证产品生态的一致性,本文介绍了平台级组件设计思路和方法。
这两年组件化设计被广泛提及,通过对功能及视觉表达中元素的拆解、归纳、重组,并基于可被复用的目的,形成规范化的组件,通过多维度组合来构建产品系统,来提升设计效能。
组件化,平台化其实在大型B端产品中早已经广泛应用,便于产品迭代,提升设计和开发效能,同时保证产品生态的一致性。组件设计也成为了产品设计中关键的一环。
设计师在设计时往往考虑最理想的状态,在70%通用状态下的确可以达到易用性及界面的美观性,但30%的异常情况处理才是最体现用户体验价值的地方。尤其对于Saas、PaaS产品,业务的复杂性以及组件的多场景应用要求设计见微知著,百密而无一疏。
首先了解一下组件库整体的设计框架:

类目梳理:按使用场景分类,并明确优先级
可参考比较成熟的平台产品组件库,再结合自己的产品特性进行类目梳理。
Salesforce:https://www.lightningdesignsystem.com/guidelines/overview/
蚂蚁金服PC端规范:https://ant.design/components/button-cn/
SAP设计规范地址:https://experience.sap.com/fiori-design-web/
teambition设计规范:https://design.teambition.com/guidelines/principles-key
以我在做的产品为例,将组件分为基础元素、导航类、容器类、数据录入类、数据展示类、反馈类、工具类。导航类组件按照使用场景分为路牌型,导游型,相关型。录入类分为文本录入,选择录入,上传录入,智能录入,星号的优先级高。

需求点梳理:基础需求点+业务场景需求点
梳理完类目,我们对系统组件构成有了大致的了解,在具体的组件设计过程中,首先要保证设计完整性。做过B端产品的设计师都有体会,业务说需求就像挤牙膏,从来不会一次性说完的。资深设计师能凭借经验全面考虑所有情况,而经验不足的设计师常常在测试版发出后才会陆陆续续接到反馈,控件功能不全,异常情况易用性差,控件的改动成本大,只能反复在当前控件上调整,今天一块砖,明天一片瓦,就像在危楼上加盖。
我整理了“需求梳理思路版”,帮大家发现可能遗漏的特殊状态和信息,找出所有的可能性,处理所有的极端情况。所以带着设计思路版去引导业务挖掘被遗漏的需求,数据会不会很多?内容量会不会很大?有没有难点需要给用户帮助提示?企业级服务的核心就是数据的增删改查,以及级联操作。所以数据录入(增删改)是组件设计中最复杂的一类,我讲一下录入类需求梳理的方法。
需求梳理思路版——录入类
一、在不同数据量场景下进行操作获得反馈
我们常常考虑到了数据量,操作,反馈,但是没有将它们关联起来,就会遗漏很多情况。将数据量、操作、反馈下的元素分别做连线,思考解决方案打通每一条路径。

二、特殊场景
![]()
三、举例
以表格录入的为例,用思路版进行梳理可以找出很多隐藏的需求。例如数据多或者内容量大时如果使用滚动条,那么必录项就有可能被隐藏,系统不断提示用户必录项未填写,但用户在不拖动滚动条的情况下却找不到必录项。只要发现了问题所在,解决方案有很多。
【列表录入编辑态需求点】
未录入空状态
新增、删除、上移、下移功能
录入中状态
合计行
固定列
锁定列
必填列(必填列未填写提示)
附件上传列
表头tips
默认高度,极限高度
数据量大的情况(导入100条以上的数据)
可多选,聚焦/非聚焦 启用/禁用 选择/已选择
业务习惯只用键盘操作,需要将操作习惯考虑进来。
录入提示字段,(例如核定金额原币不超过100,如果每一行都显示很密集)
帮助信息
……
【查看态需求点】
无内容
操作列(评价、附件下载)
合计行
默认高度,极限高度
数据量大的情况,翻页控件?异步加载?
……
问题解析与方案设计
问题解析:刨根究底
方案设计:耐心细心,同时要考虑国际化、响应性。
通过刚刚讲的录思路版,我们已经找到了很多设计难点,现在就要逐个击破。问题解析不可少,这个环节是帮助大家理清思路,多问为什么。方案设计最重要的的事耐心细心,组件一上线就会被成百上千的企业客户使用,这使我必须一再的验证可用性,首先保证使用顺畅。如果产品有国际化版本的规划,在控件设计是也要考虑拓展性。

反馈与优化
产品上线后,我们会收到很多用户反馈,需要从中判断哪些是真正有价值的需求。接到反馈,不要急于改视觉样式,要深入业务场景分析用户根本的意图是什么。
举一个锁定项优化的例子,表格录入通常都有锁定列的需求,初版设计的时候我用了一个很常规的样式,列灰显。

很快供应链领域的客户给了反馈,出现了单元格锁定的场景,觉得样式丑要求我们改控件。

甲方爸爸的要求谁敢不重视,但控件的改造从来都是牵一发而都全身,迫使我开始从头思考。为什么锁定?跟业务再次沟通以后,我了解锁定有两种情况:1、由已录字段关联带出的信息且不能修改,2、唯一固定值。于是我在设计上区别这两种情况,去掉了列灰显样式,突出可录入的单元格,关联带出的字段可由业务增加提示信息。新方案也适用行锁定,悬停不出现输入框。

最后我又提到Paas平台。一个开发者PaaS, 要解决的是开发者工具支持的完整度,开发、调试、部署、安全、文档、数据隔离的问题。听起来比较复杂我们可以把它想象成乐高,有很多小元件,企业可以根据自己需求选择元件搭成房子,这肯定是未来B端产品的大趋势,对企业信息化而言至关重要,从根本上降低行业创新试错成本。所以好的Paas平台需要像乐高一样灵活可塑,随企业的发展而变化。如果说Saas是提供完整的需求,那Paas就要把需求拆解到最底层,而组件就是底层元件的在体验层面重要组成。
设计的难点在于寻找抽离共性和保证灵活性的之间的平衡点,灵活性越高的成本越高,不仅是平台的研发成本,还有二开成本。而对客户来说满意度到了一个峰值后可能会下降,因为灵活性越高可控性就越低。
设计如何更多的赋能商业呢?除了组件库,还可以有设计模式(每个元件的使用说明),设计思维(搭房子的流程步骤),这些都相当于乐高的攻略说明,来引导企业客户定制系统,从而加强品牌粘度,延伸商业链。
对于没有资源搭建平台的团队,设计师也应该有平台思维,最大化提高解决复杂问题的能力,集中问题,全面思考,而不是只考虑眼下的散点需求。搭建组件库,可以大大提升团队协同效率。


















































































