1. 前言

很多著名的软件企业都有GUI设计规范,如 AppleGoogle,得益于这些设计规范(或者叫指南),设计者才可以开发出符合平台视觉及交互要求的UI。其实除了这些大公司,软件公司都最好有自己的GUI设计规范,即使这个规范简略一些,也可以帮助团队改善工作、提高工作效率及传递品牌价值。

2. 什么是GUI设计规范

各个公司的GUI设计规范各不相同,有的十分详尽,有的比较简略;有的只有设计口号,有的严格到每个元素的像素都有规定;有的注重设计,有的提供了完整的代码示例;有的提供了一整个网站,有的只是几页PDF。

总的来说,GUI设计规范是指导设计人员完成GUI设计的规则和范例。

3. 为什么要做

  • 共享智慧,使好的设计可以复用;
  • 无标准则无改善,设计规范可使同样场景的设计不管谁来设计都能达到标准,并以此为基础不断地完善;
  • 统一的成果,避免混乱,无论哪个产品哪个页面都能有一致的体验;
  • 提升能力,团队不必思考重复性的设计,有更多时间进行更深层次的设计,上司也可以直接使用设计规范对部下进行更有效的教育;

4. 为谁做

设计规范应该是为公司全体做的。

公司用设计规范体现公司的设计品味和企业价值;设计人员和开发人员通过设计规范协助自己的工作,测试人员以设计规范作为UI验收的标准;对营销部门设计规范也是重要的参考资料。

5. 由谁做

设计规范应该由使用到这些设计的人制作。

  • 设计人员主导设计规范的制作;
  • 开发人员告诉设计人员有哪些功能可以实现,哪些不可以,以及最新的技术潮流;
  • 营销人员的意见至关紧要,因为只有他们直接面对用户,而且他们清楚各种奇怪的行业规则;

6. 包含什么内容

虽然设计规范各种各样,有的很简单,有的简直可以作为前端教学,不过大部分都包含以下各部分:

6.1 设计理念/设计语言

各个设计规范都有不同的设计理念(或不同的设计语言),这是最能体验公司品味的地方。这方面通常通过颜色、字体、布局、公司Logo的使用等展示。

6.2 原则

设计原则有很多种,如格式塔原则、亲密性原则等,设计规范应该将这些不同的原则提炼、整合成适合自己团队的设计指导原则。

6.3 模式

模式是指从经验中提炼出来的解决某一类问题的方法论。如业务中多次遇到数据展示的场合,设计人员会从过去的经验总结出最适合数据展示的一种或多种做法,并成为数据展示模式。

对营销/产品/需求人员来说模式也是它们最好的武器。假如客户要求UI进行某些改进以符合他的要求,比起这些:

“我不清楚怎么做,我回去问问研发团队能怎么做吧。”
“我不清楚能不能做到,这还需要研发团队配合。”

客户更满意下面这种回复:

“关于这个需求,我们有这几种解决方案,它们各有…的优点,您可以参考一下。”

6.4 组件

组件是平台提供的,或公司购买/研发的控件、字体、图标、主题等资源库。很多设计规范还提供了组件的使用代码示例。

统一的控件可以使各个软件有统一的体验,也减少开发人员选择和学习控件使用方式的时间。

6.5 其它

很多设计规范还把动效和交互单独说明,可能由于这是比较深入的内容或者难于在PDF上展示,所以也有不少设计规范没有这些内容。设计自己团队的设计规范时可以把这些内容留到最后。

7. 什么时候做

设计规范的工作应该随时都在进行。
设计其实是有生命的“生物”,它每天都在变化,不断发展。尤其在软件行业,需求、技术、设计潮流、竞争对手不断频繁变化,甚至休假回来连自己公司的母公司都变了。另外,由于设计规范中每一条内容都是经过精心制作的,很容易产生“不想破坏以前的心血”这样的思想,导致过时的规范迟迟不能更新。

设计规范一旦落伍就容易不被认同,渐渐地就没人看,没人执行,最后设计规范将变得毫无意义。所以设计规范应该持续改进,以使得基于设计规范的工作不断得到改善。

8. 怎么才能做好

8.1 简单明确

不要太信任设计人员和开发人员的阅读能力,何况夹杂着各种术语或英文单词,大段大段的说明很可能变成天书。要做到简单明确,可以这样做:

  • 精简语言,使用明确的语句,删除艰涩的术语和长语句;
  • 使用列表代替大段的文字;
  • 使用图片或视频;

8.2 范例

既然是规范,范例是必须的。

8.3 统一

统一并不是指某个控件只能有一种样式,某个功能只能有一种模式。而是指相同或相似的场景下,使用的样式或模式应该统一。

坏的设计规范有可能参考控件库的指南把控件的所有样式都展示出来而没有说明应该在什么情况下使用,而好的设计规范会给出元素需要统一的部分,如间距、边框、字体、颜色,然后给出各种情况下的做法:

如果设计规范自己都不统一,不能自圆其说,使用者将无所适从。

8.4 代码示例

有些设计贵伐会将代码也展示出来,以方便开发人员。

8.5 案例

设计规范最好有已成功的案例,这才是对设计规范最好的展示。

9. 设计规范网站分享

以Button为例,比较一下各大公司的GUI设计规范

Apple

Google

Microsoft

Ant Design

SAP

salesforce

yelp

Atlassian

Buzzfeed

10. 结语

希望这篇文章可以帮组读者建立自己团队的GUI设计规范。尤其是对桌面开发的团队,由于缺乏GUI设计规范导致很多桌面软件的设计都马马虎虎,真的希望将来这点可以得到改善。

最后再推荐一些设计规范聚合网站:
styleguides.io
findguidelin.es
Brand Style Guide Examples

[设计]GUI设计规范的规范的更多相关文章

  1. APP UI设计及切图规范

    APP UI设计及切图规范 1.概述 1.1 编写目的 该文档主要针对移动端开发的视觉设计和开发过程中的工作环节做统一的规划规范,是系统进入UI设计的前置文档.部分内容来自网络收集修编,转载请注明由 ...

  2. Atitit 发帖机实现(4 )- usbQBM1601 gui操作标准化规范与解决方案attilax总结

    Atitit 发帖机实现(4 )- usbQBM1601 gui操作标准化规范与解决方案attilax总结 1.1. 根据gui的类型使用不同的gui调用api1 1.2. Script化1 1.3. ...

  3. 移动端H5页面的设计稿尺寸大小规范-转载自http://www.chinaz.com/design/2015/1103/465670.shtml

    机屏幕尺寸,设计稿应该按照哪一个尺寸作为标准尺寸.现在已经有2K分辨率的手机屏幕了,设计稿是不是也要把宽高跟着最大分辨率来设计.显然不是. 请注意:(以下所有讨论内容和规范均将viewport设定为c ...

  4. 使用 PySide2 开发 Maya 插件系列一:QT Designer 设计GUI, pyside-uic 把 .ui 文件转为 .py 文件

    使用 PySide2 开发 Maya 插件系列一:QT Designer 设计GUI, pyside-uic 把 .ui 文件转为 .py 文件 前期准备: 安装 python:https://www ...

  5. 基于rem的移动端响应式适配方案(详解) 移动端H5页面的设计稿尺寸大小规范

    基于rem的移动端响应式适配方案(详解) : https://www.jb51.net/article/118067.htm 移动端H5页面的设计稿尺寸大小规范 http://www.tuyiyi.c ...

  6. .NET设计规范————命名规范

    NET设计规范:约定.惯用法与模式———命名规范 前言:          最近在看<.NET设计规范:约定.惯用法与模式>一书,主要还是讲.NET的设计规范,以前对这一块也不是特别在意, ...

  7. Material Design(原质化设计)视觉设计语言规范 踏得网镜像

    Android 5.0 Lollipop(棒棒糖,也就是之前的代称Android L)全面实践了谷歌最新研发的 Material Design 设计语言规范,只是该设计规范并不是仅针对移动平台. 我们 ...

  8. mysql设计与优化以及数据库表设计与表开发规范

    一.设计问题? 1.主键是用自增还是UUID ? Innodb 中的主键是聚簇索引. 如果主键是自增的,那么每次插入新的记录,记录就会顺序添加到当前索引节点的后续位置,当一页写满,就会自动开辟一个新的 ...

  9. MMORPG大型游戏设计与开发(规范)

    一件事如果没有规范.章法,那么做这件事起来往往会遇到许多难题,特别是在多人协作的时候,没有到规范通常让每个人多多少少都面临着头疼的困难.举个例子,多个人要做一桌美味的饺子,有买材料.做面皮.弄肉(菜) ...

随机推荐

  1. 洛谷P1879 [USACO06NOV]玉米田Corn Fields【状压DP】题解+AC代码

    题目描述 Farmer John has purchased a lush new rectangular pasture composed of M by N (1 ≤ M ≤ 12; 1 ≤ N ...

  2. IDA学习笔记 函数调用约定

    stdcall和cdecl: stdcall和cdecl 压栈方向都是从右到左 区别在于c约定是调用方在函数返回后add esp,n指令清除堆栈中的参数,而stdcall在被调函数内使用ret n来清 ...

  3. 从flexible.js引入高德地图谈起的移动端适配

    曾几何时,前端还仅仅是PC端的.随着移动时代的兴起,h5及css3的推陈出新.前端的领域慢慢的由传统的pc端转入了移动端,这也导致了前端这一职业在风口的一段时间出尽了风头. 从开始的惶恐和无从下手,慢 ...

  4. 基于Jquery+Ajax+Json+存储过程 高效分页

    在做后台开发中,都会有大量的列表展示,下面给大家给大家分享一套基于Jquery+Ajax+Json+存储过程高效分页列表,只需要传递几个参数即可.当然代码也有改进的地方,如果大家有更好的方法,愿留下宝 ...

  5. 彻底解决Yii2中网页刷新时验证码不刷新的问题

    修改vendor/yiisoft/yii2/captcha/CaptchaValidator.php这个文件就可以了,修改的地方见下图: 总结 归根到底,是因为yii2在渲染网页的时候,会先输出js验 ...

  6. Nginx和php是怎么通信的?

    先来看一下搭建好PHP运行环境的Nginx配置文件. 非常重要的就是 fastcgi_pass 指令了,这个指令用于指定 fpm 进程监听的地址,Nginx 会把所有的 php 请求翻译成 fastc ...

  7. 2道acm简单题(2010):1.猜数字游戏;2.字符串提取数字并求和;

    //第一题是猜数字的游戏.//题目:随即产生一个3位的正整数,让你进行猜数字,//如果猜小了,输出:"猜小了,请继续".//如果猜大了,输出:"猜大了,请继续" ...

  8. String、StringBuffer、与StringBuilder的区别

    转载自博客园,原文链接:String.StringBuffer.与StringBuilder的区别 相信大家都知道StringBuffer.StringBuilder,但是这两个的用法都差不多,到底有 ...

  9. hdu4825 01字典树+贪心

    从高位向低位构造字典树,因为高位得到的数更大. AC代码: #include<cstdio> using namespace std; typedef long long LL; cons ...

  10. 用线性单元(LinearUnit)实现工资预测的Python3代码

    功能:通过样本进行训练,让线性单元自己找到(这就是所谓机器学习)工资计算的规律,然后用两组数据进行测试机器是否真的get到了其中的规律. 原文链接在文尾,文章中的代码为了演示起见,仅根据工作年限来预测 ...