你不知道的微信朋友圈分组权限真相

12 评论 228359 浏览 47 收藏 10 分钟

朋友圈社交

很多人都说,微信朋友圈是近年来最伟大的社交发明。取代人人和微博,微信已经成为人们最主要的社交工具,没有之一。大部分90后的社交软件都经历了从QQ空间人人微博微信的转变。人人自产内容不足,垃圾分享泛滥,定位飘忽不定注定了其失败的结局。而微博是属于大V的平台,离普通人太遥远,其开放、单项的关系的机制让其更加倾向于“社区”的属性而不是社交。

朋友圈是微信 4.0 版本的主推功能,这个功能是微信在熟人互动的拓展。相比于微博,微信朋友圈最大的不同,朋友圈是双向认证的,因此在我们朋友圈里面出现的新鲜事都来源于我们熟知的朋友。

朋友圈最伟大的功能,就是分组。它的与众不同之处在于,你没法判断你朋友发布的内容是公开还是部分可见、甚至就你一人可见。这给了很多人伪装的机会,你可以按照自己的意愿向不同群体展现你的不同生活状态。而你的朋友只能看到你的故事的一个版本。有些人明明有女朋友,但却在朋友圈每天发表单身的感慨;有些人明明通宵打游戏,却在朋友圈向父母的分组发了条通宵复习的状态。每个人都希望将自己最光彩的一面展示到朋友圈,出门旅游一趟,各种45度自拍,拍完后还要美图磨个皮,从几十张中选择2-3张上传朋友圈,然后再配上一些心灵鸡汤、人生格言。美图+格言造就了一条高逼格的状态。

消息机制和数据结构

解释下文的之前,首先统一下文中表述的定义。

  • Moment:用户发表的某个主题
  • Profile:朋友的朋友圈主页
  • Timeline:当前用户的朋友圈
  • My Posts:用户自己的朋友圈主页

本来主要讨论timeline的问题,没有涉及到profle的问题。Moment profiletimelinemy posts的一个子集。然后Timeline的消息机制比较复杂,Timeline涉及到你所有朋友的moments,还夹杂着权限和发布时间的问题。因为Profile是针对特定用户的主页,不需要像timeline一样需要对所有朋友的moments进行排序,处理起来简单很多。用户查看其朋友的朋友圈主页profile,系统会把其朋友发布所有的moment,按照权限进行过滤一遍,然后再呈现给用户。

我们来仔细分析下朋友圈的消息机制。微信朋友圈的显示最基本规则是:你的朋友圈的任何内容都来源于你的好友。

  • 在没有屏蔽对方朋友圈或者被对方屏蔽的情况下,你可以看到好友所发布的状态和图片。
  • 关于好友状态下的评论,你只能看到来源于好友的评论,无法看到来源于陌生人的评论。
  • 好友回复给陌生人的评论是不可见的。
  • 发布朋友圈的每条状态时,可以设置“谁可用看”。

“谁可以看”这个功能里面,通过采用了给用户设置“标签”来设置分组,这个标签的分组与微信通讯录标签一致。公开、私密是两个比较宽泛的分组,好友都可见或者都不可见。

分析两种比较常用的用户场景:

场景1:如果之前设置了分组,Group1, Group 2, 然后好友A不在Group 1里面,你发布了状态设置只对Group 1可见。之后你把A加入到了Group 1里面,这种时间,A是否能够见到你的图片?

答案:A无法看到你的图片。哪些朋友能看到你的消息,在你发布图片的时候已经决定了。系统将这条状态写入有阅读权限的用户的timeline。当用户在发表消息之后更改分组,这个时候不会更改消息的阅读权限。这个过程如图所示。首屏时时刻刻出现的朋友圈更新小红点,也验证了下图的逻辑。

1

这里面有涉及到发布者和观看者权限设置和过滤问题。发布者和观看者都可以设置屏蔽清单。如果发布者设置了权限,只能让AB观看这条moment。那么这条moment会写入A-timelineB-timeline。观看者C设置“不看A的朋友圈”。这样观看者C的客户端根据存储的屏蔽清单会过滤掉Amoment,或者服务器端在C读取timeline的时候,直接过滤掉Amoment。所以最后只有B能看到Amoment

场景2:如果你发布了图片,只对Group 1可见,然后点击右上角的设为私密照片,这时候照片只对自己可见,然后再设置为公开照片,这时候你的照片是只对Group 1可见呢还是所有人可见?

答案:消息在发布时,可以设置为三种权限;发布之后可以更改消息权限。部分可见/不可见和公开照片本质上都属于公开照片。这里有个很有意思的逻辑,部分可见/不可见设置私密之后再设为公开,其实照片还是部分可见/不可见(不是真正的公开照片)。

2

结合场景1和场景2,我们可以发现,当我们设置了消息的权限为部分可见/不可见,那么在权限之外的人无论如何都无法看到你的消息(不管你更改分组还是更改消息权限)。

场景1属于比较常见的用户场景,用户的朋友圈的圈子都在不断的增大。一种常见的例子,用户之前发布了之前工作上的日常信息和状态都设置为“同事”分组可见。那么用户新添加一个同事为好友,把他拉入“同事”分组。他的新同事想了解他之前的状态,却无法看到相关信息。这从逻辑上来说,不甚合理。

所以当用户更改分组权限的时候,服务器应该能够去更新相应的moment的权限。然后去调整受影响朋友的timeline,这较考量平台的处理能力。这种方式可以解决上述的场景1的问题。也许出于性能方面的考虑,微信没有这么做。

用户体验

谈到这里,顺便谈谈微信体验待改进的地方。现在阅读公众号文章、购物、游戏时,朋友发来消息,用户需要跳出当年页面,进入对面页面,但是完成了对话页面后,返回的是微信的对话列表页面。用户还需要重新去寻找之前的页面。安卓端微信可以输入“//multiwebview”,点击发送,就成功激活微信隐藏的多窗口切换功能。期待IOS端的改进优化。

除了即时通讯和朋友圈,我微信使用的最多的功能就是微信群。微信群如同QQ群一样是扩展社交的一种绝佳手段。微信建群零成本,导致微信群泛滥。大部分用户的微信聊天页的前几行长期被微信群所占用,而且微信群的消息刷新的很快,你很难找到对自己真正有用的信息。特别是每个上拉刷新聊天记录只能刷新10条。像QQ群就有类似的群助手,统一管理所有的群。 现在的屏蔽群,只是取消了notification。有消息时,还是会置顶显示在 对话窗口里面。可以在对话列表页面可以建立一个微信群助手,统一管理所有的微信群。还有就是作为一个强迫症患者,消息的小红点总是我最纠结的地方。加入一键消除红点这个功能,会降低点击量和KPI,但是从提升用户体验的角度来说,还是很值得的。

虽然很多功能可以改进的更好,但是会损失一定能够的用户体验。对一个牛逼的产品而言,减法做得好才是真的牛。

 

本文为作者@Harrison(微信号:jiahaifeng1123) 投稿发布,转载请注明来源于人人都是产品经理并附带本文链接

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 😈

    来自吉林 回复
  2. 更改权限解决场景1的问题,我觉得不只是性能因素。
    用户以前发的moment,可能并不想让新加入group的人知道。
    将一个朋友加入group的操作,应该只意味着以后的moment可以给他/她看。
    您觉得呢?

    来自广东 回复
  3. 感谢题主分析,但是还是得注意部分逻辑和错别字的影响!

    来自广东 回复
  4. 错别字 👿

    来自湖南 回复
  5. 😯

    来自北京 回复
  6. 想问问,安卓端微信可以输入“//multiwebview”,点击发送,就成功激活微信隐藏的多窗口切换功能。这里是在哪里点发送捏?

    来自广东 回复
    1. 这个方法适用于安卓5.0及以上版本的安卓系统、微信6.1及以上版本的微信,不适用于iOS版!在微信任意聊天窗口中(公众号服务号也可以),输入“//multiwebview”,点击发送,就成功激活微信隐藏的多窗口切换功能了!

      来自浙江 回复
    2. 试试之后可以么?

      来自北京 回复