以你的经验,墨水屏 UI 开发有哪些靠谱的规范?

查看原文 HN 讨论

文章摘要

提问者 BoxOfRain 最近换到了一台黑白墨水屏智能手机(Bigme Hibreak Pro BW),动机是「多少从注意力经济里抽身出来」,他形容这是一件真正很酷的硬件。日常需求这台设备基本都能满足,但有几件事在墨水屏上表现很糟,于是他打算自己写两个项目来补上这些缺口:一个专为墨水屏做的 Lemmy 前端,和一个同样面向墨水屏的 OpenRouter 前端。两者都走浏览器路线而非原生应用——一是为了最大化兼容性(他虽然拿 Bigme 举例,但希望兼容面尽量宽),二是因为他对 Web 远比对 Android 开发熟悉。

他明确说自己想先把墨水屏 UI 设计的原则学明白再动手,以免做出一堆没法用的垃圾。核心困惑有两层:其一,如何把「刷新」当作设计中的一等公民来对待——尤其是在浏览器里根本无法直接控制刷新的前提下;其二,当目标是一块灰度、高对比度的屏幕时,怎样才算是可理解的 UI 惯例。

他列了三个开门就撞上的具体问题:

  1. 流式输出的 LLM 文本对墨水屏几乎是最坏情况。 他需要做缓冲、分块绘制,同时又不能让使用体验变得难以忍受。
  2. 残影(ghosting)是个严重问题。 在这台设备上浏览 HN 就是极其典型的例子。他理想中的方案是尽可能避免滚动、改用分页,但又担心分页做不好会变得很烦人。
  3. 既然只能靠版式与字体来承载整个 UI,哪些设计语言最擅长强调这两点? 他的直觉是早期 Mac OS 版本会是不错的起点——考虑到早期 Mac 的显示器约束,这个类比看上去很相关。

他最后说明,这纯粹是挠自己的痒,做完之后会以 GPL 放到公众手里。这个提问拿到了 214 分和 72 条评论,回复的质量相当高,其中一位(dredmorbius)多年前就整理过一份「墨水屏设计原则」,在这条串里再次贴了出来。

HN 评论精华