最近我看了Scott Jenson的一场演讲,标题是“Are we really going to use the same Desktop UX forever?”。他是一位很出色的讲者,表达清晰、简洁。如果条件允许,你会愿意听他讲三个小时以上。对于一场关于窗口管理的演讲来说,这算是很高的评价了。
这场演讲的核心观点是:“Apple和Microsoft在桌面操作系统领域不会再创新了,所以未来桌面长什么样,得由我们自己来决定。”不过我认为实际情况更微妙一些:他们其实也在尝试,只是极其保守。正如Jenson所指出的,我们视为“计算机本来就这样运作”的很多东西,其实是对早已不存在的硬件所做的变通。那我们为什么还在接受这些取舍?
![]()
需要说明的是,我不是UI/UX设计师。我不知道自己在做什么,也缺乏把它做出来的技能。我写这些主要是作为一种思维练习,也希望它能促使其他人思考同一个问题。不过,我确实忍受过别人糟糕的选择,而这恰好是所需的大部分资格。
简单说:我想要的是“tmux就是操作系统”,但我想要的是普通人也能用的tmux。我一直在用它,它很棒,但有没有办法把这种可滚动、会话持久、可分离、面向任务的系统的出色体验带给普通人?
我认为可以把问题拆成以下几个部分:
我的屏幕空间一直在变,而且我拥有的空间多得多。
我一天里大约六次从笔记本屏幕切到桌面显示器,再切回笔记本屏幕。当我坐在大显示器或多显示器前时,重叠窗口就不合理了,因为我的空间本来就多到用不完。
不同的人用窗口的方式完全不同。
我们要围绕三类截然不同的人群做设计,而大多数现代操作系统只优化了其中第一类使用场景。
浏览器是迷你操作系统。
到2026年,大家心照不宣地承认,你的大部分软件都跑在浏览器标签页里。这些网页应用会覆盖历史上属于本地应用的大量使用场景。我的桌面操作系统对待浏览器就像对待一个普通应用,而它实际上更接近一个跑在宿主系统里的虚拟化操作系统。
“文件系统”这个概念正在变得越来越弱。
我在Apple Notes里的笔记属于Apple Notes,不属于我的文件系统。我的短信住在iMessage的数据库里,不在我的Documents文件夹。Teams和Slack的内容留在各自应用内部,除非我手动“拿出来”,而拿出来就是复制一份。Firefox可以愉快地显示一个PDF,但这个PDF并不属于macOS,除非我主动做一个动作让它属于。
所以我不是第一个看到这个问题的人。其中一部分已经被解决了,但方向和我想要的不同。还有一部分被解决了,但不是为普通人解决的。
我从一份我不断看到别人引用的文献开始:Henderson, D. Austin and Stuart K. Card. “Rooms: the use of multiple virtual workspaces to reduce space contention in a window-based graphical user interface.” ACM Transactions on Graphics (TOG) 5 (1986): 211 - 243。有意思的是,即便在80年代,人们也已经相当清楚地认识到,当时管理窗口的方式并不好。他们当时讨论的设计大致是这样的,放到今天看依然相当超前。
Henderson和Card用操作系统领域衡量内存的方式来衡量窗口使用。屏幕就是RAM。关掉的窗口就是被换出到磁盘的页。而窗口和内存页一样,不会被随机访问:你总是待在少数几个窗口里,两个到十个,这一组就是任务。程序大约98%的时间都待在这些集合内部,而运行成本的大约一半,发生在切换集合的那2%时间里。Rooms的整个设计思路就是:在你开口要之前,先把下一组预加载好。他们把这称为减少“knowledge faulting in the user”,这是整个文献里最妙的一个说法,我打算一直用这个词,直到有人拦我。不妨在下次公司会议上试试:“我们需要减少用户的知识缺页。”
我找到的更有意思的旁支论文之一是“No Task Left Behind? Examining the Nature of Fragmented Work”。主要是因为它印证了我长期怀疑的一件事:在现代窗口系统上长时间专注单一任务,根本不是人们真实的工作方式。配套论文的标题直接引用了一位参与者的原话:“持续不断、持续不断的多任务疯狂。”人们一天要周旋大约十个“工作球体”,每个只停留几分钟。
最接近我想要的东西的,是一篇叫WindowScape: A Task Oriented Window Manager的论文。
WindowScape彻底放弃了显式分组:每次你改变窗口排列,系统就拍一张照片,你要回去,就回到照片里,而不是往容器里填东西。我很喜欢他们对之前所有系统的一句诊断:“要求窗口必须属于单一分组,等于强迫用户提前决定一个新窗口该归到哪里。”照片这个隐喻还顺手解决了一个我后面会讲到的浏览器标签页难题:一个窗口可以出现在多张照片里,因为正如他们所说,“人们理解一个对象可以有多张照片,而底层对象只有一个。”问题在于,这些照片会蒸发。我认为这正是你想要解决的缺口。
对于第一个问题,我们或多或少已经解决了重叠窗口。平铺窗口管理器确保你最大化利用屏幕空间,可以在不同布局之间切换,而不需要手动调整窗口。但现有的平铺窗口管理器基本有两个问题。
至于浏览器作为迷你操作系统这件事,已经有人尝试去解决了。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.