论坛建设的一点浅见:一切站在用户的角度考虑(2)
第三个问题论坛帖子排序
论坛帖子排序是一个微妙的问题,因为如果一个用户在一个论坛中发表一个帖子,按照一般人的思维和想法,他一定是想让这个帖子看到的人越多越好,回复越多越好,这样才能激励他发更多的贴,培养他对论坛的好感。
那么论坛帖子如何排序呢?
第一种方案:按照某一种单一的因素来实现排序,这里以发表的时间排序来阐述
按照发表的时间排序,这种方案是最不好的,最致命的原因是:帖子的回复很少,即使你发表的是最优秀的帖子,也得不到持续的关注,严重损伤用户对论坛的认可,当他的一个帖子不能获得持续的关注,他可能会选择放弃这个论坛,不在发帖,也可能将已经发表的帖子再从新发表一次,让其在排到前面。所以这种方式绝对不能采用。
有人问,如果在论坛显眼的地方按照最新发表调出最新发表的帖子,怎么样?我的观点是在论坛重要的地方(点击率最高的地方)这样做也是不妥,原理和刚才一样。
第二种方案:结合两种因素来实现排序,这里以按照发表的时间和回复时间来排序。
这是一种非常好的帖子排序的方式,总的来说克服了按照单一排序缺点。其实现的效果是:当一个帖子一发表则排序在首位,确保人们能看到最新的帖子。当一个帖子有人一回复,则马上排序在最前面,以让热帖获得更多的关注,同时让好的帖子不因时间的问题而石沉沙底。
那么一个论坛做到这一步是否就足够呢?回答是这样做还是不够的,首先按照用户至上的观点,论坛为了让用户多发贴,多回帖之外,还要考虑一点就是让一个普通的用户能看到最好的帖子,通常按照发表的时间和回复时间来排序帖子就可以实现这样的目标,因为一个好的帖子自然会引起大家的关注,回复越多越能说明帖子确实不错(仅从一般的意义上来说),但是问题随之而来,那就是当一个帖子后面有了很长很长的回复之后,当一个用户查看一个帖子和帖子的回复的时候,会产生很多的问题,首先,回复质量有好有坏,有些回复很好,有些回复仅仅是顶之类的话语,那么这个时候有必要让回复的次序也要能精心的控制。
我采用这样的办法来控制一个帖子回复的排序问题。
通常一个回复如果字数很多,那么就可以说明这个回复是认真回复的,如果只有几个字,说明只是随意回复,所以可以考虑帖子回复的排序按照回复的字数的多少来排序,这样当用户查看一个帖子的时候他不仅仅能看到这个好的帖子,还能看到这个帖子下面详实的回复,大大提高用户的体验。
这里有个复杂的问题,就是比如3楼是回复2楼的,但是三楼回复的字数比2楼多,则会出现3楼排在2楼的前面。这个问题必须同样要解决,必须加入程序判断以实现在按照字数排序的同是不出现这样滑稽的事情。(用sql语句视乎可以实现)
但是如果这样做还是不够,还必须提供其他的排序方式,比如倒序浏览,因为一个用户可能想看最后回复,那么提供倒序浏览的功能就显得非常必要,尤其是一个回复很多的帖子。当然正序浏览的功能也必不可少。
前面说过一个帖子如果回复非常多,那么浏览帖子就会产生很多的问题,所以必须让回复的内容按照静心的设计来排序,不能按照传统的回复的时间排序,打破沙发,几楼几楼的那些陈旧的概念,现在我要说的另一问题就是回复的展现风格,目前多数的论坛回复之间间距非常大,让人浏览的时候非常不舒服。
可以看到下楼的比上楼的间距非常大,不利于浏览。
解决的办法很简单,缩小间距,像天涯论坛一样。可以看到天涯论坛下楼和上楼的间距非常小,非常利于浏览。
这个问题其实绝对不是一个小问题,因为当一个帖子有非常多的回复的时候,用户能坚持浏览下去是一个非常大的考验,所以必须做的利于用户浏览。
上面的一切旨在说明一个问题,那就是一切站在用户的角度考虑。