都说2013年将是响应式设计爆发的一年。一淘设计团队在去年一淘首页改版时初步尝试了响应式,最近在一淘“玩客”项目中有了更加深入地应用,第一次在复杂产品中实现了全站响应式。中间积累了一些经验也踩了不少坑,于是就有了这个响应式设计三部曲,此系列文章包含理念篇、知识篇和流程篇。
响应式网页不像传统网页只需考虑一种状态,不是交付一套设计稿就完事儿了,它给设计、前端和开发团队之间的协作模式带来新的挑战。在一个复杂产品全 面响应式的项目里,交互每个阶段该产出什么?交互与视觉如何协作?前端何时介入?哪些事情让后端开发来做更合理?经历“玩客”第一版后,我们得到了一些答 案。
响应式设计之所以叫响应式“设计”而不叫响应式“技术”,是因为它是一项设计先行的工作。需要设计先明确好响应方式再实现出来,不能出一套设计稿后 等着前端看情况把它变成响应式网页。所以整个流程最初从交互阶段开始,分成6个主要步骤,视觉、前端、开发等角色根据情况尽早介入。
Step1:信息架构,确定内容策略。
根据产品定位和用户分析,交互设计师确定站点信息架构。(信息架构呈现方式有很多种,这不是本文重点,不详述)。
这时候可以明确这个产品有多少页面,每个页面包含多少内容,内容优先级是什么。很多产品包含N多页面,每个页面一一考虑响应式设计容易造成混乱且成 本巨大。所以下一步重要工作是分析页面类型把页面归类。以玩客为例,可以把10多个页面分成三类:列表类页面、详情类页面、操作类页面。
Step2:移动框架
先说下为什么第二步要先设计移动框架。移动优先是移动互联网浪潮下应运而生的理念,由Luke Wroblewski最早提出。移动优先并不是指移动更重要,响应式设计理念里设备是同等重要的。它是指优先设计手机端的体验,有三个原因:
- 手机让设计专注,强迫你想清楚什么信息是最重要的。因为手机屏幕小,每屏呈现的内容少;触屏手机使用手指操作而非鼠标这样的精密设备来操作,对操 作有更高要求;手机使用场景更加丰富,很多场景用户是缺乏耐心的,比如当你排队看电影正在找手机上的电子票,马上排到你了翻半天却迟迟找不到那张票这是多 么令人崩溃的事情。
- 手机许多特性让设计更强大。手机上的语音输入、地理位置定位、丰富的手势操作、越来越多传感器,手机交互比PC拥有更多可能性。从手机开始设计,让你更早地思考如何发挥这些特性。
- 手机正在迅猛增长。手机即将超越PC,成为最主流的上网方式,这个趋势是不可逆的。
从移动开始做设计对习惯了PC环境的设计师可能是一种挑战,思考方式工作习惯都被迫做出改变。但这种改变必须去适应,因为用户习惯在改变。
回正题,上一步已经把页面归类并确定每个页面内容优先级,现在接着分析每种类型页面的导航、主体内容等框架结构,最终得出一份框架结构表。从玩客框 架结构看出,全局导航是所有页面公共的,局部导航只有列表类页面才有,详情类页面都有一个“页面主人”信息,而关联导航不是每个页面都有。
接着开始设计手机端“超细长页面”的框架(因为手机上一般是单列布局,所以页面又细又长)。这一步开始把信息结构设计成最粗放的框架,可以在白板或 纸面上完成。要实现的关键目标是:把这个页面最需要呈现给用户的内容放在最重要的位置,要符合手机上的阅读和操作习惯,尽量利用手机设备的特性。
Step3:响应式框架
根据手机端的框架拓展出平板和PC端框架。这是复杂产品实现响应式设计的关键步骤,它是让众多页面有条理地响应起来的基础。第一件事情是确定响应式 模式,即从手机到平板到PC,导航怎么变化,页面布局用哪种响应方式,根据内容优先级如何调整模块顺序,等等。玩客在PC端以三栏布局为主,左边栏作为局 部导航或者主人信息区,中间栏始终是页面主体信息,当页面需要关联导航时统一放在右边栏。
到现在这个阶段所有页面的响应式开始有规则可循,下一步工作就是继续细化规则,把框架精确到具体尺寸。具体说来就是制定流体栅格系统。流体栅格系统是基于百分比的栅格布局工具,具体的制定方法会在另外一个篇章【知识篇】中详细介绍。
响应式是一种设计理念与前端技术紧密结合的新兴形态,鼓励尽早进行跨职能沟通协作。交互确定响应式框架和栅格系统后,其他角色就可以同步开展工作 了。前端开始介入完成栅格和框架搭建,产出页面基础框架。视觉同步开始探索和定义视觉风格探索,制定视觉框架,产出风格关键词、产品配色方案。整个过程需 要几个角色不断讨论确定。
Step4:模块设计
按照移动优先的原则应该先进行移动端的模块细节设计,不过我们选择了从PC端开始设计细节。因为PC端开发能够充分暴露业务复杂度,项目团队的设 计、开发、测试在PC环境下拥有成熟的工具和流程,从PC开始让开发过程更顺畅。所以个人认为移动优先是确定内容策略时应该遵循的理念,细节设计和开发过 程是否要移动优先,取决于产品定位和项目团队情况。
响应式框架确定了页面结构和响应模式,模块设计这个过程开始完善所有信息排版和交互形式,这是交互设计师最熟练也是最耗时的工作。这个过程与传统流程没太大区别,只是心里要不断提醒自己,这个模块不是只为这个设备设计,它在其它设备下会出问题吗?
交互确定页面模块细节后可以抽取出产品用到的控件、组件和公共模块,现在视觉和前端开始做一件有别于传统流程的事情。视觉根据前期定义的风格设计控组件和公共模块的视觉效果,把它们拼成一个模拟的页面,我们称之为风格拼贴稿。前端再把风格拼贴稿里的控组件和公共模块实现出来,统一维护一套组件规范代码。
传统的做法往往是页面视觉定稿后设计师开始整理视觉规范标注给前端。风格拼贴稿是将这个工作尽可能提前,并变成一个设计协作利器。它的好处是:
1、一个页面的视觉效果实际上是由一堆控组件和公共模块组成,用真实的控组件和公共模块拼贴的模拟页面已经可以呈现出产品的视觉风格。把一个产品10多个页面的视觉稿全部完成定稿是非常费时费力的事情,产出一份风格拼贴稿则轻松得多。所以它是一个高效的设计工具。
2、复杂产品总是涉及多个设计师和前端并行工作,尽早地把控组件和公共模块抽取出来统一管理,是保证视觉风格一致性的有效方法。避免不同设计师同时 设计同一个控组件或公共模块,减少重复开发造成的浪费。也大大降低后期更新和维护页面的成本,比如当需要修改“关注”按钮时只需改一个就能全站生效。
Step5:响应式模块设计
PC端页面模块细节和风格拼贴稿完成后,剩下工作是拓展出平板和手机端的完整设计稿,前端产出全部响应式页面代码。进行响应式模块设计时最需要关注的仍然是让操作符合设备习惯,充分利用设备特性。
至此,一个全站响应式产品的页面就陆续出来了。很多人认为响应式设计维护成本高的理由是一个页面要同时设计多套设计稿。玩客这次经验告诉我们,确定一套设计稿和栅格系统后再拓展出其它设备下的设计方案,工作量远比想象中的低。
Step6:测试&讨论&优化,提交开发
离大功告成还差最后一步,在真实设备下测试页面效果,项目团队讨论并持续优化。
在提交开发之前需要尽早明确服务端响应(RESS) 的策略。服务端与客户端结合是目前解决响应式页面性能问题的最合理方案。哪些大图片在移动设备下只需输出小尺寸图片?哪些内容在什么设备下是不需要开发输 出的?哪些可以减少输出的数据数量?与开发团队协作的响应式可以有效控制页面文件大小,避免页面成为移动设备上烧用户流量的罪魁祸首。
测试通过后提交页面进入开发环节。我们从可用性和可访问性两方面总结了一份响应式页面测试checklist,测试要点包括但不限于以下内容。欢迎补充。
结语
以上流程是我们团队做完一个全站响应式项目后集体总结得出,不管你是对响应式感兴趣、正在做响应式,还是即将开始做响应式,希望对你有所帮助。
我在#IxDC2013中国交互设计体验周#将会主持一个《跨PC和移动的交互设计》工作坊,有大量关于响应式设计的内容和实战,还会探讨多设备联动交互的设计。