« September 2009 | Main | November 2009 »

October 27, 2009

关于RSS阅读器的一些想法

昨天在北京,去 douban 的同学那里蹭饭。youdao 的同学也在。

席间,我们谈及了 youdao readerdouban 9 点

我个人是 google reader 的忠实用户,就和许多 qq 用户认为,他们无法更换 IM 的是因为建立在 qq 上的社交群。我也承认,短时间我无法从 google reader 迁移到 youdao reader 。因为我实在是太依赖 google reader 的 friends share 帮我节省的大量时间了。

当然,这并不妨碍我给 youdao reader 提出我的建议,希望他们可以做的更好。去年用 email 写过一次,昨天在飞机上又想了许多,下了飞机便又给 zhoufeng 同学写了封 email ,整理了我的思路。

况且,说到用户迁移,我曾经使用 qq 五六年,在上面认识了众多好友,其结果是,我还是很自然的在 5 年前逐步放弃了 qq 。别轻易下结论说不可能。

总结一下我这次的建议,基本思想是这样的。

feed 这个概念是 rss 的核心思想之一。但是把 feed 订阅概念向大众推广确实是很难的一件事。但是做阅读器真的需要强制推广 feed 的概念吗?

在我用 google reader 的这几年,我的大量阅读其实是通过 friend share 的。在我看来,greader 也是在弱化 feed 的概念。毕竟,用户最终的需求是阅读到有价值的文章。目标是文章,而不是 feed 。用户需要的是有价值的文章,而不是有价值的 feed 。用户都不知道 feed 是什么,他需要这个干什么。

如果抛开文章的创作,那么整个 reader 社区我想把用户分成两部分,一部分是订阅原始 feed 的人,他们挖掘有价值的文章;另一部分是 follow 这些人的人,他们通过前者的过滤,保证了文章的质量,并对其做再传播。大多数情况下,每个用户身兼两种身份。

前几天 twitter 上看到一句:” 以前我感觉我能一辈子呆在网络上。不知从什么时候开始,看完GMail和GReader,我就不知道在网上还能干些什么。进而,不知道呆在计算机前还能干什么……。 “ 。作为深度greader 用户,深有其感。身边已经有不少同学抱怨信息爆炸,读不完 reader 上的东西了。

我相信有不少人如我一样,只订阅少量的 feed ,只靠大量推荐的文章就可以了解网络时间的各个犄角旮旯。

那么,我还需要 reader 为我做什么?

我希望有一个 Discovery 的功能,为我发现一些新奇的东西。不要是新的 feed ,那会使我的信息爆炸加剧。每次就是几篇新文章即可。

多一些随机,我不需要每日热文,我只需要根据我的阅读习惯和朋友圈的数据挖掘,加上多一些随机性,给我多一些惊喜。我也相信大多数人如我一样,并不排斥自己不熟悉的领域的高质量文章。往往可以借此开阔眼界,了解一些不同的观点和看法。不要因为愤青朋友太多,老是被推一些不和谐的东西,蒙蔽了自己的双眼,觉得世界一片黑暗。

google reader 依靠 gmail 和 gtalk 组织了高质量的朋友网络。依此可以挖掘出许多可能。网易缺少这个。(我们尝试过利用网易博客或是 popo 的好友数据,效果不佳)但是我们能不能尝试反过来做?通过产品来建立这种关系网。有如 douban 做过的一样。

相比较而言,douban 的基础要好很多,可惜九点没做好。我以前还大量的使用它,目前基本不碰的,感觉比以前差。

上学的时候我曾玩过一阵子人工神经网络。现在感觉,如果把用户看成神经网络上的节点,那么判断一篇文章的质量,就类似于去训练这个网络。再由若干这种网络给文章评分。

每个用户是可以分属不同的圈子(即不同的网络),适当的数据挖掘可以把用户分离开来。如果一开始没有数据的时候,一开始归成一个大圈子也未尝不可。

如果我们认为每天需要被评定的文章太多,那么正可以发挥 Discovery 的作用。把文章分摊给不同的用户去审定,由他们决定是不是有价值。当然不能给用户太大的负担,在无形中完成评定即可。一定要有一些预审机制,让用户拿到保证一定质量的文章。评分可以通过类似 google reader 中的 like /add star / keep unread/ share 按纽来完成。也可以只给用户展现一部分的内容,让用户继续点一下 more 来表达希望把文章读完的意愿。

如果我们能挖掘出用户中高质量的人肉过滤器(能给社区里其他用户过滤出高质量文章的人),那么就可以把这个事情做成一个良性循环。像我这样的懒虫用户,每天拿着手机去索取(或者由服务器直接推)新奇的文章就够了。如果我认可,我会把读到的有趣的东西在分享给朋友或是和我类似的人以及各种潜在的读者。

这其中的关键是,每次我们不能主动给用户太多的信息。对于新的 feed 来说,信息量还是太大了。当用户逐步接受了这些,再给用户介绍 feed 等等概念,才是比较自然的事情。

October 16, 2009

神啊,C 终于开始支持 closure 了

不支持 closure 的语言用起来真是太难受了。

前段时间有同事在用 boost 的时候想用一个匿名的 struct 实现一个 functor 模拟出 closure 来用。可耻的失败鸟。迎接他的是一大坨的 template 编译错误。我这个久久不碰 C++ 的碰观者就有机会在一旁幸灾乐祸了。固然这是因为对 C++ 语言的犄角旮旯认识不足导致的,若是早几年,说不定我还拿这个作为招聘的高级笔试题呢。现在,我只会指责,语言怎么可以设计成这样。

给语言加新特性并不可怕。因为我们最终是要用语言解决问题的。

Apple 给 C/C++ 加的 Blocks 扩展就是这么一个好东西。

简单说,就是给 C 加了一个 closure 的支持。

这个东西不太可能用纯粹库的形式提供。(即使 boost 提供了多么神奇的方案来模拟,终归是有先天缺陷的)

clang 已经支持了 blocks , 并提供了相关 runtime 。gcc 貌似也将加入。

至于 vc 等等,我就不关心了,很多年不用闭源的编译器。

October 15, 2009

C/C++ 与 Lua 的混合编程

这个是我将在今年 SD 2.0 大会上进行的议题的演示稿。最近太忙了,国庆期间在家写的草稿。

C/C++ 与 Lua 的混合编程

有兴趣的同学可以看看,没兴趣的请无视。

另外我会作为嘉宾参加 SD 大会的一个所谓算法论坛。还不知道谈些啥呢。

October 01, 2009

做了一张壁纸

tifa

放假了。

我的本的桌面分辨率是 1600x768 ,壁纸很不好找。所以从 google 上搜罗了点素材,自己做了一张。今天算是正儿八经的用了一次 GIMP ,还不错。以前对这玩意老没有爱,感觉手感非常差,许多细节都考虑的不好。我从 Windows 3.1 的年代就开始用 Paint Shop Pro ,(注意:不是 Photo Shop,谁让我先接触的前者呢)。比如我喜欢它的滚轮随时缩放图片的设计,总是能把鼠标位置的图象区域居中。在 GIMP 里缩放是学的 PS 的操作方式,但一不小心,操作者关心的热点就飞了。或者是我还没适应用它吧。GUI 软件的小细节也的确不好调。

话说回来,gimp 功能还是满全的。虽然菜单分类方法我暂时不太习惯,但我适应能力还是不错的。大约用了半小时就强迫自己记忆了。

本本的 atom cpu 的确不怎么样。处理 1600 宽的图片还是很吃力的。平面图象处理也是满耗 cpu 的了。我多开了十几个图层后,甚至有时反应迟缓到干扰操作的地步。希望 6.32 的 kernel 能真的对桌面应用有所改进。(前几天折腾 bfs 可耻的失败鸟)

从素材里抠图的时候,想到以前好象也老干这事。貌似早些年还帮忙弄过大话的海报呢。当时是用周星星的照片做的。这剪剪拼拼的活儿还真没啥技术含量。修轮廓就是一体力活。我总觉得以后一定能写出软件来自动处理。为啥现在的软件就没做到这么智能呢?

噢,头发我一直没找到很好的方法抠下来。所以一直是用笨方法,最后直接用鼠标画。嗯,这张图上 tifa 下巴下的头发就是我手绘的 :D 感觉还凑合。atom 的 cpu 那个慢啊,导致鼠标画的时候反应很迟钝,真是折磨人,发丝画的也不太流畅。

这是第三稿设计,自己还挺满意。:D 光线不是很对,懒的去修了。