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. VSCode插件MSSQL教程(昨天提了一下)

    推荐一个跨平台SQL IDE:https://docs.microsoft.com/zh-cn/sql/sql-operations-studio/download 什么数据库都木有(系统自带的不算) ...

  2. Apache和Tomcat的区别与联系

    作者:郭无心链接:https://www.zhihu.com/question/37155807/answer/72706896来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...

  3. centos/linux下的安装Tomcat

    1.启动tomcat时候需要JDK依赖 如果没有安装的请移步到该链接Centos/linux下的JDK安装 2.从官网上下载tomcat压缩包 wget -c http://apache.fayea. ...

  4. 几种优化ajax的执行速度的方法

    1.尽量使用局部的变量,而不使用全局变量: 2.优化for循环 3.尽量少用eval,每次使用eval都需要消耗大量的时间: 4.将DOM节点放在文档上. 5.尽量减少点好(.)操作符号的使用

  5. git命令 高级

    Git 分支 - 分支的删除 git删除本地分支 git branch -D br git删除远程分支 git push origin :br  (origin 后面有空格) clone服务器上的资源 ...

  6. mysql 学习心得3

    1 /0和 %0 都会显示null 2比较运算符大部分和c一样 ==在mysql是=  <>代表不等于 between 指定范围内 in指定几何 isnull 判断是否为null :is ...

  7. 剑指offer 第一个只出现一次的字符 hash

    思路:i表示字符的ASCII码值,cntp[i]表示字符出现的次数. AC代码 class Solution { public: int FirstNotRepeatingChar(string st ...

  8. 为什么java局部变量没有初始化就会报错,而成员变量没有初始化就不会报错?

    代码如下 1.局部变量,报错!!! public void test(){ int i; System.out.println(i); } 2.成员变量,输出0 int i; @Test public ...

  9. C# 之三类文件的读写( .XML,.INI 和 .TXT 文件)

    笔记之用,关于三类.xml, .ini, .txt 文件的 C# 读写,请多多指教! 1,第一类:.xml 文件的读写 先贴上xml文件,下面对这个文件进行操作: <?xml version=& ...

  10. Hive分区和桶

    SMB 存在的目的主要是为了解决大表与大表间的 Join 问题,分桶其实就是把大表化成了“小表”,然后 Map-Side Join 解决之,这是典型的分而治之的思想.在聊 SMB Join 之前,我们 ...