之前收到一些关于 Disqus 在国内加载较慢或者有时干脆无法访问的反馈,于是抽空研究了一下一些其他评论系统,发现现在(unsurprisingly)类似的系统似乎也没几个了,调查过程中不禁有些感触,于是想顺便写下来。
我在 2012 年之前都是用 Wordpress 平台写博客的,之后为了更高的可定制性(显示数学公式、生成 PDF 文档)于是用 pandoc 等工具手工搭了现在这个博客系统,使用静态页面生成的方式,这样不仅在 host 博客页面的时候非常轻便简洁,需要对网站进行备份的时候也极其便利(比如更早年的博客我虽然没有再用了,但是即使只是想要保持一个只读的网站,也必须要在服务器上运行完整的 Wordpress 系统才行)。静态网页的主要弱点当然就是无法 host 动态内容——比如用户留言。好在早些年静态博客流行,出现了一批专门支持用户留言的第三方服务,我在博客里采用 Disqus 现在已经变成了一个比较老牌的服务提供商。不过据说 Disqus 在国内时常是出于无法访问的状态。
说实话我对于某些机构对互联网的干预导致无法访问就需要对已经运行得比较好的系统进行迁移是比较反感的。而且工作以后花在个人博客上的时间也比以前少了很多,我自己也时常在自问自己仍然继续写博客的目的是什么,或者说原本的初衷是什么。不过如果有比较简单的方法能让博客访问更容易一些,那我也很乐意去尝试一下。总之我粗略地调查了一下,发现国内早些年间出现的各种类似于 Disqus 的服务(比如“多说”)现在基本都已经挂掉了,国外现在另外两个看起来比较靠谱的 alternative 是 commento 和 Hyvor Talk。不过在导入 Disqus 已有评论的过程中多少都有一些信息丢失,而且难保这些服务过一阵子自己会挂掉,或者又变得无法在国内访问之类的。
然后我发现有一批比较有创意的系统,把 github issue 变成了博客评论系统。因为 github 的 issue 本身就是和 blog 评论很类似的功能,而且 github 提供了 API 可以对 issue comments 进行操作,于是就可以做一个系统,把每一篇 blog 文章当做一个 issue,而 issue 下面的评论则可以作为博客评论显示在文章下面。我看到的几个目前还在维护的项目,一个是 Vssue,基于 Vue 做的系统,功能比较强大,支持 github、gitlab 以及 BitBuccket 等不同的后端。另一个是 gitalk,只支持 github。我这里使用的是 utteranc.es,也是只支持 github,并且看起来比较 barebone,不过最轻便,配置起来也简单,就用这个了。由于 github issue 的 comment 系统不支持 thread 回复之类的,而且必须要用 github 账号登陆才能评论,所以干脆就让两个系统并存了:Disqus 依然是主要的评论系统,但是如果无法加载的话就可以使用下面基于 github 的评论系统。
其实评论系统从博客起源以来一直是一个软肋,早期的博客系统通常是内置评论留言系统,不过要做好一个留言系统其实不是一件很容易的事情:最简单的模式是允许用户自己填写名字、邮箱等作为留言者身份,但是这样很容易被 spam bot 给滥用,几种常见的解决方案一是在后台进行自动垃圾评论过滤(就连 Disqus 这种老牌的服务也有挺多误判的情况);二是各种奇形怪状的验证码系统;三是采用必须登录才能留言的方式,这意味着还需要做用户系统(注册、邮箱验证、密码恢复、修改头像之类的),如果本身并不是多用户的平台的话,这还是挺多额外的工作量的,并且如果每个博客系统都有自己的用户系统的话,对于想要留言的用户来说也会比较头疼。到后来各种博客平台开始变得臃肿,自己搭建个人博客开始流行之后,出现了各种小巧轻便的博客平台,比如可以生成静态 HTML 网页,或者甚至通过 github pages 自动发布等等,留言评论系统渐渐独立成为单独的模块,像 Disqus 之类的系统被广泛采用,不过到博客没落的今天,当初的各种类似的系统如今还留下的也没有几个了,似乎现在还能见到的比较有内容的讨论大都是有人将博客链接贴到其他以讨论为主的网站(Hacker News 或者 Reddit)之后大家在那里的讨论。
博客的广泛流行起来应该 RSS 功不可没——原本需要去各种不同的博客网站查看内容、检查是否有新文章之类的,现在通过 RSS 订阅不仅可以方便地获取更新,而且在一个统一的 RSS Reader 里就能查看来自所有已订阅的博客。但是 RSS 的流行也将博客系统在留言评论方面的不便性更强烈地暴露出来,因为 RSS 并不提供留言和评论方面的支持,如果需要留言,还需要再进入原来的网站,然后又回到了刚才的各种留言系统的问题。其实如果能将社区共享和讨论的功能和 RSS 结合起来,应该是挺不错的一种解决方案,不过如果没有通用标准的话,估计也会变成各家互不兼容的平台,对用户来说一样头疼。不过现实是这样的系统发展出来之前,博客就已经没落了。
虽然在互联网发展的大潮流中博客没落的原因千丝万缕,要列举的话可能还是有一些比较重要的因素吧。除了在鼓励用户参与和社区成长的留言和讨论系统的天生缺陷方面的原因之外,另一个原因大概是商业化吧。我没有把自己的博客当做赚钱的工具,拒绝商业化地交换链接和广告投放,不过从整个体系的可持续性发展来看,健康的商业价值也许是必不可少的吧。早期的互联网,应该有许多出于兴趣和热情的参与者,大家热衷于建立自己的网站,以及互相链接,后来互联网大规模兴起,吸引众多资金和资源,虽然互联网泡沫破灭让很多人破了产,但是互联网平台在后泡沫时代依然是亨受青睐的(像 Facebook 和 Twitter 这些成功案例都是在互联网泡沫之后出现的)。我感觉早期大家可能还在摸索各种不同的商业化模式,亦或者是对新技术和概念的狂热(就像现在的 AI 狂热一样)导致不需要真正有商业模式就能比较容易拉到投资,所以感觉在十多年前的互联网里兴起的各种平台都主要以积累更多的用户量为主,总之先有了用户量,其他的都好说。而一转眼到现在,似乎互联网主要的商业化模式大致都收敛到了“广告”,所以一切阻碍广告投放的因素都渐渐淹没在历史的洪流中。首当其冲的当然是基于 RSS 的内容订阅系统,由于用户可以直接通过 RSS 获取博客的完整内容,所以就不需要访问博客网站,所以博客平台就没有办法投放广告了。这导致有些平台开始只提供一个段落的内容,全文需要跳转才能访问,然后有些客户端开始提供(可能也是收费的)全文抓取功能,争斗之间用户的体验也越来越差,博客内容和阅读平台也都相继关闭。
另一个冲击来自于社交媒体的兴起(见上面的 Google Trends 图)。感觉个人博客除了少数有特定主题之外,大部分人都是写自己生活为主,事实上早期身边的小伙伴很多都在写博客,由此了解互相生活中发生的有趣的事,其实也是社交网络的初始形态。后来各种形式的社交网络兴起,就吃掉了这部分的功能——不论是从内容创建者还是消费者来说,社交网络用起来都更容易一些(例如之前提到的评论系统的缺陷,在成熟的社交网络平台上就都不再是问题)。和社交媒体同时兴起的还有移动互联网,我在 2012 年来美国读 PhD 的时候有了第一台 iPhone,并且当时到了一个新的环境一切都很新奇,几乎每天都会拍一些(现在看起来很无关紧要的)照片发到社交网络上,我印象非常深刻的是当时的室友有一天晃着手里的 iPhone 跟我说,I don’t think I need a computer anymore。我当时的反应和我现在的态度一样,认为移动设备主要长处在于 media consumption,除此之外大部分电脑能做的事情手机或者平板都还做不了或者做起来很痛苦,然而这些年我自己也越来越意识到的一点是:虽然如此,使用移动设备访问互联网的频率已经大大超过了通过电脑上网的频率,毕竟如果只是顺手搜索一个东西,或者看一下社交网络之类的,用手机真的方便太多了,即便触屏打字不方便,屏幕也小很多,但是还是比打开电脑要容易很多。从总体来看,可能世界上拥有一个(比如安卓智能)手机的人数大概比拥有一台电脑的人数要多很多。下图(来源)是 2013 年到 2019 年之间移动设备占互联网访问流量的份额。
社交媒体和移动互联网的发展带来的不止是方便快捷,同时也迅速地让信息洪流无限放大——我的博客的副标题这些年来一直是“We are drowning in information and starving for knowledge”,可见我自己也一直被这样的问题困扰。信息过载带来的各种各样的问题已经有点超出本文的主题了,所以这里就不多说了,对于博客的影响而言,就是人们不论是在内容创建还是内容消费方面都变得更加短平快,加速了博客的消亡。此外,移动互联网作为一块新鲜肉,在各大平台争食的过程中也出现了各种“平台锁定用户”、“互相屏蔽互不兼容”的情况,这似乎在当前的中国互联网环境中尤其明显,之前还看到有人戏称现在国内的互联网是“互不联网”。这跟博客公开地分享的初衷(?)也已经相去甚远了。
另外,让我们自己能切身体会的影响因素可能还是原本圈子的起落,比如某一个朋友圈子或者技术话题圈子,随着大家的兴趣转移,或者把时间投入到工作、家庭中之后,就渐渐地从原来的圈子消失了。导致我们能切身地感觉到周围博客内容的逐渐消逝(这样的起落同时也在各种社交媒体中能见到)。
不过其实也并不是什么悲伤的事情啦。说得好听一点是天下无不散的宴席,说得客观一点其实就是世界是一直在变化的,技术也会一直经历发展、变革。有一些东西会逐渐消失在历史洪流中,而另一些会进化成不同的形式继续存在,直到下一次变革。就博客而言,虽然前面说了这么多,但是其实所谓的个人博客的消亡,其实主要还是一种大众现象的消亡,博客不再是一种流行,但是博客这种内容分享的形式仍然继续存在着,并且留存下来的通常都是一些主题比较明确的博客(本博客的主题是什么来着??),时常能看到很有趣的内容,比如几个很随机的最近碰到的博客:Writing an OS in Rust、How to Train Your ResNet 等等。至于我自己,如果有什么我觉得值得分享的东西,也还是会继续发上来啦。虽然好像没有很认真地思考过这个问题,但是我觉得我写博客的初衷一方面是在分享和记录我自己的生活,另一方面其实也是一种非常有效地帮助我整理和思考的工具。从读者的角度来说(从访问统计和我收到的各种反馈来看),似乎我的博客里比较偏技术的部分更有用,这样来说这个博客这两年偏技术的内容减少也显得有些“注水”的趋势,但是其实从我的角度来说,无非是反应了我生活的不同阶段,比如我在写 SVM 系列博客的时候,其实就是在整理我自己学习 SVM 的笔记的阶段,而最近几年技术博客写得比较少一方面是我自己的知识面变得更加狭窄和专业,对技术内容的要求也变高了,如果是我觉得在专业上有用的东西可能会直接以论文或者 tech report 而不是博客的形式写出来,反过来如果我觉得没有太多用或者我自己也没有搞太懂的东西,就更没必要写博客了;另一方面我的课余生活的文化内容在这几年丰富了很多,所以课余学习和整理一些和科研离得较远或者自己不是太了解的东西的时间变少了许多。但是说不定我在未来的某个时候对自己的时间规划更有效率了呢?亦或者我突然下决心仔细学习一下某个不太了解的技术课题了呢?亦或者我以后只能写点贫嘴的文了呢?哈哈,未来就是各种不确定,才让人充满期待啊。
如果基于 Disqus 的评论系统无法加载,可以使用下面基于 Github 的评论系统(需要使用 Github 账号登陆)。