要回家,就加了一个漫游计划,一个月3元,不错。还加了一个动听计划,10元。
大概是最近一段时间打电话比较多,花费也比较多,移动上次发短信问我问题,回复就送花费10元,今天又送了30.
另外看了一下动感地带的小册子,里面有个超级畅听,15元,本地接听500分钟加10M上网流量。然而动听计划加上网套餐也是15,两方面都比超级畅听好得多,不明白它还有什么理由存在。大约现在就是这么多SB的事,专门为SB准备的?
要回家,就加了一个漫游计划,一个月3元,不错。还加了一个动听计划,10元。
大概是最近一段时间打电话比较多,花费也比较多,移动上次发短信问我问题,回复就送花费10元,今天又送了30.
另外看了一下动感地带的小册子,里面有个超级畅听,15元,本地接听500分钟加10M上网流量。然而动听计划加上网套餐也是15,两方面都比超级畅听好得多,不明白它还有什么理由存在。大约现在就是这么多SB的事,专门为SB准备的?
昨天在修改以前同事写的JavaScript代码时,看到里面有这样的写法:
location.load(’/foo…’)
以此跳转到新的页面。
当时心想,哟,看别人代码就是有收获,又学到新东西了。于是修改的过程中,我也尝试用这种办法,一方面我可以copy原来的代码,另一方面,这种办法比起window.location.href = ‘/foo…’的写法要好看一些嘛……然而代码跑起来的时候却发现,location对象根本没有这个方法。原来,这位同事是看到location有reload(查一下标准)这个方法来重新载入当前页,就认为载入一个新页面应该有个方法为load,以一个字符串为参数。
记下这件事,并没有丝毫冷嘲热讽的意思。从程序语言设计的角度来说,这种思想是很合理的:为location对象的href属性赋值,应该只引起该对象属性的变化,而不是引发一个动作;而要想使浏览器加载新的页面,应该由一个方法来完成。然而,不论怎么合理,都不能想当然地这样写代码,这已经超出了写代码的范畴了,这是在设计语言。我也不应该看到这样的代码就想当然地认为有这样的方法,至少,google一下就知道它不存在了,万幸的是这个错误被及时地发现了。
还有一件事,在看到有人用system.out.println方法debug代码时,我经常会指出,除非万不得已,尽可能用IDE的Watch之类的功能,打印的函数很有可能被遗忘在代码中而不被删除。我是个比较自以为是的人,也很理解对方不以为然地说,没关系,完了都会删除的。我很不放心地走开,然而事后经常证明我的担心是对的,检查代码时,还可以看见许多的println debugger完好地留在代码中。
总之,虚心是很重要的一个品德,如果实在以下问为耻,可以Google啊,baidu啊。看到这些事情,在为别人惋惜的同时,我也把它们当作镜子,反观自己身上是不是有同样的缺点。对别人宽容,对自己严格,又是更难做到的一件事情。
前几日在友贴上,一位新用户注册时我加了他为好友。不一会就在我的朋友动态里就发现他发起了一个调查,于是我就去参加了他的调查。此时他应该最多只有我一个好友,然而我参加了他的调查之后,加了我为朋友的用户们就在他们的朋友动态中知道我参加了这个调查,于是许多人都跑去参加调查,如果有足够多的用户,这可能就是一个链式反应的效果。这种效果对于用户的交流有切实而有效的促进作用。自己创建的信息有了这么多的参与者,新用户在心理上得到很大的满足,积极性得到提升,圈子也便容易扩大,他就更容易融入这个社区。
Facebook的Mini-Feed,可以说为Facebook的崛起立下了汗马功劳。用户利用网站提供的API定制各式各样有趣的应用,公布后,只要最初有几个用户参加,如果确实有意思的话,通过Mini-Feed,用户数量就会以指数级的形式增长。
在Digg的这次改版之前,我不知道有没有Friends’ Activity这个栏目。反正在改版后,我注意到最大的变化便是它把朋友的动态放在了页眉比较显眼的位置。这吸引我通过导入Gmail的地址簿来寻找朋友。
导入地址簿后,我发现许多Gmail联系人都已经是Digg的用户,甚至某些头像便是我熟悉的,于是我挑了几个熟悉的人加为朋友(我的联系人并不多),大约不到10个吧。然后让我感觉有趣的事就开始发生。
很快我就收到数封来自Digg的电子邮件,告诉我某某已经加我为好友,(你们现在是真正的朋友了!)此时我就回到Digg去刷新朋友动态页面,发现在短短的十分钟内,我刚加的几位朋友达到了非常活跃的程度,产生了许多新的动作,都呈现在我的朋友动态视图中。
大部分都是加了我为朋友,然后他们就看到我刚才有个动作加了一群好友。于是除了加我为朋友,有的用户还加了我的某些朋友(也就是他的二度好友)。有的用户开始更新自己的头像,还有的用户也通过导入地址簿的方式找到一群好友。他的这群好友又会有怎样的动作呢?我没有继续去追溯,不过可以想象,这是一个爆炸式的信息产生过程。
在这个过程中,参与的许多用户在Digg上本来不是特别活跃的,有的甚至数月未有过动作。毕竟Digg不像一般的社区网站,有很大的黏性,大多数用户都只是上来看看有趣的事情或者头条新闻。此间就是Email起了推动和联系的作用,Digg将重要的信息(比如有人加你为好友)通过Email的方式通知给用户,促使我们上去交友并发现朋友们正在关注的新闻以及其它动作。看来Email仍然是人们交流的一个重要的有一定优势的渠道,Email营销是相当有意义的。
正如核能一样,链式反应不光带来巨大的能量,控制不好的话,更可能带来灾难。
对于用户来说,朋友圈不能无限制地扩大,否则朋友的动态便成为一个非常巨大的信息库,让他找不到真正的朋友及其动态,这就是灾难。即使朋友圈的大小在正常范围内,也有可能存在特别活跃的朋友把不太活跃的朋友的动态淹没的现象,而我们更关心的,可能是不太活跃的朋友产生的少量信息,活跃朋友的信息的权重会低一些。有了可控性,朋友动态才会为SNS带来真正的活力。
在Google Reader通知插件中,Google Reader Notifier一直是最好的一个,我一直用它。
但RSS的notifier只适合少量订阅的情景。像我现在订阅的RSS随着时间推移不断地增多,几乎每半小时都有许多更新。我又是那种看见那里有个未读数字就感觉不爽的人,于是不停地打开看reader,浪费许多时间。
从必要性上来说,RSS毕竟不是邮件,至少对我来说没有那么重要。
只好把它卸载了,以后每天没事的时候集中看个一两次就行了。对于那些订阅RSS很少的用户,仍然很推荐这个Firefox插件。
在摸到iPhone之前,我一直觉得那些排队等iPhone的人是疯子。不过昨天一位朋友拿来iPhone让我玩了一下,真是太爽了。
从外观到软件界面到操作方式的设计都是一流的,图片、网页的手指操作缩放,微软所谓的Surface Computer应该是从此借鉴而来。对JavaScript的良好支持,浏览一般的网站没有问题。
实际上功能很简单,比现在几百块的手机功能都少。然而用完后只能说,太酷了!有忍不住想买一个的冲动。朋友劝我这几年攒点钱,攒钱买房子吗?还早呢,呵呵。正好iPhone大降价导致Jobs公开道歉,我真想……还是忍忍!
起初这位朋友问我的时候,我还说等gPhone出来再说。看到iPhone后就想,可能Google在服务上会好过Apple,但设计上不大可能超越。在iPhone的软件中,就带了Youtube和Google地图两个服务,可见它们已经有比较密切的合作。
有弱智指出”Google开发手机注定要失败“,这是不可能的。不过假如Google推出了手机,可能多数人就会走实用主义的道路,对iPhone的市场也会有影响。但是Apple所针对的用户,正式那些愿意为领先的设计和超凡的体验付出代价的人们。
今天上了Google Reader,注意到两个改变。一是Offline那里没有了“New”字样,一是Ajax加载的Loading改了样子。
可是我却没有注意到它的最重要的改动,顶上竟然有了搜索框!直到看到了Google Reader Blog的日志。
桌面软件是不能比的,因为它的历史记录非常有限。其它的Online reader?我觉得不可能超越Google. 没有理由再用别的RSS阅读器了,除非有一天我们拯救了全人类,实现了和谐世界。
除了搜索,左边栏可以隐藏了,另外加了浏览器历史记录管理,可以前进后退了。
其实我是通过twoiron才知道辛普森一家的,首先是他的头像,然后是他的一篇日记里贴了一段Lisa和Homer的对话。之后很快我就看到消息说这个1989年就开始放映的动画戏剧要搬上大荧幕,非常期待。
看完之后的感觉就和当初看完Ice Age差不多,同学来了就打开给他看,逢人便强烈推荐,不愧是待客、送礼的上品:)
辛普森一家是住在Springfield的一个怪异、畸形、变态却招观众喜爱的家庭。故事以他们为主角,以环境污染为主题展开,幽默、诙谐和小小的讽刺充满了影片的整个过程。
故事还没开始,就开始给人以幽默、讽刺的感觉。在20th Century Fox的logo片段中,故事中的人物Ralph Wiggum从0字中走出来,叫声代替了我们已经习惯了的音乐。然后画面开始播放猫和老鼠的片段,Homer站起来,后悔自己竟然买了电影票来看可以在电视上免费收看的东西,然后说每个电影院里的观众都是”Giant sucker”,手指指向观众,”especially you!”。这也是制作者向观众表明了他们将电视剧搬上荧幕的勇气。
随便挑几个片段:
总之幽默到处都是,看的时候一定要从头到尾,连最后的制作组人员表也不要错过啊。
Homer将一头差点被宰掉的猪带回家玩,后来差点跟它接吻,再后来猪屎酿成了大祸。中间有一段Homer让它在屋顶来回走,一边模仿spiderman主题曲唱:
Spider-Pig, Spider-Pig. / Does whatever a Spider-Pig does. / Can he swing / from a web? / No he *can’t*, / cause he’s a pig. / Look out! / He is the Spider-Pig!
再后来Marge让Homer去处理猪屎:
Marge: You can take Spider-Pig with you.
Homer: He’s not Spider-Pig anymore, he’s Harry Plopper. (画面出现戴了眼镜的spiderpig)
有的观众禁不住问,Spider-Pig后来怎么了?(What happend to Spiderpig/Harry Plopper in the Simpsons Movie?)它最后一次出现,是辛普森一家通过木板逃走时,人们开始射箭,这头猪把木板推了下去。至于后来它怎么了,谁也不知道,也许是被人给宰了吧:( 这里有一个视频教你怎么画Harry Plopper:
前阵子有个在美国的老同学想买车,但是craigslist.org上的信息太多了,他想把输出的RSS过滤一下,比如只看包含”Toyota”的信息,问我有什么好办法。我一下就想到了Pipes。不过虽然当时我看到了Yahoo Pipes发布的消息,却没有自己去体验一番,只看到有些人用它做了一些过滤、合并后的feed。这次朋友问,顺便自己去试试吧!
点击了“Create a pipe”之后,真是一种惊艳的感觉(它是用yui做的)。这时我才发现Yahoo! Pipes的精华原来在pipe的创建:
在Pipes推出的时候,说它借用了Unix pipe的概念。不过不懂Unix pipe可没关系,在这里,管道的概念是如此的直观,你根本不需要自己写”xxx file | grep …”这样的命令。只要提供你的数据源,通过鼠标的点击、拖拽设计出自己的逻辑,一个pipe就出来了。你可以想象自己是一个技艺精湛的管道工,水该怎么流,什么样的物质需要保留,什么样的物质需要去除,只要想好了,就可以熟练地铺设好管道。
朋友用了这个东西之后感觉很好,说Yahoo! Pipes才让RSS变得真正有用了(当然他还有一点不甚满意就是即时性,一个hot deal可能几分钟就已经成交,而RSS更新的间隔远远大于这个时间。这个延迟有多方面的因素,包括网站本身、Yahoo! Pipes、在线RSS阅读器等)。
然而让我兴奋的并不是这个过滤的结果,而是生成pipe的过程。以我这样传统的思维来设计这个应用,可能是一个向导式的界面。第一步,选择数据源;第二步,选择操作;第三步,预览或完成。如果你在第二步想修改一下数据源,如果在第三步想修改一下operator,都得返回之前的界面,多么繁杂!这样的话,pipes肯定不会有这么大的影响力。
Yahoo! Pipes的UI/UE可以说做到了极致,在一个界面中融合了这么多的元素而不显得杂乱无章,让人无所适从。随时可以修改任意模块的设定,反而让人觉得极其方便、直观,这也许是人们为什么愿意使用pipes的原因。
桌面程序都少有做得这么方便操作的。微软一直想让爷爷奶奶都可以像搭积木一样编写程序,他们把IDE做成傻瓜式的,托托拽拽一个SQL数据库连接就出来了,一个窗体程序就生成了。然而某些用这样的傻瓜式IDE写出来的应用程序,用起来比写程序都难。Yahoo! Pipes可以作为桌面应用和RIA的一个榜样,推荐所有感兴趣的人自己做一个pipe感受一下。
一个优秀的软件或应用程序固然需要优秀的创意、架构和算法,但是用户界面和体验也非常重要。Yahoo! Pipes的成功,固然有稳定、快速的服务器端程序支持为基础,但我认为主要功劳在于界面。