惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

人人都是产品经理
人人都是产品经理
Blog — PlanetScale
Blog — PlanetScale
MyScale Blog
MyScale Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
WordPress大学
WordPress大学
Vercel News
Vercel News
D
Docker
博客园 - 聂微东
T
Tailwind CSS Blog
aimingoo的专栏
aimingoo的专栏
云风的 BLOG
云风的 BLOG
D
DataBreaches.Net
B
Blog RSS Feed
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - Franky
Microsoft Security Blog
Microsoft Security Blog
美团技术团队
F
Fortinet All Blogs
MongoDB | Blog
MongoDB | Blog
T
The Blog of Author Tim Ferriss
GbyAI
GbyAI
N
Netflix TechBlog - Medium
G
Google Developers Blog
腾讯CDC

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理,
设计系统面临的问题与未来的发展
用户体验大学堂 · 2023-05-31 · via 人人都是产品经理

设计系统是为了实现产品的目的而组织起来的一套相互关联的模式和共享实践。设计系统需要承认价值观和公司文化的冲突,拥有共享词汇表和设计系统的管理与协作方法等。不过目前存在设计与开发协作的断层,设计工具无法很好地向工程师传达设计逻辑,设计师和工程师的工作环境也存在脱节现象。这些问题,让我们看看作者是怎么看待及解决的吧~

一、什么是设计系统

设计系统(也有人称之为设计体系)是为了实现产品的目的而组织起来的一套相互关联的模式和共享实践。用于解决团队协作、业务拓展、设计与开发规模化交付等问题。

按照目前主流的认知,设计系统主要包含以下部分:

  1. 样式指南;
  2. 组件库;
  3. 设计原则与协作流程。

1. 样式指南

通常包含颜色、排版、商标、字体等,重点放在品牌层面。

在 web社区,可能还会包含交互、动画、语气和文案等,这在《Design Systems》(Alla Kholmatova著)中被统称为感知性模式。

早期的样式指南规范可以追溯到 NASA 图形标准手册,其中已经提供了非常现代化的视觉示例、颜色配对指南等。

2. 组件库

包含预置的、可复用的 UI 元素,包含组件名称、描述、属性、状态等,工程化的组件还需要代码片段,用于更直观地表达交互和响应式。某些设计系统甚至会提供沙盒环境来尝试不同的组件定制方案。

与组件库类似的,还有模式库(pattern library)这一概念。

设计模式最早在建筑领域被提出,指代反复出现的特定问题及其解决方案。

在后面出现的数字产品领域,也有过不少经典的书籍,如《Designing Interfaces》中总结了大量的设计模式,作为一本入门读物非常合适。

3. 设计原则和协作流程

主流认知中的设计系统通常还会包含设计原则(design principles)。比如尼尔森可用性原则、格式塔、锚定效应等,这在设计界已经被熟知。在构建界面、设计走查时通常也将这些原则作为参考。

但正是因为这些原则过于“通用且正确”,即使被纳入设计系统,它们也难以提供有效的设计决策。而设计价值观(Design Philosophy)则可以更好地在设计系统中找到自己的定位。

在设计系统中需要承认价值观的冲突:

  • 更多使用严肃的说明文字还是有趣的插图?
  • 从一开始就防止用户犯错,还是当用户犯错后进行纠正?
  • 系统复杂度守恒又必须增加功能时,将复杂度转移至其他功能、用户或是开发?

设计价值观作为设计系统的核心,可以很好地为设计提供指导,形成可复用的设计决策,为后续的设计评审提供统一的判断标准。

还有一些内容可能在各系统中散落在不同章节,但又确实是设计系统不可分割的一部分,以下列举部分:

  1. 共享词汇表帮助团队内部建立统一的设计语言,毕竟谁也不想同时听到“蒙层、蒙板、浮层、遮罩层”这些五花八门的称呼;
  2. 建立设计系统的管理与协作方法,安排专人负责设计系统的维护?还是所有设计师都有编辑权限?若是后者,还需要建立相应的评审机制,否则设计系统将会变得越来越臃肿且难以维护和使用;
  3. 设计资产如何维护,产生的更新如何通知到工作流的上下游,版本的管理如何进行…

二、设计与开发协作的断层

当团队建立一套设计系统后,大部分设计交付都可以用设计系统中的样式、组件、模板进行拼接。

例如色板中的基础色号、全局的登录组件、列表页的筛选器等,这也是设计系统最直接的价值所在。

然而当进行设计交付时,设计师与前端工程师的协作方式对设计系统的支持并不够友好。

首当其冲,设计工具无法很好地向工程师传达设计逻辑。

Sketch、Figma这样的图形化工具都支持样式和组件的绑定与调用,这是复用思想的体现。甚至有插件或第三方标注工具帮助展示元素代码,这样看起来工程师似乎只需要复制粘贴代码即可。

然而实际情况却是,设计稿无法体现出这种设计逻辑,比如页面元素的响应方案、多设备切换、视图滚动和元素间的依赖关系等。

另一方面,设计师与工程师的工作环境完全脱节。

设计师在画板中对元素进行拖拉拽,而不是真正对组件进行设计。这导致设计师需要花费很大的努力才能遍历组件的所有状态。

即使所有的状态都被考虑到,也不得不为此展示大量相似的页面或冗长的设计说明,这对前端工程师的工作体验非常不友好。

工程化的设计系统由设计师和工程师共同构建,而到了设计执行阶段,现有的工作流程又将设计和开发拆开,这看来是非常荒诞的。

综合前面提到的两个问题,设想一个这样的资源仓库,组件接口暴露给开发,由开发负责功能逻辑的实现,搭建组件的骨架,设计师只需要考虑组件的样式和设计逻辑。

在这样的平台中,由设计师赋予设计变量,比如圆角、尺寸与间距、颜色、定位等(实际上设计师已经在Figma中做了这些努力,但是无法很高效地传达给开发)。将这些变量提交后,所有使用了这一变量的套件都将被同步更新。

一些低代码平台已经在进行这方面的尝试,这似乎可以填平设计和开发之间的鸿沟,成为一种新的协作模式。

三、设计模式的建立与维护

大部分设计系统的组件库只会覆盖到原子层级,各个设计系统对于这些基础组件的定义大同小异,而只有设计模式(或者说业务组件)才蕴含了团队对业务的思考。

以“地图模式”为例——打车软件和导航软件都会使用到“地图”这一模式,其中包含了“地图、起点终点录入、重新定位按钮”等组件。但由于业务重点不同,打车软件会直接显示“起始地与目的地”等为打车流程服务的元素,而导航软件则在首页仅展示“目的地录入”。

当地图业务发生变化,理想情况下不再需要设计与开发资源的介入,只需要负责设计模式的设计师(或业务)进行修改。

举个例子,当业务侧需要对“首页是否展示目的地录入”进行调整,如果在后台有这样的接口暴露,便可以非常敏捷地进行测试。

然而,这种抽象在前期是非常困难且无法预期(甚至无法枚举)的,需要综合考量其兼容性、拓展性与成本,以及以何种颗粒度进行封装。当这种困难可以被设计系统优雅解决时,设计系统的落地想必更具实际意义。

四、设计系统在细分领域的定制化

设计系统因为要兼容尽可能多的业务领域,这决定了它们的组件、模式必须要有足够强的适应性,但也导致了它们的平庸。

在特定领域,可能需要对组件和模式进行定制才能满足需求,比如找房类产品的筛选器中可能会包含“公司辐射范围内几公里”这样的接口,对比一下 Fusion的“业务组件、区块”和 NutUI的“特色组件”章节就可以很直观地看到这种区别。

再进一步地,当智慧大屏、车机、虚拟现实这样的场景需要设计系统的指导时,可能需要连带着设计价值观一起全部推翻重建,在各自的细分领域产出适应各自需求的设计系统。

当设计系统足够健壮时,新的业务需求可以直接从模式库中找到解决方案,进而将设计师从“接需求-画稿子-接需求”的困境中解脱出来,转而真正地去思考业务。

作者:金伟峰,伊飒尔公司资深视觉设计师。

来源公众号:用户体验大学堂,专注用户研究和用户体验设计。

本文由人人都是产品经理合作媒体 @用户体验大学堂 授权发布,未经许可,禁止转载。

题图来自 Unsplash,基于 CC0 协议。

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。