|
 
- 帖子
- 11477
- 精华
- 413
- 积分
- 33054
- 最后登录
- 2010-1-21
|
1#
发表于 2009-10-30 10:41
| 只看该作者
昨天,jQuery的创始人John Resig怒气冲冲地宣布,不再使用Google Groups。
* Z0 V6 _* u, K他写了一篇长达2000个单词的文章,详细解释了为什么。请注意,2000个单词啊,打印在A4纸上,足足有三页。像他这样炙手可热的顶级程序员,愿意坐下来,写那么长的文章表达不满,可见真的是忍无可忍。0 {& E$ j7 g _
我也是Google Groups的用户,他所说的那些问题,我都遇到过,所以对他的抱怨深有同感。下面我就谈谈我的看法。+ Y8 x. s. J2 ?# f$ e0 e& r: V' J
& [, t5 r1 F( U7 X/ _- v: T) \6 }8 D" w: x
一、Google Groups是什么?
9 D1 w+ D0 ^8 Y P7 P为了帮助那些不熟悉这个话题的朋友跟上后面的讨论,我先简单介绍一下Google Groups。
0 i- Q2 U' d6 b4 q' q& m" E它是Google公司提供的网上论坛服务,你可以利用它,快速架起一个多人讨论区,在里面发起新的话题或者回复别人的话题。更妙的是,它还有邮件列表的功能,可以用Email,张贴自己的发言或者接收别人的发言。0 l5 Z2 D7 g# _! W$ H1 ^
当然,从网上论坛的角度看,它的功能是比较弱的,与流行的论坛软件没法比。比如,它不允许对话题分组,因此没有板块功能,而且你不能在发言中插入图片,唯一的办法是发送附件。此外,它也不提供数据导出功能,基本上只要你使用了,就等于把所有数据都送给google公司了,自己没法再利用。! k- A2 j5 h2 ]
但是不管怎么说,它提供了基本的讨论功能,而且出于我后面要谈到的原因,大家依然愿意使用它。( l4 I7 z: B) A$ o4 D4 ~
另外,我也必须提一句,它别的功能也许不行,但是全文搜索功能绝对强大,不愧是google出品。
: s' u2 a1 j) e! R$ K1 `7 S3 ^(插入语:Google Groups在国内好像被屏蔽了,有时就连加密的https连接都会断。欢迎大家告诉我,当地是否可以正常使用这项服务。)% U' K' m5 S( k; G' ^
二、Google Groups最大的缺点
0 T) `( b8 R ` b$ G" a: ~: RJohn Resig最不满的地方,也是其他用户最不满的地方,就是Google Groups里面的spam(垃圾帖)实在是太多了。
/ L& r( P1 l# M* p我开设的讨论组基本上无人知晓,但是每天也会收到2~3条spam,不知道这些人从哪里找到我的网址的;John Resig开设的讨论组有2万个成员,属于著名讨论组,你可想而知他每天要收到多少条spam!
% n- P8 \; T" N$ m更可气的是,一旦收到了spam,你毫无办法,只能一条条手工删除,然后第二天还会照样收到。想一想吧,让一个顶级程序员,日复一日,手工对抗灌水机的进攻,将时间浪费这种事情上面,怎能不让他郁闷呢!
N }* _/ \* O D; p$ q真难以相信,Google公司就听任spam横行,不提供任何有效的过滤措施,你唯一能做的,就是打开审核设置,在帖子发表之前对它进行审核。难怪John Resig要质疑,为什么Gmail可以自动过滤垃圾邮件,而Google Groups就做不到呢?这算不算产品歧视呢?
) `0 I6 K4 q' b# h好吧,在走投无路的情况下,你只有打开审核设置了。但是,这样做虽然可以净化讨论环境,但是却让整个事情变得更糟了。首先,你的工作量增大了,你不得不手工批准每一条发言;其次,用户的感受变差了,因为没有人喜欢自己的发言被审查,有的用户可能会因此攻击你,与你大谈美国宪法第一修正案;最后,假定你的讨论组非常受欢迎,每过五分钟,都有用户从地球的某个角落跳出来发言,那么你去睡觉的时候,谁来审核呢?你只能任命一些管理员,让他们按照时区顺序分担审核责任,并且为他们制定出统一的审核政策,这就让论坛的管理和人际关系变得复杂了。2 F) L1 m0 T; E- N6 L, f4 l
所以到头来,只能有两种结果,一种是你被累死了,另一种是你将论坛设置为封闭式,只有经过批准的成员才能加入和发言。" O5 D0 n1 z* `0 Q( E
两种结果都无法接受,John Resig只好选择退出了。
, D" I1 A! a- I& ]/ \/ ^2 ~& B7 p3 R三、项目开发者需要什么?
: k# f9 Z) y1 e! c- A当你开发出一个项目以后,你需要有一个地方,与用户直接交流。用户提出问题,你来回答,就是这么简单。这就是你需要网上论坛提供的所有功能。Google Groups那么简陋,大家还是愿意用它,原因就在这里,因为你不想为了这么单纯的需求,自己去架设一个全功能的论坛。4 Y) ]( U. k1 A8 _$ T4 m
试想一下,如果你自己搭建一个论坛,要干哪些事情:
; r8 B$ J3 J% I- A3 d1)你要选择一个论坛软件,但是一旦用上以后,就等于被绑架了。论坛软件的每一次升级,你都必须跟上;如果将来你想改用其他软件,或者原来的软件停止开发,你就要愁死了,因为这意味着,你不得不自己写程序去转换数据。1 q6 ~1 T+ G; n" a! R
2)你要架设一个后台数据库,通常是MySQL,这就是说,你又多了一项管理数据库的任务。要知道世界上有一种人叫做DBA,他们的全职工作就是管理数据库,经常有半夜三点被叫到机房的经历,所以管理数据库真的是一种费心费力的活,不到万不得已,你千万不要把这种活揽到自己头上。7 e9 h, _8 z; l% \8 l, ?
3)你不得不绞尽脑汁,将每一项论坛的后台设置都设好。我最喜欢的论坛软件叫做vBulletin,它的后台设置多达2000多项,大部分我从来没有搞清楚过。我曾经设想,要是我把每一项设置都搞清楚,我就可以去开一家VBulltin的咨询公司了。0 G; t8 t8 l9 p5 K# _$ E
所以,如果你选择自己架设论坛,你的精力就会被分散,你用于开发项目的宝贵时间,就被论坛的维护和管理消耗掉。
/ |+ k1 \- w, `8 B' U) w" b& v你的初衷只是要找一个可以与用户对话的地方,没必要把一切搞得这么复杂。既然使用Google Groups,能够在5分钟里搭好一个网上论坛,那么大家当然就去用了。遗憾的是,Google这个产品并不理想。3 }6 F: e3 q8 p
四、论坛软件的尴尬之处
" L6 [* q/ ~3 r' nJohn Resig的烦恼,在更深的层次上,我认为反映了论坛软件在开发上的困境。5 T3 o4 ?5 q$ [; n- F4 N
今天的论坛软件,在模式上与10年前没有本质区别,主要功能和运作模式都是那时定下的。以国内市场占有率最高的Discuz!为例,最新的版本是7.0版,但是实际上它同最早的版本相比,除了功能更强大以外,没有太大的区别,两者都是在做同样的事情。
. F( m7 C! Z+ B$ w我不是说现在的论坛模式不好,而是说这种模式不适合进一步发展,所以开发就走入了死胡同,只能做功能的增强,而不能做模式的创新。7 _, h. z3 ]- O' y; d1 {5 j) y
现有的论坛模式不具备可扩展性(scalable)。由于对数据的实时性要求太高,导致不能对论坛软件使用缓存,这就是说,基本上网上论坛都是一个单机系统,CDN和反向代理都用不上。单机系统的结果,就是论坛软件不可能负担太多的访问者。像vbullentin这样的软件,同时在线人数不能超过10000~15000人,否则就会有性能问题。不用打听你就知道,10000多人属于访问量比较小的网站,所以论坛都做不大。6 n, L; a' E$ y7 Z
如今的时代是Web 2.0的时代,它的特征包括提供API接口、前台界面的多样化和去中心化等等。Facebook和Twitter,都不把自己称为网站,而是把自己叫做平台,意思就是说,我只提供基础设施,随便你怎么造房子。我就常常想,论坛的2.0时代什么时候到来呢,会是什么样子,又怎么来实现呢?
2 {: ] U$ A/ F) ]) ~3 i7 }# D5 ^2 L五、论坛软件可能的创新之处' X$ H- ^3 T- G4 X& A1 n
我记得,以前看到过有人提议,可不可以基于BT下载的模式(或者点对点协议),做出一个论坛。这样做的好处是,数据在用户之间进行交换,这样就不存在中心服务器了,因此论坛可以做得很大;坏处是一条发言想被所有人看到,也许有一个很漫长的数据交换过程,即时的对话和讨论基本上不可能发生。退一步说,usenet就是一个去中心化的讨论区,的确规模非常大,但是大家也知道,在上面讨论问题,效率不高。
9 n3 X9 ?" D, Z, i7 O$ Z5 W- Y& F我设想中,未来的论坛应该提供这样几个功能:
# _- A* f* Y8 T- H1)支持openID,这样就省略了注册步骤。
# w; a% r+ z* q% H3 m. C3 k2)开放API编程接口,允许用户进行再开发,可以远程发言和调用数据。Google Groups如果开放API的话,防spam的问题就很容易解决了,还可以附加很多别的功能,我相信到时其他论坛软件恐怕都要死定了。7 _9 }) @1 t) s- E1 C, q0 l
3)数据储存和前端逻辑必须分离。从MVC的角度说,就是Model(模型)要同View(视图)和Controller(控制)分离,只要把各自的接口规定好就行了。这样一来,数据的维护和平台开发都会变得非常容易。说实话,Amazon公司提供一种SimpleDB服务,你可以将数据都放到那里去嘛,然后前台的论坛程序,其实就干两件事:控制用户行为和同SimpleDB交换数据。
: W0 N' Q$ a/ L5 E/ X(完) |
|