Facebook是如何设计的[译]
作者:神采飞扬 来源:前端观察 发布时间:2009-09-17 13:10:00
最近,Facebook设计团队在其位于加州帕罗奥多市(Palo Alto)的总部,提到了他们为2.5亿用户设计的原理和方法。 他们特别强调了编写代码的重要性、较早并经常分享设计、从开始到结束都参与到一个项目中、以及不要爱上你的作品等,并多次提到要确保设计师有足够的技术来写代码。
Facebook设计团队致力于产品设计、市场、UI模式、品牌以及前端开发。团队由15名产品设计是、5个UI工程师、5个用户体验设计师、4个交互设计师、以及一个1个内容策划。在这家1000人的公司中,共有25位设计师。
通过写前端代码将设计融入到公司的工程文化中去。
一个团队是如何为2.5亿用户设计的?4个前提:贯穿始终、早分享勤分享、自己动手、不爱上自己的设计。
1) 设计师需要从开始就参与进来:从策划到发布。这与其它公司不同。
Facebook 花费很多时间以确保设计师能够自始至终参与到项目中。
比如:新版首页在3月份发布。需求简化和提高网站中信息传输方式的效率。同时涉及数据结构和视觉结构。
确定视觉效果后,开始写代码制作原型。边编码边设计允许你看到布局内的真实数据是如何工作的。
平衡权重——在主页设计中做一系列的探索,包括不断的在交互和视觉细节上。
让不同的团队在一起——使用了一个静态的模型以传达设计。通常并不提倡静态设计。
拥有一个能写代码的设计师能够了解细节并快速执行。
2) 早分享与勤分享。与团队和用户分享有助于让设计变得更好。
Facebook没有创意总监,而是使用一种从下到上的流程。这对团队分享他们的工作很关键。
开发一些工具以使分享更有效。其中一个工具叫Pixelcloud,充当一个使用评论的在线画廊。自从3月份发布以来,每天有15张图片被添加进来。
简单的来说,工作者包括视觉设计和前端编码以确保Facebook的设计保持一致。所有的工作者都有工作时间来向其它设计师提交反馈。
例如: 隐私向导设计。在开始时,带来12个用户并向他们展示30个原型以确定项目的方向。在开发阶段,带入少一些的用户,并只向他们展示7中原型。
反馈是很好的。尽可能多尽可能早的获取反馈,这有助于节省时间。
3) 自己动手。重要的是你能理解网页代码是如何工作的。所有的设计师都要写一些HTML、CSS,或许还有PHP。
改善设计和开发之间的关系。设计师也能尝试调试代码和创建快速原型。
设计师常常在简化方面做过了头,而工程师则往往提供过多的功能。
理解你工作者的方法,鼓舞你的设计。
快速行动很重要。Facebook 在很多领域有很多竞争者,用户对网络的使用也在不断变化。快速迭代真的很关键。
核心是,Facebook相信最重要的是尽早的发布产品,然后看用户是如何使用的。
原型会说谎。它们缺乏内容和上下文。需要使用真实的内容和页面设计来理解设计是如何工作的。
为了快速转移展开,我们需要尽早制作原型。例如:评论的UI先在内部测试,并在发布给用户前修改。在新闻流程里面,新的设计打破了现存的扫描线。
公司的设计师每周约需要提交40次代码。
4) 不要爱上你的设计。软件只是暂时的——它会一直改变而你需要适应它。
目标就是在持续的改变中保持下来。
不要满足于今天很棒的东西。否则你将落后。作为一个设计师,你需要能够预测并思考接下来的一年将会是什么样的。
在Facebook,最长时间的实际是从2004年开始的前台页面,历时18个月。
例子:全局导航改版。几个月内尝试了很多种想法。甚至在前一天网站头部又变了。
我们的工作从未完成。
对大多数功能做A/B测试。事前清楚的定义好规则,并对它们进行估量。但不要让规则驾驭设计。
猜你喜欢
- LOAD DATA INFILE '文件地址' INTO TABLE 表名 FIELDS TERMINATED BY
- 看了一个月的文档和资料以后,终于让我参与到项目中来了,哈哈,痛快!虽然只是让我解决一个小问题,不过有活干就是好。在写代码的过程中遇到了一个小
- 统计分析常常会出错、存在偏见或过于狭隘。数字崇拜者常因专注于统计分析而把可用性研究引入歧途。强调洞察力和定性研究更为重要。用户研究有两种类型
- 如何准确地获得一个整数?当然可以,Format就是做这个的“专家”:function NumbersOnlyNoDecimals(
- 为了把事情变成简单化,我在多个Oracle数据上建立统一的检查数据库账户,并且账户只能访问特定的几个视图(需要查询的sql已生成视图),具体
- [原文地址] VS 2008 Performance Improvements[原文发表时间] Thursday, September 27
- 在这篇asp之数学函数里,我们将会以表格的形式,让大家了解到关于ASP中能用到的数学函数,里面包括一个数的绝对值、一个数的平方根
- 有过网页制作经验的朋友一定知道:一般来讲,把表格的边框定义为1px时,即border=1,而实际上是2
- “没 Javascript 就会死”的页面通常都会加入 noscript 标签用于提示用户开启脚本支持。 然而在 IE8 下,如果在 nos
- <script type="text/javascript"> var params&n
- 写一个循环删除的过程。 create or replace procedure delBigTab(p_TableName in varch
- dim dr dr="2123123" dr1=Cint(dr) dr2=Clng(dr) 可参考如下函数说明: CIn
- 创建一个表T_Employee并插入若干数据 代码如下:create table T_Employee(FNumber VARC
- 【原文地址】 Recipe: Deploying a SQL Database to a Remote Hosting Environmen
- 前几天同学要我帮他做个国际聊天室,要求能够将聊天的内容自动翻译成多国语言.本来想用worldlink的翻译服务,但是用ajax很难获得结果,
- 当我们建好数据库及表后,首先想到的就是向数据库的表中输入数据.下面我们就来探讨一下如何向数据库增加数据:1.常用的方法是insert语句in
- 浏览器对于CSS的支持问题落后于CSS的发展,以占有市场绝对份额的Internet Explorer来说,直到其前不久发布的第8个版本才刚刚
- 1.建立Recordset对象Dim objMyRstSet objMyRst=Server.CreateObject(&ldquo
- 有时候我们在设计表单的时候不希望用户输入其它字符,只想他在input中输入数字,那么我们就可以使用下面的代码,当然这个比较是客户
- Asp中Server.ScriptTimeOut属性需要注意的一点Server.ScriptTimeout 这个属性给定Asp脚