产品讨论与Mr.Right

转载自:http://firecacada.blog.163.com/blog/static/7074376201110893622618/
我写博客有句口头禅:“最近某件事情令我印象深刻”。这句话的意思是,我的观点既不是一拍脑袋拍出来的,也未必能放之四海而皆准,只不过是特定环境下的经验总结罢了。有人称赞这是干货,我倒是担心,如果读者不理解此事件发生的“特定环境”,或许南橘北枳。

以上全是废话。

好吧,最近——其实也就是上周,又有件事情令我印象深刻。这要从一年前说起,涉及两位同事,姑且称之为A君与B君。一年前,我与A君、B君共同合作产品项目,当时A君有一套方案,我和B君有另一套方案,由于立场不同,见面就吵,整整吵了三个月,双方都精疲力竭。

后来,我对这场惨烈的战争总结道:A君是极简主义的信徒,重视每一个细节的产品逻辑,我和B君恰好是产品实用主义者,设计思路格格不入。我们之间并没有绝对的对错,一味用A君的方案,或B君的方案,都有收效,但强烈的风格差异使我们无法形成合力。尤其当时处于“权力均等”的微妙环境,谁都没有拍板权,意淫着用强大的逻辑论证来打败对方……其实大家都是专业人士,3分钟已经讲得透彻又明白。把3分钟的发言扩充到180分钟,措辞上花样翻新,长舌善舞,只能反复证明逻辑线的分裂。

那是一段黯淡的回忆。双方自以为对事不对人,但在激烈的路线分歧下,没法压住火气。我们从攻城战发展到街巷战,常常气呼呼地走进会议室,几小时后头上燃烧着火苗走出来。最后强扭的瓜不甜,勉强折腾上线的近乎于废品,合作破裂,联盟解除。A君按他的思路重新做一套,我和B君也奋然另起炉灶。

幸运的是,在单飞之后,双方迅速从沼泽里走了出来。A君以闪电之势发布了他的新功能,我这边则把之前说服对方的巨量精力,全部转移到了“创造力”身上。由于对抗氛围的解除,我和B君之间互相认同,互相启发,源源不断的好想法像被开启的泉眼一样,咕咚咕咚冒了出来,很快完成了比那废品更好5倍的解决方案,上线后口碑甚佳。

这时才发现,如果把产品设计比喻为百米赛跑的话,之前一直在大约25米的地方内讧,而且是从10米扭打到25米,一路抓扯。直到混乱状态解除,才飞也似地跑完了剩下75米。那么,之前发布的当然是款废品。

我于是感慨道,对嘛,产品项目需要搭档而不是敌人。五条不同的道路,有可能通向同一个正确的结果,但如果一路上拉拉扯扯,而不是互相扶持着奔跑如飞,简直恨不得摸把管制刀具出来,将拖后腿的同伴一刀砍死。我们当然需要被质疑,被挑战,但这应该是富有启发性的交流,而非针锋相对的争吵。后者往往是破坏性的,让你把注意力集中在不断自我强调上面,你的想法止步不前,在黑色的漩涡里打转,证明“我对,你错”的执念充满了你的大脑。

距离上次不快的经历已经过去了一年。这一年里我和B君的设计思路相近,默契居多,和A君也仍然是关系挺好的朋友。直到上周,我在一个新的需求领域,拿出了一套创新的产品方案,找到B君讨论。意外的是B君从一开始就断然道,不对,你是错的。

为什么?
Blablabla
我想了想,解释说,有可能是我没表达清楚意思,我再解释一遍吧。
不对,你是错的。
好吧,我明白分歧点在这里,我在白板上画个原型图,你看看能不能解决你的质疑。
不对,你是错的。

接下来的对话,就在不断的解释论证,不断的悍然否定来回弹射。个把小时后我们疲惫地离开会议室,我心想这套设计问题不大啊,你怎么就这么坚定地看衰它呢?想必B君也在默默抱怨,完全没有可行性的方案,你怎么就这么固执地看不穿呢?

又过了一天,我再次把B君拉进会议室。

我想明白了一点,这款新产品针对特定人群,是否因为你不属于这个人群,所以在几个关键点上与我有分歧?
和人群无关,你的想法破绽太大,可行性太差。
为什么?
Blablabla
Blablabla
Blablabla
Blablabla
Blablabla

又是两个小时劳而无功的争辩。这一次更糟糕,我的方案被B君评价为羊肠小路一条,而B君建议改行的方向,亦被我评价为毫无吸引力可言。最后两个人都有点冒火,觉得分歧太大没法沟通,也是我和B君第一次如此话不投机。

唉,沮丧,一时无语。后来偶然与A君闲聊,无意间提及此项目,得到夸奖说,很有意思啊。我一开心,就跟他详详细细讲了一遍,也包括与B君的分歧所在。A君对争议点摸不准支持哪边,但对整体构思很看好,大加称赞其中的亮点,并提出几条疑问,几条建议。我们热情洋溢地讨论了30分钟,积极的氛围发酵灵感——当晚我在原方案基础上又有重大突破。如果就此改造产品框架与重心,曾经与B君的分歧便不那么重要,或许能绕过去划向另一片蓝海。

猛然间想起一句老话:没有永远的敌人,也没有永远的朋友。产品交流需要正面的,启发灵感的氛围,而不是一场负面的,对抗性的辩论赛。如果同伴们能齐心协力地琢磨着怎样创造更好的东西,而不是急于捍卫已有的观点,往往能打开一个新世界。如同“我们怎样能做得更好?”“想法很赞,但还要努力解决如下问题!”这些话自然比“你错了,大错特错”更加能鼓励你向前去探索。何必停在原地内耗内战。

然而吊诡的是,同伴的友善或苛刻并不仅仅取决于专业素养、设计风格、交谈技巧或是性子缓急。你恰好和他想到一起去了,他就是你的Mr.Right,某个关键点在他看来刺眼的很,他就是你的Mr.Wrong。如A君与B君的角色对调——曾恨不得一刀砍死的辩论对手,转眼间又成了天使般的启迪与建言者。他会一直盯着自己眼中的漏洞?还是盯着这个方案的潜力?这可没法预料。虚一点讲,取决于彼君与产品方案之间的“相性”。

这就是机缘。

上周末,我去旁听天使湾15支创业团队的毕业典礼。3个月前曾听他们各自简介一番,此次看见成品,很吃惊地发现,当初被我瞄上的一两个项目上线后光华褪去,而当初没给我留下任何印象,甚至是完全不看好的三四个项目,却有着意想不到的,引人注目的亮点。产品只要方向并不错得离谱,往往靠它最锐利的一面去打动用户,而不是非得弥补上每个漏洞,“加长”比“补短”更加重要。

既然如此,一场“错错错”不绝于耳的,互相否定,充满负面气场的讨论,自然让人压抑消沉,主动性与创造力被麻绳捆得严严实实。遇见这样的Mr.Wrong,最好停止对话,转身与另一些有着产品专业素养的目标用户交流,希望能遇见支持与鼓励你的Mr.Right。

祝你能找到自己的Mr.Right。

——————————

转载随意,但请带上我的微博地址……
http://weibo.com/cicada

网站的活跃用户与流失用户

转载自:http://webdataanalysis.net/web-quantitative-analysis/active-and-wastage-users/
wastage  网站用户管理的目标是发掘新用户,保留老用户。但仅仅吸引新用户还不错,还需要保持新用户的活跃度,使其能持久地为网站创造价值;而一旦用户的活跃度下降,很可能用户就会渐渐地远离网站,进而流失。所以基于此,我们可以对用户进行又一个细分——活跃用户和流失用户。

活跃用户与流失用户

活跃用户,这里是相对于“流失用户”的一个概念,是指那些“存活”着的用户,用户会时不时地光顾下网站,同时为网站带来一些价值。同时,我们还需要知道到底有多少用户可能已经抛弃了我们的网站,不可能再为网站创造任何的价值,也就是所谓的流失用户。

流失用户,是指那些曾经访问过网站或注册过的用户,但由于对网站渐渐失去兴趣后逐渐远离网站,进而彻底脱离网站的那批用户。当然,一个网站一定会存在流失用户,这是网站用户新老交替中不可避免的,但流失用户的比例和变化趋势能够说明网站保留用户的能力及发展趋势。

举个简单的例子,我们经常可以看到某些数据分析报告中说:某某网站的注册用户数已经超过几百万,但其实这些数据并没有太大的意义,因为可能这几百万里面很多用户都已经不再登录该网站(流失用户),真正最近登录过或有过操作行为的用户(活跃用户)其实不到一万。所以对于一个网站而言,真正有意义的是活跃用户数而非总用户数,因为只有这些用户在为网站创造着价值。

活跃用户用于衡量网站的运营现状,而流失用户则用于分析网站是否存在被淘汰的风险,以及网站是否有能力留住新用户。

活跃用户分析

我的博客中之前的文章——用Engagement衡量用户活跃度中已经介绍了用户活跃度的衡量方法,并基于Engagement的定义计算网站的活跃访问量(Visits),同样可以用这类方法计算网站的活跃用户数(Unique Visitors)。同时可以计算不同时间区间的活跃用户数,比如每天、每周、每月……这里就不再详细介绍了,需要注意以下几个问题:

  1. 用户Engagement的定义,并以唯一用户为单位进行统计;
  2. 只要用户有任一一个Engagement的行为,就可以定义为活跃用户;
  3. 不要仅关注活跃用户数,试着分析活跃用户的变化趋势和所占比例。

流失用户分析

流失用户的定义比较简单,就是一段时间内未访问或登录过网站的用户,一般流失用户都是对于那些需要注册、提供应用服务的网站而言的,比如微博、邮箱、电子商务类网站等。不同网站对于流失的定义可能各不相同,对于微博和邮箱这类用户几乎每天登录查看的网站而言,可能用户未登录超过1个月,我们就可以认为用户可能已经流失了;而对于电子商务而言,可能3个月未登录或者半年内没有任何购买行为的用户可以被认定是流失用户。下面的分析主要是基于网站的注册用户的,因为这类用户更容易识别,而且分析这类用户的流失情况对网站而言更有意义。

数据的获取

流失用户是通过用户的最近一次登录距离当前的时间来鉴定的,所以要分析流失用户,需要知道每个用户的最后一次登录时间,而对于不同网站而言,这个时间间隔会各不相同,最长可能会有1年或者更久,所以在数据获取方面会有一定的难度。如果分析的是注册用户,那么一般网站都会在数据库中建相应的表来存放用户信息,所以建议在储存用户基础信息的同时记录用户的最近一次登录时间,这样就能够准确地计算用户最近一次登录距离当前的间隔时间,进而区分该用户是否流失。

流失用户变化趋势

首先需要明确的是用户的流失可能并不是永久的,也许用户在一段时间内对网站确实没有任何需求,那么他会远离网站一段比较长的时间;或者流失用户也会因为网站的某次营销或者网站质量的改善而重新回来。网站总的流失用户数的计算比较简单,以超过1个月内登录即为流失为例,那么总流失用户数就是所有“当前时间点-用户最近一次时间点>1个月”的用户数量。但是单纯的总流失用户数量对于分析是没有意义的,因为大部分情况下这个数值是一直递增的,我们需要计算总流失用户数占总用户数的比例及新增流失用户数,观察它们的变化趋势,如下表:

日期 总用户数 流失用户数 新增流失用户数 用户流失率
2010年8月1日 325694 228451 70.14%
2010年8月2日 326127 228925 474 70.20%
2010年8月3日 326789 229507 582 70.23%
2010年8月4日 326297 230023 516 70.49%
2010年8月5日 326913 230618 595 70.54%
2010年8月6日 327514 231209 591 70.60%
2010年8月7日 328163 231672 463 70.60%
2010年8月8日 328517 232216 544 70.69%
…… …… …… …… ……

新用户流失率

也许你的网站已经吸引了一批新的访客,并且他们成功注册成为了网站的用户,你有了一个好的开始,已经成功了一半,那么另一半呢?就是如何保留住这些新的用户,让他们持续地为网站带来价值,这就是分析新用户流失率的意义。

我们可认为新用户注册后就完成首次登陆,那么简单地定义新用户流失,就是用户在注册后一段时间内都没有登录过网站,即

当前时间点 – 用户注册时间点 > 流失临界时间间隔

比如我们定义用户的流失临界时间间隔为1个月,也就是在注册后的一个月内未登录的用户意味着已经流失,那么就可以计算每天的新用户流失数,即注册时间为1个月前的那一天,而从注册到当前没有登录过的用户数。这个用户数与1个月前的那一天的总注册用户数的比例就是新用户的流失率

当天的新用户流失数 / 当天的总注册用户数 = 新用户流失率

计算出每天的新用户流失率,并观察它的变化趋势:

new-user-wastage-rate

网站能否保留住新用户就在于是否能够不断地降低新用户的流失率。

总结,这里主要介绍的是如何分析网站真正拥有的有价值的活跃用户的数量以及网站保留这些用户的能力,可以用流失用户的变化趋势来衡量网站用户的总体流失情况,用新用户流失率衡量网站保留住新用户的能力,而分析活跃用户数的比例和变化趋势分析能够衡量网站现有用户的质量和价值。

程序员如何做出“不难看”的设计

转自:http://www.douban.com/note/245966736/

经常看到程序员展示自己做的东西,有一些是创业项目,有一些是 Weekend Project, 不客气地说,大部分都挺难看的。在 10 年前,只要你做出一个功能齐全的东西,哪怕非常难看也会有很多人叫好,而现在网站和其它互联网产品多如牛毛,没有人再愿意忍受难看的东西了。

我觉得“不难看”是对一个产品最起码的要求,难看的产品往往都很难用。程序员在写代码的时候往往只注重功能的实现和性能的提升,忽视了外观和易用性,其实很多时候只要注意一些基本的规则,就可以大幅度提高产品的观感。作为一个外行,我也算是苦苦自学了好长时间的设计,这里打算分享一些我认为比较实用的技巧,希望可以帮助到同样在摸索的人。

需要声明的是,这里的目标是做出“不难看”的设计,注意,只是“不难看”而已,怎么做得好看我也在学习。另外,我的水平也很低,只是比较能体会外行的痛苦,如果有什么错误的地方,欢迎批评指正。

下面我会从四个方面来入手:对齐,字体排印,配色和装饰元素。

1. 对齐

之所以把“对齐”单独列出来并且放在开头说,是因为它是一个看上去简单但非常容易被忽视的规则。如果你真的把所有该对齐的东西都对齐了,就会发现只是简单遵循这一个规则就会有如此大的效果。

人的眼睛是喜欢秩序的,对齐就会让人觉得愉悦。不过有一点例外:尽量别用居中对齐,除非你有充足的理由。居中对齐会让人觉得很业余,你自己可以试一下好几段文字都居中是什么效果。

当然,也有靠不规则来出彩的设计,但那是高级玩法,我们还是乖乖对齐比较好。关于对齐有一个很好的网站可以观摩,那就是 IA (http://informationarchitects.net/)。它的上一个版本其实更容易看到对齐的效果,可以通过这里查看,顶部和底部的导航看上去没什么联系,如果你对比一下会发现它们对齐得都非常好。

2. 字体排印(Typography)

字体排印,英文名词叫做 Typography, 它包涵的东西很多,不只是字体的选择,还包括行距、行宽以及字体间距等元素的设定,这些东西都左右着我们的阅读体验。我们每天都阅读大量东西,每天都会接触到“文字”,由这一点就可以看出字体排印的重要性。关于字体排印的具体知识我就不多说了,有很多这方面的书和资料,这里只说几点容易被忽视的元素。

首先是行宽的设定,也就是每行显示的文字个数。一般来说,我们的阅读顺序都是从左到右,然后换行。如果每行显示的文字个数太多,那么我们在换行的时候视线移动距离就比较长,就容易感觉到疲劳,所以千万不要搞成只有一栏然后对屏幕自适应宽度,那样的阅读体验非常差。如果非要做流动布局,建议设置一下 max-width 属性。

其次是行距,也就是两行文字之间的距离。经常看到有些人调整了字体大小却忘记了调整行距,结果上下两行几乎挤在了一起,看起来非常累。如果你要调整字体大小,记得把行距也设置一下,就是 CSS 中的 line-height 属性。

第三是字间距。有些时候因为需要,我们会把一些文字设置得非常大,有些文字设置得非常小,这个时候每个字之间的间距可能就会变得过大或者过小,这个时候就需要调整一下,字体设计师们在设计一款字体的时候也会考虑这个因素。在 CSS 里面,有个属性叫 letter-spacing ,可以调整字间距。

最后想说一下的是标点。我们平时用到的很多标点符号都是错误的,比如说,英文的省略号不是三个点:… 而是 … (MacOS X 的快捷键是 Option + ;),英文引号也不是 ” 而是 “ (MacOS X 的快捷键是 Option + [),注意,这个和全角引号也不一样。平时写文章聊天无所谓,但如果做设计的话,还是把标点用对比较好。另外,名词拼写最好也严谨一些,App Store 不是 appstore, Xcode 不是 xcode, iPad 不是 ipad…

上面提到的除了标点之外,其余都是关于“空白”的问题。很多程序员可能会关注字体的选择,也知道 Helvetica 和 Arial 的区别,但是对字体之间的“空白”不太在意。而事实上,字体排印更多是对“空白”的设计,把“空白”的部分做好眼睛才能呼吸顺畅。

3. 配色

配色一直以来都是个让我头疼的问题,它看上去很难掌握,事实上也非常难以掌握。有一阵子我甚至怀疑我自己在色彩方面有生理缺陷,不然我他妈那么用功好歹应该有点儿效果啊。后来做了一些色彩识别能力测试,才慢慢打消了破罐子破摔的念头。

关于色彩基础知识的书和资料我看了不少,三原色、互补色、色环和光谱等知识知道了很多,但这些东西对我的帮助微乎其微。并不是这些知识没用,而是它们都需要辅助以大量的练习,可能还需要一个好的老师亲手指导,而我现在已经没时间和精力再从基础开始慢慢学画画了。不过,大量的阅读和无用尝试还是帮助我找到了一些比较实用并有迹可循的东西,下面就说一些窍门。

程序员一般都是用十六进制或者 RGB 来表示色彩,比如说 #FF0000 或者 rgb(100, 210, 241, 0.5) 之类。这种认识色彩的方式非常不好,它们对你来说只是一堆随机数字,只是“碰巧”会出现那种色彩。而且即使你知道 #FF0000 是红色,你也很难通过调整这些数字来找出你想要的色彩。现在我们不要再用十六进制或者 RGB 来考虑色彩了,我们要用 HSB 模式: H(hues)表示色相,S(saturation)表示饱和度,B(brightness)表示亮度。

使用 HSB 来考虑色彩最大的好处是比较直观,当你调整色相(H),饱和度(S) 或亮度(B)中的某一项时,基本可以大概知道色彩会发生什么变化,这样我们就可以选出比较可控的又“不难看”的色彩搭配。比如说,我们可能选择了某一种色彩作为链接的色彩,那么就可以保持该色彩的色相(H), 饱和度(S) 值不变,只调整亮度(B) 的值,这样就顺利得到了一种比较深的色彩,可以用来做 :hover 色彩,如图:

这样用户在鼠标移动到链接上的时候,得到的反馈就比较自然,这里是个简单的 demo:

http://zhuoqun.github.com/demo/link.html

如果把色彩比作杠铃的话,那么程序员的“色彩肌肉”可能只能举起 5 磅的重量,所以开始的时候我们不能太勉强,不要试图去掌控跨度很大的色彩,选中一个色彩之后,任何时候都只调整 H, S, B 中的一项即可。控制住变量,事情就不会变得太糟。

因为我们的力量有限,所以要尽可能少的使用色彩,也就是说要尽量重复使用色彩。比如说,有一种色彩我们用作链接的 :hover 色彩,同时一些高亮的文字的背景色也可以使用它,这样不但减少了色彩种类,还会给人一种视觉上的一致性,有个很好的例子就是 http://www.subtraction.com/ ,这个网站的主人以前是纽约时报的设计总监,网站除了黑白之外这个网站只有一种橘黄色。

相信很多程序员都听说过 Twitter Bootstrap. Twitter Bootstrap 是一个很酷的东西,极大地减少了设计工作,非常适合不懂设计的人快速搭建网站。但现在使用 Twitter Bootstrap 的人越来越多,很多网站看上去千篇一律,让人非常厌烦。其实完全可以根据提到的规则来定制自己的 Twitter Bootstrap, 这里我就以顶部的导航条为例简单做一个 demo. 首先我们看到导航条的背景样式是这样的:

background: #2C2C2C;
background-image: -webkit-linear-gradient(top, #333, #222);

现在我们把 #333 输入到 PhotoShop 里面,可以看到它的 HSB 的值为 0,0,20. 现在我们保持亮度(B) 不变,通过调整 H 和 S 找到一种舒服的颜色,比如 160,90,20. 但是这个颜色亮度太低了,所以我们增加 30 的亮度,颜色就变成了 160,90,50. 十六进制为:#.0D8059.

然后我们对其它颜色做同样的转换。#222 的 HSB 为 0,0,13, 然后把它的 H 和 S 的值设置为和 #333 一样,就变成了 160,90,13, 再增加 30 的亮度,就变成了 160,90,43. 十六进制为:#0B6E4D.

同理, #2C2C2C 会转换成 160,90,47. 十六进制为:#0C7854.

然后把原来样式里面的三个相应的颜色都替换掉就行了。背景换了之后,你会发现菜单选中后的背景颜色还没有改,原来的颜色是 #222, 现在要改成 #0B6E4D. 此外连接上的文字显得有些暗,原来的颜色是 #999, 现在改成 #DDD. 下面是完成后的 demo (只测试了 Chrome 浏览器):

http://zhuoqun.github.com/demo/navbar.html

4. 装饰元素

装饰元素都是锦上添花的东西,上面提到的几点如果做不好的话,装饰元素再好看也没用。最常用的装饰元素是纹理和阴影。有时候我们想要给整个网页一个背景,如果是纯色会显得比较呆滞,用纹理平铺会比较好一些,在网上搜 texture 会找到很多相应图片,我比较喜欢纯色然后加一些 noise 的背景,这里有一个生成器可以帮你做到:http://www.noisetexturegenerator.com/

至于阴影,有 text-shadow 和 box-shadow 等。我以前在一些网站浏览的时候,总觉得上面的文字比较特别,选中一看才发现都加了 text-shadow . text-shadow 如果用得好会产生一些很好的文字效果,而且不会影响阅读体验。而如果想要一些立体效果,可以考虑 box-shadow, 但使用的时候要考虑到一致性和假想中的“光源”,相邻的元素最好不要做出相反的阴影。

一般比较专业的网站在细节上都处理得非常好,从装饰元素就可以看出来。因为很喜欢的 Twitter 的设计,有一阵子我就把它的首页自己实现了一遍(可以在这里查看,请用 Chrome 浏览器,因为偷懒没用考虑浏览器差异)。在抄袭的过程中,我发现即使在一些常人不会注意到的细节上它都努力做到尽善尽美。比如说输入框上面的 placeholder 其实是用 span 浮动在上面,因为原生的 placeholder 没那么丰富的效果。还有弹出窗口的那个小三角,乍看之下没什么,但如果你查看代码结构,会发现有两层:

这个让我很好奇:应该一个 div 就可以实现才对啊。当把 caret-inner 隐藏掉之后,发现原来 caret-outer 是一个半透明的层,而且宽高都比 caret-inner 多了 1px,只是用来模拟阴影效果:

仔细看就能看到那个半透明的小三角

抄到这里的时候我感到非常震惊,然后十分肯定这样的代码是设计师自己写的,不然不可能把设计意图实现得那么完美。这才是 real web designer 啊!知名设计师 Zeldman 也曾经在 Twitter 上说过:”Real web designers write code. Always have, always will.” Twitter 的设计师肯定都是自己写 HTML 和 CSS 代码。

从 Twitter 的例子可以看出,好的装饰元素可以提升品质感。但是也要注意一点,装饰元素只是用来装饰的,千万不要搞得太惹眼以至于喧宾夺主。

以上说的这几点中,修改容易并且见效最快的就是对齐和字体排印,把这两点做好设计会直接上一个台阶。颜色用不好可以先不用,都用灰度也行,比如背景颜色 #EEE , 字体颜色 #333, 分割线颜色 #CCC …… 虽然简陋,但是“不难看”。

下面推荐一些资源,其中有书,也有在线的教程,大部分我都看过而且觉得不错。

1.《写给大家看的设计书》这本书简单易懂,介绍的也都是可以遵循的规则,很适合业余爱好者阅读,非常推荐。

2. Type is Beautiful 很好的字体博客,里面的基础文章非常值得一看。

3. Thinking with type 关于字体设计的好书,可以在线阅读。

4. 《色彩设计的原理》最近出的书,浅显易懂。

5. 《版面设计的原理》和 《色彩设计的原理》 是同一个系列,能学到很多关于布局的知识。

6. Designing for the web 包含了字体排印、配色和版式设计等多方面内容,值得一看。可以在线阅读。

7. Twitter & Twitter Bootstrap. 如果你可以把 Twitter 整个网站自己写一遍,一定会受益匪浅。

学习写程序虽然有时候也比较痛苦,但总体来说还是比较开心的,因为你能很快看到解决问题的成果。比如说,有时候程序因为少了一个分号而报错,当你通过调试改正了错误,程序立刻就会运行正常,得到你想要的结果。但是学习设计是完全不同的经验,你很难遇到“只要做了XX就会有XX效果”的情况。它的变量太多了,要完全控制这些变量需要丰富的经验和很好的感性,所以请多一些耐心,不要期望短期有大的进步。而这种耐心也是值得的:一旦你在这方面有所进步,它对你的影响就是全方位的,你不止可以做出好东西,也会在其它方面更有品味。

另外,技术和设计都是为了让自己做的东西更好用,它们都是为产品服务的,而不是要凸显自己的功能和地位。如果你通过努力终于掌握了一些设计知识和技巧以后,仅仅为了让别人知道你也懂设计就故意在自己做的东西里加一些完全不必要的“炫耀”,那真是一件值得羞耻的事情。

别忘记你的做事目标(转载)

原文链接:http://www.1982y.com/index.php/archives/176

最近一直在反省!反省很多的事!反省这一路走来走过的弯路和一直还在走的弯路。

03年的时候中国的SP刚刚兴起,我在朋友WZY的公司负责技术(我的第一份工作,之前我想自己做公司,但我连班都没上过,我认为我应该去学习一下),当我了解SP的前景后,我很快在03年底注册了我的第一家公司,希望能从短信上赚钱,刚开始完全没有经验,当时CHINAZ也已经有一定规模,而我却没有从中赚到钱,特别是在04年9月份中移动的整顿后整个行业基本上就完了,当然最终公司半死不活的就关了。从开始做,到04年9月,我大概有10个月的时间,现成的宣传平台(chinaz以及认识的一大帮站长),现成的系统(网站及联盟一整套),而我却没做成事,现在回想起来,我当时做了很多的无用功,一开始找办公场所,公司手续,招美工,招技术,花了很长的时间,快好了的时候,中移动大刀一砍,梦灭了。虽然我现在并不后悔当初没在上面赚到钱,毕竟当时“捞钱”都是靠骗网民骗来的。但是我还是觉得我应该好好反省这件事,我们经常一开始想做一件事,结果做着做着,居然把自己的做事目标给忘了,忽略了。程序,现成的不行,我们得重新开发,而开发起来总是一直遥遥无期,N多的BUG等着改,总认为还不能推出,最终,我们什么也没干成,04年,我23岁,每个人一辈子里只有一个23岁,我的23岁拿去交了学费。

05年5月,我们决定做一个免费统计(现在的CNZZ),从中国频道高薪招来了一个PHP程序员,我认为一个人应该就足够了,大概过了两个月,什么都看不见,不是因为人少,而是因为没这方面的经验,实在受不了这样的进度,05年7月18日,我找朋友买了一套现成的统计系统,然后把程序员辞了,因为之前不懂任何LAMP的东西,我上书店买了一堆的PHP,LINUX的书回来,我打算自学PHP和LINUX,无论如何要干成这件事(幸运的是有朋友的帮助我进步很快),终于在05年9月1日,CNZZ免费统计正式上线,一直在之后很长一段时间,大概到CNZZ有100台服务器的时候,还是我一个人在管理和改进程序。回头想,我认为这件事我做对了,我所有做的一切都为了目标而做,看着PV,1亿,2亿,3亿不段在往上涨,我很欣慰。虽然也走过一点小弯路,但至少我没浪费太多的时间。

大概06年5月,CHINAZ打算做个站长资讯平台,于是,写需求,招程序员,要自己写一套,开始干。几个月后,发现不行,系统太不完善了,没办法,硬着头皮上,还是不行,和主流的CMS平台差距太大了,07年4月,采用DEDECMS,重新上线,我们只花了不到一个月时间,开始正式做我们的站长资讯。回想,最终事隔一年我们才做出了资讯,我们居然做了这么多无用功,而这是多么简单的一件事,做资讯是我们的目标,而我们却绕了这么久。

说了这么多事,无非就是想大家记住,你做事的目标是什么?要时时刻刻都提醒自己,你离目标有更近一步了吗?有更近的路可走吗? 如何以更快的速度、更低的成本达到你的目标才是你最需要想的!朋友们,想想吧!

程序员们 不要想一辈子靠技术混饭吃(转载)

程序员们 不要想一辈子靠技术混饭吃
http://www.chinaz.com/news/2011/1101/217334.shtml

工作十年了,突然在家待业,找不到工作,真烦呀!
http://topic.csdn.net/u/20100702/09/24a04959-0a4c-4e13-a899-0d26eca28a8c.html
(希望自己10年后看到这篇帖子的时候还会很淡定)

好程序需要你写(至少)两遍
http://www.php100.com/html/itnews/PHPxinwen/2011/1101/9181.html