StackOverflow 并不只是一个问答网站
今天看到了一个网站的模仿StackOverflow的问答应用,有点儿感慨:是不是设计这个模仿应用的人,真的认为,StackOverflow真的就是提供提问和解答服务的?StackOverflow 的精髓,首先在于其声望(Reputation)系统,这才是去解答的人要的,可是这个模仿的应用,居然都不显示用户的声望值。
StackOverflow 提供高质量的问答内容,这是其受欢迎的根本。而如何做到这一点,才是其团队的过人之处。我从一个普通用户的角度,说说自己的感受。
高质量的问答内容,不是靠拉专家、删水贴、屏蔽垃圾用户做到的,这样做,管理员会累死,而且还不能保证结果就是好的。专家你能找到几个,你又有多少精力和能力去识别哪些是垃圾?
所以,必须有一个办法,既不打击用户提问回答的热情,又不会让垃圾、水贴内容到处飞,而且还不给管理员增添负担、让管理员变成网站发展壮大的瓶颈呢?
我们可以先回头想想RPG游戏(包括网络RPG,虽然我不玩网游)。你从NPC那里领到一个任务,要你去哪里哪里找到NPC丢失的物品并还给NPC。是什么驱使你在不到30寸的显示器里面转悠几个小时,各种跑路、各种迷宫、各种打怪、死了还要再Load重来,最后拿到物品还要返回去找NPC并还给TA?你真的是关心这个物品对于NPC的价值吗?
你关心的,只是你得到的奖励:经验值和金钱(可能还有装备物品)。这才是动力,你才会去想办法,才会去努力满足NPC的愿望。
而且这个奖励必须是能够感受得到的,才有价值。
经验值可以让你杀伤力更大或者防护力更好,金钱可以买更好的装备物品,这些在下次与怪们战斗的时候,都能直观的感受到;在网游里面,还能被其他在线的玩家看到,成就感就更大了。
所以,虽然高质量的内容是StackOverflow受欢迎的根本,但是,实现的手段却是“世俗而老套”的:声望值。并且,在你的名字/头像下面,清楚的显示出来你的声望值。否则,锦衣夜行有什么意思?
不仅在你的名字/头像下面显示(醒目的你不注意都不行),而且,StackOverflow 还可以发给你一个Badge,上书:某人在某领域有多少多少声望值。将荣誉感最大化。
接下来,StackOverflow要解决的,是如何保证这声望值是“真实”的,是需要通过努力才能获得的。
如果通过欺骗或者发水帖、穿马甲的方式自己给自己加分,那么,这个声望值就是废纸,内容质量更加无从保证。《超人总动员》里面反派角色说得好:“When everyone hero, no one will be.” 可以“刷”出来的声望值是不值钱的。
(需要说明的是,StackOverflow是允许你自问自答的,不仅同样给分,还能给你个badge(勋章),鼓励提问者自己研究探索并找到答案。)
StackOverflow 想出来一个简单却很有效的方法来保证声望的真实性:任何人都可以对你的内容作出“好”或者“差”的评价。
你想造假是吧,我看见了,直接给你差评,减分!这无须等待管理员参与,因为管理员不可能有那么多时间和精力(以及能力)去做这件事。
而且,给人差评,在StackOverflow里面,也是有badge送的,叫做Criticle!
初看上去,这样会让整个评价体系混乱掉;可实际运作下来,并不是这样,因为:每个人都很在乎自己的声望!这点,淘宝网的对商户评价体系很像:的确有人会给恶意差评或者恶意好评,但是时间一久,真相就会出来了。
StackOverflow 说,我相信你们参与的每个人;于是,StackOverflow 得到了信任。
最后,声望值直接对应着StackOverflow里面各种“福利”,这让声望值不仅仅是个好看的数字,而有了实际的用途。
加注释、给差评、发文章、修改别人的提问等等诸多对于内容质量建设有帮助的功能,都要求对应的声望值等级才能使用。
当然,除此之外,StackOverflow 也利用各种技术手段来对内容质量进行控制,包括初次回答的必读教程、对内容的分析(否则不让提交)、对内容的有效分类整理等等。
就这样,StackOverflow 慢慢的在一群高人的维护下,利用简单却有效的方法,保证了内容的质量,越来越受到欢迎,从而使得声望值更加得到用户的重视,形成了良性的循环。
想想上面提到的那个网站的模仿应用,都没有把声望值在显著位置显示出来,难道是希望大家都当活雷锋么?
正应了那句话:市场这只看不见的手,让每个人在追求他自己利益的时候,无意中促进了公共的利益。
P.S. StackOverflow,某种角度,像是以提问和回答过招的网游,声望值就是网游里面的经验值。内容好,只能让人来看和索取;好玩,才能让人来参与和奉献。
这是 sharepoint.stackoverflow 里面一个牛人的profile页面,看看其声望值:http://sharepoint.stackexchange.com/users/11/anders-rask 告诉我,你是第一眼看到他的名字,还是第一眼看到的是那个1万多的声望值。
stackoverflow 里面专门有一个版块,是搞站务咨询和投诉受理的,里面最多的问题,就是问如何合并自己多个账号声望值的请求(有的是不小心弄出来几个账号注册了,有的是不熟悉使用规则使得声望值分散在多个账号里面了),管理员也是一一核实之后给合并处理的。
StackOverflow 并不只是一个问答网站的更多相关文章
- https://stackoverflow.com/与程序相关的IT技术问答网站
https://stackoverflow.com/ Stack Overflow是一个与程序相关的IT技术问答网站.用户可以在网站免费提交问题,浏览问题,索引相关内容,在创建主页的时候使用简单的HT ...
- stack overflow--技术问答网站
转自:http://baike.baidu.com/link?url=eMR6Pwdk9IkauI5B3nZb2Yo3VUAcK6vQfrMpcSMPWqgH0ngqFkup3Gdr3t_s_yZe_ ...
- 我30天在Stack Overflow问答网站上回答问题的感受
想法的萌芽 如果非要总结下我多年来是如何使用Stack Overflow的话,我的答案就是:打开网页,搜索问题,查看Stack Overflow的搜索结果,参考答案,最后再关掉网页. 我的生活已经离不 ...
- 30分钟搭建一个小型网站框架(python django)
最近因为要做一个小型的网站,需求很简单有点像公司内部的管理网站,和室友一起倒腾,发现了一些坑.我自己之前没有接触过python 但是发现真的非常好上手. 我们没人会前端,所以最怕修改网页,一开始选择了 ...
- Django高级实战 开发企业级问答网站✍✍✍
Django高级实战 开发企业级问答网站 1. 创建项目与app 创建项目 django-admin startproject firstsite 创建app python manage.py sta ...
- Django高级实战 开发企业级问答网站
Django高级实战 开发企业级问答网站 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大家看的 ...
- [译]:Orchard入门——构建你的第一个Orchard网站
原文链接:Building Your First Orchard Site 文章内容基于Orchard 1.8版本 本文将逐步简要介绍Orchard提供的功能.如果你是第一次使用Orchard,本文将 ...
- 利用git+hugo+markdown 搭建一个静态网站
利用git+hugo+markdown 搭建一个静态网站 一直想要有一个自己的文档管理系统: 可以很方便书写,而且相应的文档很容易被分享 很方便的存储.管理.历史记录 比较方面的浏览和查询 第一点用M ...
- 分享一个ruby网站 | 菜鸟教程
http://www.runoob.com/ruby/ruby-tutorial.html 分享一个ruby网站.
- 【jQuery插件】用jQuery Masonry快速构建一个pinterest网站布局(转)
[jQuery插件]用jQuery Masonry快速构建一个pinterest网站布局 时间:2011年03月21日作者:愚人码头查看次数:29,744 views评论次数:25条评论 前段时间领导 ...
随机推荐
- SQL Server中的NULL值处理:判断与解决方案
摘要: 在SQL Server数据库中,NULL是表示缺少数据或未知值的特殊标记.处理NULL值是SQL开发人员经常遇到的问题之一.本文将介绍SQL Server中判断和处理NULL值的不同方法,以及 ...
- 前端学习 C 语言 —— GDB调试器
GDB调试器 我们在讲指针时用 GDB 调试段错误. 本篇将详细介绍 gdb 的最常用命令.日志记录.检测点,最后介绍如何用 gdb 调试进程以及用gdb 调试一个开源项目的调试版本 -- glmar ...
- Bellman-Ford算法及SPFA算法的思路及进一步优化
Bellman-Ford算法 算法 以边为研究对象的最短路算法. 应用场景 有负边权的最短路问题. 负环的判定. 算法原理 \(n\) 个点的最短路径最多经过 \(n - 1\) 条边. 每条边要么经 ...
- Map集合_HashMap_TreeMap_等_小记
Map是一种依照键值对数据存储元素的容器. Map中的元素是两个对象,一个对象作为键,一个对象作为值.一个键(key)和它对应的值构成map集合中的一个元素.Map集合的数据结构只跟键有关,键不可以重 ...
- Mysql基础6-常用数据库函数
一.字符串函数 1.常见Mysql内置字符串函数 concat(s1,s2,s3,...):字符串拼接,将s1,s2,s3...等拼接成一个字符串 lower(str):将字符串str全部转为小写 u ...
- Centos7通过yum源安装Mysql
1.下载并安装MySQL官方的Yum Repository 在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉M ...
- Oracle备份与还原(实用版)
Oracle备份与还原 EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用. EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用. I ...
- 【WebGL系列-03】获取shader变量地址及赋值
获取shader变量地址及赋值 上一节创建了WebGL程序对象,创建好program对象后,对象中包含顶点着色器和片元着色器,着色器中含有变量,我们需要对其进行赋值后才能够进行绘制. 着色器代码如下: ...
- 2023-7-26 Dynamic替代部分反射的简单实现方式
Dynamic与反射的使用 [作者]长生 实体类 public class School{ public int GetAge(){ return 100; } } 使用反射获取对象里的方法 Scho ...
- 2021-7-29 MySql多表查询详解
多表连接 左连接:返回第一张表的所有数据项然后拼接第二张表(左表全有,右表对应左表才有) 右连接:返回第二张表的所有数据项然后拼接第一张表(右表全有,左表对应右表才有) 内连接:返回两张表数据相等的数 ...
