克斯尔江作品集
全部作品

案例 01 · 交互架构

重新设计微信:把四个 tab 压成三个

微信的一级结构从 2011 年到现在基本没变过,而它承载的东西已经变了十倍。这次只做一件事:把重复的入口并掉。

角色
交互设计、界面设计
时间
2026 年 9 月,三周
范围
iOS 版微信 8.x

微信的一级导航是四个:聊天、通讯录、发现、我。这套结构在功能只有聊天和朋友圈的时候是准确的,但它今天还同时装着支付、小程序、视频号、公众号、文件、群接龙和一堆生活服务。功能在长,结构没有跟着长。

所以这次重做不碰配色,也不碰图标风格。要回答的问题只有一个:四个一级入口里,有没有哪两个其实在做同一件事。

先数一遍

我把「给一个已经存在的联系人发消息」这条路径完整写了下来,包括所有人都会顺手做的那几次多余操作:

  • 打开微信,默认落在聊天页,最近会话里没有他
  • 切到通讯录,滚动或者点右侧字母索引,找到名字
  • 点进资料页,再点「发消息」,才落到会话里
  • 如果只是发一句「在吗」,这一路上已经点掉了三次

而如果他刚好在最近会话里,全程只要一次点击。同一个目的,两条长度差三倍的路径,分岔点只是「他最近有没有找过你」。这是结构问题,不是搜索框能不能用的问题。

三个决定

一、通讯录并回会话页

通讯录里的每一行和会话里的每一行,本质是同一种东西:一个人。区别只在于后者多了一条最近消息。它们被拆成两个 tab,是因为 2011 年的手机屏幕小、会话列表短,需要单独一个地方放全部联系人。

现在不需要了。在会话页标题下方加一排筛选项:全部 / 人 / 群 / 服务。「全部」就是原来的聊天页,「人」是通讯录,「群」是所有群聊,字母索引只在「人」这个筛选下出现。一个页面,四种看法。

9:41

微信

全部人群服务
  • 周
    周航

    设计稿第三版已经上传,重点看会话行的密度

    2
  • 评
    产品评审群

    李婵:明天十点开始,别迟到

    7
  • 订
    订阅

    今日更新 3 篇 · 折叠的服务号

  • 母
    母亲

    语音 6 秒

  • 陈
    陈默

    那我先按三个 tab 的版本往下做

  • 文
    文件传输助手

    微信重设计-测量表.xlsx

  • 服
    服务通知

    你的快递已放至 3 号柜

图 1会话页。四个看法合并成一排筛选项,字母索引只在「人」下出现。

二、服务号收进「订阅」

会话列表里有一类东西,你从来不会回复它,但它每天都在顶上占位置。服务号的通知被塞进同一个列表,于是「谁会找我」和「谁在推给我」混在了一起。我把所有服务号通知收进一个叫「订阅」的固定条目,点开是独立的信息流,未读合并成一个数字。

判断标准很简单:这个会话能不能回复。不能回复的,就应该离开会话列表。

三、朋友圈提到首屏

朋友圈在「发现」页,而「发现」是四个 tab 里最不像目的地的地方——它是入口的集合。一个人每天看朋友圈的次数远多于看小程序,却要多走一层。把朋友圈放到「我」的首屏,作为唯一一个社交模块,其余工具入口留在下面。

这一条我犹豫最久。它动了产品的重心:微信没有「首页」的概念,把朋友圈往前提,等于承认它是一个内容产品。但它确实是每天被打开最多次的那一屏,我只是承认这个事实。

代价

并掉通讯录之后,最难处理的是肌肉记忆。十年里所有人找人都走「通讯录」这个 tab,突然消失会让人慌。所以保留一条退路:在「人」筛选下,右侧的字母索引和原来完全一致,位置、字号、点击热区都不变。熟练用户打开微信,切一次筛选项,剩下的动作和十年前一样。

结构可以改,手感不能改。改结构是为了让新用户少走弯路,保手感是为了让老用户不必重新学。

测量

重设计前后,几个能直接数的数字:

  • 一级 tab:4 个 → 3 个
  • 给非最近联系人发消息:3 次点击 → 2 次(切筛选、点人,消息框直接展开)
  • 会话行高:72pt → 64pt,首屏可见会话 6 条 → 8 条
  • 服务号在会话流中的占比:约 30% → 0
  • 从打开到看朋友圈:2 次点击 → 1 次

行高降到 64pt 之后,头像从 52 降到 48,消息预览的字号保持 14pt 不动。可读性靠字号保证,密度靠行高和间距找回来,这两件事不该互相挤。

没有做的事

没改品牌绿,没动支付,没做深色模式,也没有碰设置页。这些都在可改范围之外——它们要么是品牌资产,要么是另一个独立的问题。一次改一个层级,是这个案例唯一的方法论。

顺带一提,灰色的辅助文字我全部提到了 4.5:1 以上的对比度。原生界面上大量时间戳和消息预览的对比度在 3:1 左右,看起来安静,实际很费眼。

关于这个案例 这是个人练习,与腾讯无关,未使用任何官方设计文件。界面里的会话内容、人名和时间都是示意,为了让密度接近真实使用状态。