无限滚动消除位置感与终点感
别名: 无限滚动无终点 · lost in stream · 无页码流
概念解释
无限滚动(infinite scroll)在接近底部时自动追加下一批内容,列表看起来没有最后一屏。它拿掉的是两样东西:位置感——无法说出自己在全集的哪一段;终点感——没有「已经看完」可以停下来的信号。这和页脚够不够得着、离开再回来位置在不在,不是同一件事。
机制
连续追加把结果空间变成一条没有刻度的管子。没有序数,人不能把「刚才那一段」命名出来,也不能估计还剩多少。没有边界,停止规则从「看到尽头」变成「自己决定累了」——而「累了」是含糊的内部状态,很容易被下一批刚出现的内容再推迟一次。信息流产品正是靠这个推迟来延长停留:不是用户找不到出口,而是出口从未以「完了」的形式出现。
滚动位置用像素表达,像素在追加后会重排,同一条内容的坐标不稳定。人用来定向的往往是视觉地标(某张图、某条标题),地标一滚出视口就只剩「再往下」这一个动作。时间一长,工作记忆里的地标被新项目覆盖,回头找的成本急剧上升。这不是加载失败,是坐标系从未被建立。
怎么研究
用停止与定位:给有限但伪装成无限的集合,看人何时停止、能否指出「大概看了多少」、能否凭描述回到先前某条。自变量是有无页码/进度/明确终点。因变量是停止时间、位置估计误差、再找到目标的滚动距离。
对照不要做成「分页一定更好」:测的是有没有位置与终点,不是切块控件长什么样。若加上「已加载 n / 共 N」而无限滚动仍在,位置感可以部分回来,这说明真正起作用的是坐标,不是滚动本身。
边界
没有自然全集的内容(实时聊天、监控事件、生成中的日志)本来就没有终点,假装分页会造假边界。休闲浏览、发现导向的信息流里,失去终点有时是产品有意为之,但必须承认代价是用户难以停止、难以引用。专业检索、比价、审计、邮件这类需要穷尽或引用的任务里,这个代价通常不可接受。总量已知却仍无限追加,是在有坐标可用时主动丢掉坐标。
怎么落地
- 先问任务要不要「看完」和「回到某段」。需要其中任一,就不要用无坐标的无限追加;至少提供已加载数量、总量或可分享的定位。
- 若仍用自动追加,在列表旁给出不随像素漂移的位置表达(日期分割、已看条数、区间标签),让人能说出自己在哪。
- 在真正耗尽时给出明确终点,而不是永远转圈等待下一批。
- 验证:让人看一段时间后回答「你在全集的哪里、还剩多少、刚才那条叫什么位置」。答成「就是往下翻」即位置感失败。再看有没有人报告停不下来却说不出为什么还在翻——那是终点感被拿掉了。