案例 01 · 交互架构
重新设计微信:把四个 tab 压成三个
微信的一级结构从 2011 年到现在基本没变过,而它承载的东西已经变了十倍。这次只做一件事:把重复的入口并掉。
- 角色
- 交互设计、界面设计
- 时间
- 2026 年 9 月,三周
- 范围
- iOS 版微信 8.x
微信的一级导航是四个:聊天、通讯录、发现、我。这套结构在功能只有聊天和朋友圈的时候是准确的,但它今天还同时装着支付、小程序、视频号、公众号、文件、群接龙和一堆生活服务。功能在长,结构没有跟着长。
所以这次重做不碰配色,也不碰图标风格。要回答的问题只有一个:四个一级入口里,有没有哪两个其实在做同一件事。
先数一遍
我把「给一个已经存在的联系人发消息」这条路径完整写了下来,包括所有人都会顺手做的那几次多余操作:
- 打开微信,默认落在聊天页,最近会话里没有他
- 切到通讯录,滚动或者点右侧字母索引,找到名字
- 点进资料页,再点「发消息」,才落到会话里
- 如果只是发一句「在吗」,这一路上已经点掉了三次
而如果他刚好在最近会话里,全程只要一次点击。同一个目的,两条长度差三倍的路径,分岔点只是「他最近有没有找过你」。这是结构问题,不是搜索框能不能用的问题。
三个决定
一、通讯录并回会话页
通讯录里的每一行和会话里的每一行,本质是同一种东西:一个人。区别只在于后者多了一条最近消息。它们被拆成两个 tab,是因为 2011 年的手机屏幕小、会话列表短,需要单独一个地方放全部联系人。
现在不需要了。在会话页标题下方加一排筛选项:全部 / 人 / 群 / 服务。「全部」就是原来的聊天页,「人」是通讯录,「群」是所有群聊,字母索引只在「人」这个筛选下出现。一个页面,四种看法。
微信
-
周
2周航
设计稿第三版已经上传,重点看会话行的密度
-
评
7产品评审群
李婵:明天十点开始,别迟到
-
订
订阅
今日更新 3 篇 · 折叠的服务号
-
母
母亲
语音 6 秒
-
陈
陈默
那我先按三个 tab 的版本往下做
-
文
文件传输助手
微信重设计-测量表.xlsx
-
服
服务通知
你的快递已放至 3 号柜
二、服务号收进「订阅」
会话列表里有一类东西,你从来不会回复它,但它每天都在顶上占位置。服务号的通知被塞进同一个列表,于是「谁会找我」和「谁在推给我」混在了一起。我把所有服务号通知收进一个叫「订阅」的固定条目,点开是独立的信息流,未读合并成一个数字。
判断标准很简单:这个会话能不能回复。不能回复的,就应该离开会话列表。
三、朋友圈提到首屏
朋友圈在「发现」页,而「发现」是四个 tab 里最不像目的地的地方——它是入口的集合。一个人每天看朋友圈的次数远多于看小程序,却要多走一层。把朋友圈放到「我」的首屏,作为唯一一个社交模块,其余工具入口留在下面。
这一条我犹豫最久。它动了产品的重心:微信没有「首页」的概念,把朋友圈往前提,等于承认它是一个内容产品。但它确实是每天被打开最多次的那一屏,我只是承认这个事实。
代价
并掉通讯录之后,最难处理的是肌肉记忆。十年里所有人找人都走「通讯录」这个 tab,突然消失会让人慌。所以保留一条退路:在「人」筛选下,右侧的字母索引和原来完全一致,位置、字号、点击热区都不变。熟练用户打开微信,切一次筛选项,剩下的动作和十年前一样。
结构可以改,手感不能改。改结构是为了让新用户少走弯路,保手感是为了让老用户不必重新学。
测量
重设计前后,几个能直接数的数字:
- 一级 tab:4 个 → 3 个
- 给非最近联系人发消息:3 次点击 → 2 次(切筛选、点人,消息框直接展开)
- 会话行高:72pt → 64pt,首屏可见会话 6 条 → 8 条
- 服务号在会话流中的占比:约 30% → 0
- 从打开到看朋友圈:2 次点击 → 1 次
行高降到 64pt 之后,头像从 52 降到 48,消息预览的字号保持 14pt 不动。可读性靠字号保证,密度靠行高和间距找回来,这两件事不该互相挤。
没有做的事
没改品牌绿,没动支付,没做深色模式,也没有碰设置页。这些都在可改范围之外——它们要么是品牌资产,要么是另一个独立的问题。一次改一个层级,是这个案例唯一的方法论。
顺带一提,灰色的辅助文字我全部提到了 4.5:1 以上的对比度。原生界面上大量时间戳和消息预览的对比度在 3:1 左右,看起来安静,实际很费眼。