一篇2010年的文章, 但是相当的精辟有远见。
来源: http://www.cnbeta.com/articles/107169.htm
关于Twitter信息结构的思考
一.Twitter与Blog的内向信息结构对比
这里所说的内向信息,指的是Twitter或Blog作者个人的数据.Twitter基於一个概念Timeline,也就决定了Twitter的数据是一 维的,直线型的.
![Twitter數據結構圖一](http://static.cnbetacdn.com/newsimg/100326/07581101711682841.jpg?1269527626)
然而Blog的结构,却一般是树状的.Blog产生之初,也只有一个Timeline,但後来加入了分类和Tag,单页面等,变成了树状甚至网状结构:
![Blog的數據結構1](http://static.cnbetacdn.com/newsimg/100326/07581411003354476.jpg)
由上图可见,Blog在处理个人内部数据上结构清晰.有多种分类和索引方法.因此,Blog在数据定向和搜索所需的资源和时间等成本上要远优於 Twitter.
二.Twitter和Blog的外部数据结构对比
我们都知道Twitter通过互相Follow,加强了个体之间的信息联系.同时由於Retweet和Reply的存在,使得Twitter的信息结构更 加复杂.但这些只是数据的"联系".也就是说,Twitter加强了信息的联系,并将它展示出来,可惜是杂乱无章的.
![twitter數據圖2](http://static.cnbetacdn.com/newsimg/100326/0758162853162269.png)
如上图所示,我们以3个用户为例.Twitter突出了信息之间的联系,但是如果用户2想要查看自己和用户3之间关於Tweet3之间的谈话时.如果以自 己的Timeline为线索,则会被前後的信息干扰.如果他用#tag进行搜索时,又会被毫无关联的用户1的Tweet4干扰.基於现行的 Twitter搜索机制.他还会被众多其他使用相同标签的用户信息干扰,完全淹没在信息的海洋中.
因为这种情况,Twitter用户自行发明了非官方的RT.即用"RT @用户一 信息"的方式发表回复.但这种方式也有弊端,因为Twitter的140字限制.在RT来RT去之後,原有的源头信息已被截断.以至於後来的用户看到的完 全是摸不着头脑的一条垃圾信息.即使能够保留.也会是"RT @用户一 RT AAA @用户二 BBB RT @用户三CCCCCCCCC"这样让人眼花缭乱的信息.
而Blog方面.除了使用率和结合性都不甚高的Trackback之外,Blog用户们几乎都在各自为战,无法形成有效的信息链接和集合.除非 BSP对各类信息进行整合.但也仅限於本站内的.这是天生的缺陷.
三.Twitter中的信息爆炸,环流和碎片
每当有重大新闻事件发生,大家都会感受到Twitter的信息传播速度的恐怖.每个用户都有自己的跟随者,形成一个圈子,一个圈子的信息又透过圈内用户迅 速传播到另N个圈子.象链式反应一样,迅速成几何级的传播.我想称之为信息爆炸并不为过.
我们知道,如果把交换机的两个端口连线,会形成环流和局域网广播风暴.其实Twitter上的信息流也一样如此.自己发的信息被铺天盖地的反推回来也很常 见.这也是信息爆炸的结果.
在Twitter上,如果你跟随了某个人,那麽他推送的任何信息你都会接收到.哪怕他只是发了一条"今天吃了一个苹果"这样对你来说毫无意义的"垃圾信 息",我称之为"信息碎片".
这三种现象都是Twitter自身的特性引起的.有好处,也有坏处.好处在於信息的传播速度和广度.坏处嘛,就是使得读Twitter变成一件很困难的 事.你Follow的人越多.这个难度就越大.
四.解决Twitter的问题!
1.首先要优化个体数据结构
要解决Twitter造成的问题,首先要解决Twitter相对单个用户自身的结构问题.这是基础.
引入Category和Tag并不是难事.问题在於必须是要针对用户自身的数据的.现行的Tag并非是针对用户自身的,而是向整个Twitter所有用户 的信息发起搜索.这使得用户难以查看自己曾经的数据,更不用说其他人了.何况这也加重的资源和时间的消耗.我们可以如下做:
![Twitter數據圖4](http://static.cnbetacdn.com/newsimg/100326/07581831253240274.jpg?1269535249)
这样.我们把标签和用户名结合起来,就可以做到数据结构的清晰化.并且不要求对现行Twitter的数据库的大的改造.
其它用户在Follow用户1时,可以根据其标签进行选择,比如我认为User1对Web技术比较在行,但在音乐欣赏方面却和我爱好完全不同.那麽我就只 Follow @User1#web.这样组织起来的数据更加有效.可以避免上文所说的信息碎片.
当然,也有可能有用户不按牌理出牌,不能有效的组织好自己的信息,但这样的用户的信息,必然会被淘汰.大多数用户需要的还是有效的信息.我在这里把 Twitter工具化了,并不把它当成一个吐槽打屁的玩具,我从来没有这样看过Twitter.
这样结构化的信息所能做到的,是把多个用户的信息再细化并重新组织,以保证用户接收到的信息内容的有效性.它和现有的List功能是可以达到互相辅助的. 并没有冲突.实际上,它比List要有意义得多.
2.信息筛
经过上面的对碎片的整理,我们还要面对信息环流和爆炸的问题.在玩WOW的时候,我们知道有一种可以屏蔽垃圾代练广告的插件.它最常用的一个功能是,把短 时间内重复的信息视为垃圾信息,只显示第一条.那麽我们可以借用它的机制:
对内容高度相似的信息进行过滤,不显示.仅在第一条上显示相似信息的数目,并可以展开.
这样做不但可以再次过滤掉大量垃圾信息,而且还会带来一个副产品:那就是消灭RT.因为非官方的RT除了少量RT @用户名之外,一般并无更多的有效内容.如果这样做会被过滤,自然会被放弃使用.
3.除了TimeLine之外,Twitter还需要InfoLine
基於上面的思考,我认为Twitter想要改进用户体验,除了在上面的结构化下功夫之外,还需要有效的组织起信息链.为什麽用户会使用非官方的RT?我认 为这就是一种形成信息链的方式.它的目的在於"使我的 Follower也看到话题的起点".让跟随者看到我在回复什麽,我们在讨论什麽.
因此.必须要让信息形成链条.让後来者只要抓住链条的一节,便能够顺着链条,闚得它的全貌.怎麽做呢?SNS网站通常有一个"发起一个话题"的功能.这也 类似论坛中发起一个主帖,後面大家跟帖的形式.只要我 Follow了某一个在这个话题中进行了回复的用户,我便能展开整个信息链,查看大家都说了什麽.这并不需要改变现行的Reply机制.只需要加上一个方 法就行:
在Reply的Tweet中,显示信息链源头的内容.
![twitter數據圖5](http://static.cnbetacdn.com/newsimg/100326/0758194796987840.jpg?1269538196)
如上图所示各个用户之间的数据是交错的,它们的关联在於源头.只要源头能够显示并且关联.我们就能有效的组织起一个信息链了.
举例说明.如上图.如果user3跟随了user2而没有跟随user1,他看到的usr2对user1的回复就是这样的:
user2:@user1 真的麽?
这样做是完全无法得到有效的信息的.如果我们能够这样显示:
user2:@user1 真的麽? *@user1:A企业的产品被曝有质量问题
对於同样只跟随了user3而没有跟随user1,user2的user4来说,他看到的信息是这样的
user3:@user2 我找到官方报导网址了XXX *@user1:A企业的产品被曝有质量问题
在这里略去了中间过程.用*代表并引出信息链的源头.即使user4看user3的回得并不能得知他回覆内容在说什麽,但他起码可以得知这个信息的源头, 主要是在讨论什麽内容.并且我们可以使"*@user1:A企业的产品被曝有质量问题"成为一个链接.可以点击展开,查看到众多没有跟随的用户所发表的回 复.用树状的结构组织起信息.
五.Twitter,加油!
Twitter给我们带来的改变是巨大的,说它是一场信息革命我认为并不为过. 尽管它的起点很简单.Twitter也在不断成长,从它开放度看来,它可挖掘的潜力仍然巨大.以上只是我个人对Twitter的一点想法.具体是否可行还 请大家探讨.
写到这里,忽然想到,一个具有巨大潜力和能量的东西,在带给我们力量和益处的同时,同样也可能带来巨大的伤害.可能都不是所谓"众口烁金,积毁销骨"这麽 简单的了.也许下一次,我们该探讨一下Twitter的控制问题,确保它只给大家带来好处,而不是恶果了.