红绿灯与设计规范

过马路的时候突然注意到红绿灯,恰好最近的新交通规则也热火朝天,就顺势吐槽下关于“设计规范”的思考。

  提到设计规范,很多人都觉得是个很虚、不务实的绩效工程,很多企业为设计规范而设计规范,拍脑袋定规则,投了精力进去,面子起来了,最后死掉了。以前也很不情愿去制定设计规范,经历多个终端的设计痛苦后,渐渐明白了设计规范“存在即合理”的意义。可以500%提高开发效率的前端UI框架!

红绿灯的启示

扯淡之前,还是先回到红绿灯这个事儿上:

  这是再常见不过的红绿灯。当工业化城市化达到一定程度,出现车如流水马如龙的复杂交通,红绿灯也便应运而生。在这里,红绿灯起到的就是规范的作用,路人、司机达成一致共识:红灯停,绿灯走。一切有序进行。缺少它,过马路将变得惊心动魄。

  这是再简单不过的常识,但同样的思维迁移到设计上来,会引发很多有趣的思考。

  常看到产品设计团队经常对导航、反馈等交互问题进行激烈讨论,虽然多元碰撞是好事,但一旦系统开始庞大,问题也将显露水面:团队成员各有创意追求,尤其是视创意如生命的设计师,对规则创新的追求更为突出,如果团队缺少“红灯停绿灯走”这样的共识、缺少设计约束,将导致规则无序叠加,使得软件的整体交互变凌乱复杂。可以500%提高开发效率的前端UI框架!

设计规范三宗罪

1. 规范制定时机过早/过迟

  小村庄的道路是不需要红绿灯的,因为压根用不着,红绿灯的存在反而限制了人们的自由走动。但却有那么一类公司,在早期产品野蛮成长、规模还小的时候,早早制定设计规范,花大功夫,却无人接受,难以执行。与过早相对,太迟也不合适,大公司也会犯这样的错误,如google,android在4.0之前出了个相当粗糙、有和没有一个样的规范,等到自家系统跑着很多长iPhone模样的app时才发现问题的严重。

2. 规范过于详尽

  红绿灯是一个特别简单的“约束”,红灯停,绿灯走,至于怎么停、怎么走,交给甲乙丙丁自行决定。《iPhone Design Guideline》的制定者非常有先见之明,他们在撰写规范的时候,选择了一种宽泛的表述方式,没有定义“点击按钮”应该多大、没有定义“返回按钮”必须长左上角、没有定义删除就非得有一个扔进垃圾桶的动画…表述越细,限制越大,反而会成为设计团队创新的枷锁。

3. 规范一成不变

  早期的红绿灯就只有两种颜色更替,但还是会遇到一定的危险,经过不断的改进才出现了由红黄绿组成的三色信号灯并一直沿用至今(最近有人冒出来把黄灯给否定了)。红绿灯也已经不是简单的颜色更替,而是一套完整的信号系统,人行道的、车道的、带方向指示的…设计规范同样如此,当产品变复杂,大到像一只庞然大物如QQ、微信时,为了保证体验的一致性,规范会逐渐完善和明晰。规范的建立是一个长期的过程,宽泛的设计指引应该与时俱进。

大指引,小规范

  关于规范的讨论,在这之前就已经有很多前辈进行过各种思考激辩,至于执行,也会因团队因项目而各有差异。

  以iPhone的产品设计为例,苹果官方的《iOS Human Interface Guidelines》(以前叫《iPhone Human Interface Guidelines》)比较系统,很多产品设计直接参考这份文档去构建自己的app,产品生命周期中唯一的设计规范也就是这份现成的参考。我们除了会以官方的设计指引为基本参考,还会根据项目的需要将设计规范细化,以1+1(平台规范和应用规范)的方式整理软件繁琐的交互细节。

规范案例(一):信息提示系统

  提示系统作为软件设计中一个小点,很多团队都不会在意,过去我们有一套比较完整的信息提示系统,将提示分成了四类:可以500%提高开发效率的前端UI框架!

  3.0设计过程中我们对整套提示系统再次进行了优化,彻底去掉Toast提示,并且将Banner Tips统一为一种样式,直接挨着导航栏下方。

规范案例(二):菜单系统

  菜单是软件设计里中另外一种常见的交互系统,我们第一个版本刚出来的时候使用了隐晦的方式(横滑)设计菜单,经过几个版本的演进,菜单的出现更加直接、更容易扩展,并对不可操作的异常提供了解释说明。

  iPhoneQQ音乐发展到现在,俨然是个庞大的产品,有海量乐库的信息组织、个人音乐资产的管理,基础的播放操作体验….

   除了上述的信息提示和菜单系统,我们还对产品的几个常见交互系统提供了一些简单的指引,包括:

1. 导航:定义全局导航规则,包括普通的层级进入、临态界面、界面内互调、跨产品互调

2. 异常处理:如网络中断、内容为空时的提醒及引导。。可以500%提高开发效率的前端UI框架!

3. 品牌传达:在异常、边缘情况、产品幻灯片展示方面对音乐品牌的视觉传达

  当然,如果出现某种不能满足的情况,我们会再重新审视,及时调整。高效可控的交互体系是应需而变的。

  最后,说回投入/产出比的问题,既然大部分自定义的规范意义都不大(平台级的规范除外),何必投入大把精力?其实这种官方规范之外的小规范成本非常低,不需要整理成一个完整的样式库,只需要简单地把规范罗列在一张大图上,供团队成员或中间接手的设计师参考即可。对于节奏非常敏捷的移动互联网产品而言,简单,才最具生命力。

时间: 2024-10-09 10:31:09

红绿灯与设计规范的相关文章

MYSQL数据库设计规范与原则

MYSQL数据库设计规范 1.数据库命名规范 采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成; 命名简洁明确(长度不能超过30个字符); 例如:user, stat, log, 也可以wifi_user, wifi_stat, wifi_log给数据库加个前缀; 除非是备份数据库可以加0-9的自然数:user_db_20151210; 2.数据库表名命名规范 采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成; 命名简洁明确,多

前端要给力之:红绿灯大战中的火星生命-Promise

目录 目录 传说的开始 看到winter的代码我的第一反应是全无promise的精髓 其实我了解Promise也是新近的事情 我与Promise后来发生的故事 红绿灯大战的亲历实录 Promise写出来怎么会是这个样子 欢迎回到火星 感谢米粽粽同学提到我的一篇旧文 第一步的抽象 一点说明前提 重新定义问题 Promise的编程基础之逻辑过程 如何确认一个数据就绪 然后then只能处理一个数据 最后任何情况下then总是立即返回一个promise 解决问题的方法 得到一些基础件 如何在Promis

我的开源框架之设计规范

需求设计 (1)所有组件只实现简单易用(即不需要编写大量javascript代码)功能,复杂功能如数据表格的行编辑等可以通过弹出其他页面实现的功能不做. (2)所有组件只实现常用需求,尽量简化组件的复杂度. 代码设计规范 (1)组件代码框架符合jquery开发规范 (2)代码块清晰,可以区分构造器.私有函数.公共函数 (3)函数名需要注释使用方式与用途.函数的参数有详细注释 以下为代码框架规范: 1 /***********************************************

类型设计规范

.NET设计规范————类型设计规范 类型设计规范 从CLR的角度看,只有值类型和引用类型两种类型,但是从框架设计的角度我们把类型从逻辑上分了更多的组.如下所示: 类是引用类型的一般情况,占了框架中的大多情况,类的流行归于它支持面向对象的特征,以及它的普遍的适用性,基类和抽象类是两个特殊的逻辑分组,它们与扩张性有关. 由于CLR不支持多继承,接口类型可以用来模拟多继承,既能被引用类型实现,也能被值类型实现. 结构是值类型的一般情况,应该用于小而简单的类型,就像编程语言的基本类型一样. 枚举是值类

【转】MATERIAL DESIGN设计规范学习心得

编者按:自学笔记就该这么做!今天分享@東門王三 同学关于Material Design的自学成果,他的学习笔记严谨有序,触类旁通,从Material Design到其他系统的设计规范都有所研究,还认真地做了思维导图,同学们可以边学习边借鉴他的自学方法,一举两得呦. 自学的一大重点就是读书,推荐同学们看一下华为设计总监的经验:<华为设计总监尤原庆:怎样读设计书> 想读好书的同学,可直接到:设计师图书导航 挑选. @東門王三 :随着Android系统从Android 4.4逐步升级到Android

MySQL设计规范与性能优化

引言 MySQL是目前使用最为广泛的关系型数据库之一,如果使用得当,可支撑企业级高并发.高可靠服务,使用不当甚至连并发量略高的个人网站都难以支撑: 就算使用了缓存,大量的数据库访问依旧在所难免,即使设置了较长的缓存有效期,而且缓存命中率较理想,但缓存的创建和过期后的重建都是需要访问数据库的: 本文主要从MySQL表结构设计规范和MySQL自身性能优化两方面来讨论该如何对MySQL数据库进行优化: MySQL表结构设计规范 1. 数据库设计命名规范 (1)数据库,数据表一律使用前缀,前缀名称一般不

关系型数据库表结构设计规范-浅谈(转)

数据库表结构设计规范-浅谈,为啥是浅谈呢,因为主要的观点还是来自原微信公共账号的一篇文章,稍微加了一些自己的看法. 谁来进行数据库的设计? 肯定是具体的开发工程师来进行,开发同学的话,第一业务熟悉度比较高,第二结合OO和ORM的思想,能有比较好的运用关系型数据库的特性.如果是DBA同学的话,虽然对于数据库本身了解比较多,但是对于业务了解较少,很难有比较客观的设计.但是业务上线或者运行期间,需要DBA同学能够重度的加入进来,针对一些性能点和不合理的点进行优化,同事也可以在上线前,针对SQL进行re

红绿灯

派猴子来的救兵 这是什么鬼 有天冲到十字路口, 可是刚刚变成红灯,等了20秒. 接下来还有十几个路口, 就想这次红灯等了20秒, 会不会一连串的红灯把这20秒放大了, 导致到最后耽误了几分钟.有点像蝴蝶效应. 一直感观认为第一个路口耽误的时间会放大, 不知道有没有别人和我一样的第一感? 写了一个程序验证了一下, 因为和第一感不一样, 所以也不确认程序模拟的对不对... 初始化20个红绿灯, 随机红灯时长和绿灯时长. 过马路需要6秒. 两组做为对比, 一个是当前就在第一个路口, 另一个做对比的是2

通达OA 关于OA工作流设计规范的一些意见

集团应用OA工作流已经有几年的时间了,从最早的请假调休这些简单常用的工作流开始应用,到现在涉及十多个部门的工程项目合同工作流,我们一步一步的把工作流应用渗透到了很多部门及工作中,确实提高了不少效率,减少了中间沟通的时间成本,也减少了扯皮等问题的发生. 工作流应用的多了以后,管理起来问题也比较多,如何能够更有效率的进行管理,我这里根据我们日常的工作总结了几点经验,仅供参考. 1.流程分类 对所有流程按照流程性质或部门进行分类,现在系统里可以支持多级目录的分类,就像我们管理电脑中的文件一样,分成文件