与互联网产品设计有关的讨论 (二)

Jeff刚刚仔细读过《赢在用户》-WEB人物角色创建和应用实践指南,书评可以到豆瓣看看: http://www.douban.com/subject/2157554/ 他说,我们现在缺乏一套用户角色模型。这本书里面提到一个网站首先要建立起一套对应的用户角色模型,知道自己要给哪些用户提供服务,然后再根据不同类型用户的需求制定项目优先级。如果没有这套模型,那么我们会总是遇到这样那样的产品问题,针对这些具体问题的讨论将会永无休止。因为这样的讨论不是基于一套被每个人都认同的概念标准的。 比如,Jeff用1天时间搞了几个单机版的Flash小游戏,作为一个“游戏”模块挂到“应用”分类下面。我觉得,这项功能跟我们的网站毫无关系,没必要在这上面浪费时间,哪怕是1分钟都不应该。而Jeff说他确实听到了用户有这方面的需求。 这就是问题的根源,我们的网站要做什么?要给谁提供服务?想玩游戏的用户是不是我们的“重要”用户? 如果我们确定好了用户角色模型,统一了意见,知道我们主要为谁提供服务,那么这个问题就好解决了。 他还提到,当网站增加了一项新功能时,会给四类用户带来不同的反应(我记得大概是这几种): 迫切希望网站增加新功能,不管是否和网站主题相一致 增加的功能正好是用户锁盼望的,这样会应得用户的好感 增加的功能是用户不愿意看到的,会让用户产生反感 用户不在乎你增加什么功能,他需要的已经有了,对其他功能无所谓 当时是吃饭的时候说的,印象中是这几项。 这本书我没看过,我今天要说的也不是书里的内容,我是有另一种感觉,需要我用插叙的方式引入我对“规律”二字的看法。 写这类书的作者,大部分都是对书中内容所属的行业有很长时间的工作经验。他们应该是把这个行业的规律都看透了,已一种“过来人”的角度来总结自己的经验。 我举个例子,Yoyo总爱看跟星座有关的内容,她认为说的都特别准。以前我看的时候,也觉得似乎很准。现在我却发现了这类内容的一个规律:一个星座的人,所谓的性格特点,都是说那些优秀的性格,比如说你这个星座的人做事很细心,很谨慎,很有风度,很会为他人着想,有时候比较任性……。其实他说的这些性格,是每个人都会有的性格。我们可以做一个测试,找一个不是经常看星座的人,我们给他看一套特殊的星座性格特点,还是分12个部分,只是每个部分只有性格说明,没有所述星座说明。然后让他说哪个部分说的是他所处的星座。估计没有人能答对。 […]

带链接的 img 标签不宜应用 margin 或 padding 样式

上述5个配图,分别是IE6、Firefox3、Opera9、Safari3和Chrome浏览器下的不同效果。 应用场景是,图片有链接,HTML片段是: <a href=”…”><img src=”…” alt=”…” /></a> img 标签有样式表定义,为了使图片与周围的内容有一些间距,我加入了 margin 定义。 加入之后,在现代浏览器中,会出现上图中显示的蓝色 hover 块与图片不匹配的情况,在这点上,IE6、IE7都能正常显示。 定位问题用了很久,最后发现是 […]

与互联网产品设计有关的讨论 (一)

以前只是搞程序开发,不太关注产品设计,现在要开发一个产品,就要转换一下自身的角色,从用户的角度考虑问题。 随着讨论时间的增加,我对一个产品的理解,对用户定位的理解,都有了很大变化。 今天是这么看待问题,十天后,观点可能完全相反了。 所以有必要把每天对某个问题的看法、思路落实到字面上,保存下来,以备日后的反思、参考。 先说说一个月以前,我觉得,一个SNS网站,就应该像开心、海内和校内一样,只做18-30岁这个年龄段的网民需要的产品,因为这部分用户是中国互联网的中坚力量,占了绝大部分比例。 作为一个刚起步的网站,用户从零开始积累的时候,应该放下自己的特色,放下自己的品味,把热门网站的热门功能,抄袭过来,说句俗话,先“圈人”,等有了一定数量的用户后,再推出自己有特色的产品。 看似挺有道理的一个观点,当时我还挺坚持的,认为这个就是真理。 一个月后的今天,我觉得这种做法是错误的。 随波逐流,是不会被用户认可的。先不谈那些热门网站已经先入为主,就说当SNS这股风潮一下子涌现到人们面前的时候,大家会产生一种SNS疲劳,这么多网站,都是一样的模式,一样的界面,一样的游戏,唯独不一样的是在每个网站都有各自的朋友圈,经常性的是一个朋友,要在三个网站都加一次好友,而另一些朋友,都在不同的网站注册,我想跟某个人联系之前,先要努力回忆一下这个朋友是在哪个网站加为好友的。甚至是当我收到过某个朋友的消息,过了几天再想看看时,实在是想不起来在哪个网站看过的。 渐渐地,我怕了,看到一个网站注册时填那么多信息我就烦,总是重复地做着相同的事,也没有从中得到什么有用的帮助。 现在的情况是,中文名叫开心的网站有4、5个,中国人就擅长搞“山寨版”,这东西搭起来也容易,UCenterHome就可以直接用,换个图片和皮肤,一个SNS就搭出来了。 就好像06年大家都玩儿视频一样,看看现在这些网站都什么状况?几家加一起估计有几个亿的资金,都投入到服务器和带宽上面了,是他们扶持了中国IDC的发展! 据说六间房要换办公地点了,优酷的情况也不是很乐观。记得北京台有个CEO访谈的节目,邀请李善友,我印象最深的一句话:在中国做视频,没有一个亿就别玩儿了。 相比,SNS的成本应该还低廉的多,所以跟风的就数不过来了。一个行业里,赚钱的就是带头的那几家,优胜劣汰的自然定律是地球上永恒的真理,没有创新的跟风者,遭到淘汰是必然的,剩下的就是根据你忽悠VC的能力决定着你烧完资金的时间问题了。 我也是受到Jeff的启发,他提到了宝宝树,这个专注于母婴的网站,让我认识到跟风是个错误的方式。 […]

PDO Quick Guide

Book: PHP Data Objects Layer (PDO) Author: Ilia Alshanetsky Download: http://down.leakon.com/software/2008/11/quebec_PDO.pdf 其实这不能算是一本书,只是一个用于演示的文档,算是一个大纲。 这个简明扼要的大纲告诉你什么是PDO,为什么推荐你在PHP5中使用PDO作为数据库操作层的封装接口。 不仅更安全,而且有更好的性能,用起来更简单。 我在做一个数据库ORM接口,参考了Propel和Doctrine的设计思想,并只针对MySQL5,不做任何框架性或通用数据库的考虑,完全是为了简单、易用和高性能。底层数据库操作依靠PDO完成。 敬请关注~~

Javascript 字符串 数字 浏览器 性能差别

我在做一个 Javascript 版的公历农历转换程序,功能完成后,需要对性能做优化。计算算法是在网上找的,原作者对历法的转换很精通,但对程序性能没有仔细考虑,当计算量大的时候,会给用户的浏览器造成很大压力,给用户的感觉就好像浏览器假死一样。 我花了2天时间在性能优化上,并在不同的浏览器下做对比测试,发现一个比较重要的差别,IE、Firefox 和 Chrome 之间的区别很大。 通常,生成一个月的日历,最多需要计算42天(可参考Google Calendar,每行代表一周7天,最多可能有6行)。 性能测试的时候,我让程序连续计算3年,共36个月,1000多天。 总的运行时间是: IE7: 2.828 s Safari3: 1.016 s Firefox3: 0.885 […]

IE6 float 显示异常 消失问题 解决方法

上一篇日志中写了 IE6 对 float 元素显示不正常的问题,现在找到了一个解决办法。 测试了很多次,发现跟 margin 和 padding 没有直接的关系,本质的问题根源在于,包含 float 元素的外层 div,没有设置足够的宽度和高度,也就是说,这个容器没有足够的空间用来显示内部所有的 float 元素。 […]

IE6 float 异常 消失

IE6 浏览器对 float 属性的元素显示不太正常,经常遇到的情况是,打开页面,发现某个区域的内容是空的,什么都不显示,但鼠标移动到那个区域,或者附近的一些区域时,那个空的区域立刻显示出原有的内容。 另一个 case 可以称之为“鬼影”,现象是,某串文字,会在 2 个位置同时显示,如果有 hightlight 效果,那么任凭你把光标放到二者任意一个上面,另一串文字也会立刻高亮。 以前对这个问题很抓狂,也没有总结出一个很好的解决方法。 今天又碰到类似的问题,查了一下 Google,有人给出一个结论,当某个元素有 float […]

Google 把国内的企业邮局提供商逼到了生命的尽头

你有自己的域名吗,比如 example.com? 想不想给自己搞一个邮件,例如:genius@example.com 或 tiancai@example.com。 给你自己的家人和朋友,分配一个超级个性化的邮箱? 你的女朋友可能喜欢:beauty@example.com 或 meinv@example.com。 你的父母也想尝试用用互联网,那给他们开通一个好记的邮件:baba@example.com、mama@example.com。 …… 尽情发挥吧。 现在域名是如此的便宜,cn 域名现在注册费用是第一年 8 […]

PHP 文件下载 IE 无法打开页面

IE 又有一个弱得不行的问题让我发现! 有个项目,要限制文件的下载权限,只有注册用户才可以下载,用户登录后,点击下载链接,弹出保存附件的提示。 我用 PHP 写了一个下载类,支持断点续传的。 今天发现一个问题,在 IE 7 下,点击链接,可以弹出对话框,提示 “打开”、”保存” 和 “取消”,点击打开没问题,点击保存,却马上弹出错误提示 “该页面无法打开”! 这时可以注意到一个细节,弹出保存对话框的时候,正常情况下窗口左边会根据文件类型显示图标,而此时却是一个没有类型的默认图标。 […]

更新 Blog

今天顺利把blog更新到最新版本。本来早就想做了,一直没有找到足够的时间验证。 借助于我最近开发的一个web版的命令行工具(虚拟主机 SSH),把主机上的程序文件夹打成tar包,下载了回来。 又把数据库导出成sql文件存到本地。 在自己的机器上重新搭了一套blog环境,和线上版本完全一致。然后用新程序覆盖老程序,并执行upgrade程序,顺利升级。更换了现在这套模板,同时下载了最新的防止垃圾评论的plugin。仔细检查了一番,没有发现问题。 最近一直有一些做事方法上的心得,也好长时间没写blog了。 就说说这干活儿快与慢的问题吧,我是写代码的coder,工作上的项目安排,一般都有时间排期,定好了某天完成开发。但我总是会比预想的慢,总是不能按时完成任务。 这样的次数多了,我就觉得我自己很笨,为什么别人都能很快写完程序,我就不行呢? 每当看到有人晋升,老大们给写评价时,都有工作快速这么一条,而且一般工程师的评价标准中,如果能提前完成任务,都会有更高的评分。 我怎么就不行呢? 最近我接手的项目,出现的接二连三的bug,都是以前的开发人员遗留的,让我吃了不少苦。不过通过解决这些问题,我也看到了我开发速度慢的深层原因:我不是为了完成任务去coding,我是为了把一件事做好。 前一阵写了一篇wiki,是关于php的pack函数性能调研的,经过优化,调用pack的性能可以提高4倍以上!!! 但是,为了这个性能调研,我花了1天多的时间。 本来,如果不考虑性能,我直接写一行pack调用就完事儿了,用不了1分钟。 事后,没有人会知道,我的程序的运行时间从8小时变成了2小时,大家只知道,我比原计划晚了1天提交程序…… […]