Steve Krouse于2018.10.2在The Phenomenal World发表了一篇名为The “Next Big Thing” is a Room 的文章。上周在Hacker News上读到这篇文章后,兴奋不已。

我近期正在尝试写文献综述风格的文章,编程作为一种思考方式是这个体裁的第一次尝试,本文是第二次尝试。

The Phenomenal World

现象世界(The Phenomenal World)是份有趣的刊物。名字听起来像一份哲学刊物,它愿意刊载的主题却十分广泛:元研究(metaresearch)、数字伦理(digital ethics),保障收入,高等教育财政,或社会科学,哲学,经济史以及其他类似领域。

“下一件大事"是一个房间

房间

如果你不抬头,Dynamicland看起来就像是奥克兰市中心一栋普通建筑二楼的普通房间。桌子和椅子,沙发和地毯,分散的办公用品以及墙上贴着的照片。这是一个温馨的空间,像是一所小学的教室,而不是一个共享的环境。但Dynamicland不是一个普通的房间。Dynamicland被设计成除了正常之外的任何东西。

Dynamicland

Dynamicland由著名的界面设计师Bret Victor领导,是HARC(人类进步研究社区)的分支,最近成为了YCombinator Research的一部分。Dynamicland是为任何人都无法预料的计算机未来,所绘制的最不可思议的愿景。

让我们把目光落在房间里。随手拾起一张散落在房间里的纸片,选择那些边角上有彩色圆点的。暂时不必太关注这些圆点。你可能注意到了纸上的文字好像是计算机代码。这是一种奇怪的组合: 虚拟世界的计算机代码搁置在现实世界的纸张上。此刻,它们就在你手中。接下来把纸张放在桌子上。

Photo by by Alex Handy

现在你发现这根本不是一个普通的房间。突然间,桌子上出现了其他东西。动态且可见的东西(当然也是虚拟的)。它们甚至可能发出声音。拿起更多的纸片(带有彩色圆点)。把它们放在桌子上。现在,这个房间里的各种图案、人物和声音都聚在了你身边。它们沿着桌子生长、移动和扭曲,彼此相互作用,它们也可能与桌子上的物理实体相互作用,如冰棒棍,彩色方块以及小机器人。

然而它仍然只是一个房间。不是虚拟现实,不是增强现实,当然也不是区块链现实。这是一个再正常不过的房间。直到你开始抬头看。

当你抬头看的时候,你会发现天花板很满,挂着几十台高功率的投影仪,摄像机和扬声器,它们都指向房间。等着你用代码让它们活跃起来。

Dynamicland是一种新型计算机。它不是放在口袋里的小工具,也不是你可以放进包里的小工具。整个房间本身就是电脑。

Illustration by Dynamicland

一个房间大小的电脑?没有屏幕?这是什么过时的观念!这个愿景看起来与我们热盼的虚拟现实截然不同。

Tye Sheridan in Ready Player One.

随着手机和电脑变得越来越好,我们越来越远离物理现实,我们也越来越想彻底抛弃它。我们厌倦了自己有物理限制的身体、背部疼痛、眼睛凹陷、手指关节紧张,如Victor说的:

我们几乎已经放弃了身体。我们工作时坐在办公桌前,玩耍时坐在沙发上,在两者之间运送自己时也是坐着。我们不得不发明这种特殊的人工“运动”概念,以防止我们的身体完全萎缩。
不久我们的日常活动几乎都是由某种“计算机”来调节。 如果这些计算机不属于物理环境,如果它们绕过身体,那么我们就创造了一个人们将会完全不动的未来生活方式。
你想要这样的未来吗,为何它会是一件好事呢?

人类的思想表达中,Bret Victor指着人类上升和下降的图片说,“这就是现在知识工作的意义所在。这就是思想家的意义所在。这意味着人们在一个小矩形前坐着和使用符号……这种知识的运作方式、这种生活方式是不人道的。“

我们的电脑把我们引诱到了我们自制的牢笼里。 我们已经将自己缩减为无形的头脑、紧张的眼睛,抽搐着点击、打字的指尖。我们的手臂、腿部、背部、躯干、双脚、脚趾、鼻子、嘴巴、手掌和耳朵已消失不见。 当我们做着引以为豪的知识工作时,我们只是自己的一小部分。在我们离开办公室回家之前,我们身体的其余部分一无所事。

比起将我们与身体分隔更糟糕的是,我们的设备已经将我们与他人彼此隔离。 当我们与朋友交谈时,当我们走在街上、躺在床上、手握方向盘时,我们目光在何处? 我们当然知道它们本该在哪里,但它们大部分时间都不在它们该在的地方。我们口袋里的小方块完全吸引了我们的注意力。

最糟糕的是,我们已经忘记了计算机最突出的部分:它们的可塑性。我们已经默许,将创造虚拟世界的权利,让渡给那些 能够花费巨资去雇佣足够多的软件工程师的人们。那些击中我们眼睛的光子来自完全可替代像素,但对于我们大多数人来说,这些像素似乎都是用石头雕刻般不可修改。

智能手机应用程序就像从前的厨房用具一样,是一种经过精心设计的单一用途工具,只有极少的可定制性和互操作性。它们有数百万行怪异的代码,只有一大批程序员才能驯服。 一旦人们付了钱,孩子们就会得到神奇的长方形,这些长方形像真正的魔法一样难以理解。

这一切似乎都是不可避免的。这也是为何Dynamicland如此出乎意料和令人耳目一新。Bret Victor所做的工作与硅谷的"破坏性"技术专家完全不同。Victor致力于“增强人类智慧”和“确保人类智慧超越人类力量”,就像Vannevar BushMemex),JCR LickliderARPANET),Ivan Sutherland图形用户界面),Douglas Engelbart电脑鼠标HCI,the mother of all demos),Seymour PapertLOGO),Alan Kay面向对象编程图形计算机窗口桌面隐喻),Ted Nelson超文本超媒体)和Mitch ResnickScratch)。

在许多方面,Dynamicland的联合创始人艾伦·凯(Alan Kay)需要对今天的计算机外观和工作方式负主要责任。1979年臭名昭著的乔布斯访问了施乐帕罗奥多研究中心(Xerox PARC),后来在Apple Macintosh中使用了许多艾伦·凯的想法(之后Mac又被Windows抄袭)。鲜为人知的是,1975年,艾伦·凯提出了一款计算平板电脑,即“Dynabook”,它与现代iPad非常相似!

理解Dynamicland的一种方法是 将其视为对Xerox PARC取得巨大成功之后的后悔反应。今天的计算机只是计算的一种可能图景 – 不是唯一的,也不是最好的。Bret向我们展示了更好的前进方向。一台更人性化的电脑。那台电脑不是一台设备。而是一个看似正常的房间。

我们本不应该如此意外。几乎每栋建筑物里的房间都无声无息地采用嵌入天花板的技术–灯!它如此普遍,我们习惯忽视它。每个房间都配有一些墙上的按钮来控制这些灯。按需照明是我们基础设施的一部分。

灯不是我们随身携带的充电装置。想象一下,人们携带手电筒,无论走到哪里都发射一簇小锥光,世界将会变暗多少。这将是一个小而孤独的个人世界,一个每次只能看到一件事物的世界,一个你的一只手总是充满电子设备的世界。

这就是Dynamicland试图向我们展示的:我们确实生活在那个雾化的手持世界中。我们随身携带着为我们眼睛准备的个人计算设备。人们热切期待新技术可以在Apple Store中排队等待和购买,而不是作为公用事业进行投资和共享。

当你投资公共设施,如道路、电力、照明,你将物超所值。你“免费”获得了许多东西。在Dynamicland中也是如此。我们将得到许许多多源自其设计的“免费”副产品。

首先,您可以免费获得“多人游戏”、Google-docs式的协作。在Dynamicland,计算即社交,就像烹饪是社交的。它也像烹饪一样发生在物理世界里。你不是坐在单人屏幕前,而是使用一系列工具在开放空间中走动。走向某人“烹饪”的某些代码、伸出援助之手、分配任务以及即兴创作,都是极为自然的。你可以随意地运用双手来操作:

Photo by Bret Victor

当我在1月份访问Dynamicland时,我正在构建一个类似电子表格的程序,旁边是我的朋友Omar,他正在构建一个基于地图的界面。我们相邻而坐,能够随时了解对方的情况。有时,Omar需要一种方式来输入数字以控制地图缩放。我的电子表格程序有很多数字,以及操纵数字的方法,所以我们将我的一张纸滑过去,它立即就放大了他的地图。Omar更想要基于滑块(slider)的数字输入,在它被构建之后,他将它滑到我的桌子边,我们使用了一个乘法运算符来扩展滑块的范围。它再次生效了。在Dynamicland,您可以“免费”获得可组合性和互操作性。

你在Dynamicland中之所以能“免费”获得大部分内容,是因为它嵌入在一个非常强大的计算引擎中,这个引擎就是现实。现实世界天然是为多人建造的。现实世界还有许多用于输入数据的设计:按钮,页面,布局和拖放。在Dynamicland中,没有必要编写任何代码。我们可以将该计算外包给它的原始来源,并且仅通过天花板上的摄像头捕获它。Omar建造的滑块是一条长条纸上的鹅卵石。我做的数字是方形的纸片,你可以把彩色的方块放在上面,每种颜色的方块代表10的不同倍数。复制粘贴实际上就是一个复印件,可以用胶水粘贴到你想要的东西上。拖放就是动手移动物体。UI设计中的短语 “直接操纵”(direct manipulation)和“所见即所得”(WYSIWYG)在Dynamicland中具有非常直接的含义。

Dynamicland被设计成可理解的,并且可由任何人修改。这个空间几乎有着杰斐逊式的乡土个人主义精神。代码始终以普通格式显示,并在纸页上打印。此外,编写超过11x17尺寸的纸张的代码被认为是“糟糕的风格”。整个系统Realtalk OS仅有数千行代码,代码张贴在背靠背的两个白板上。

Realtalk OS by Bret Victor

默认情况下,它具有可理解性,可定制性和混搭能力,与我们手机屏幕上华丽优美又彼此隔绝的应用程序形成鲜明对比。人们构建“工具包”,而不是应用程序,各种页面通过聚合而相互增强。我的朋友Omar花了很多时间把Geokit放在一起,它允许你打印出地图,移动它们,放大和缩小,以及叠加人口统计数据。但它只是一个工具包,只是盒子里的几张纸而已。你可以将它与你创建的其他小型纸质程序或其他工具包一起使用,又或是通过强行修改它的代码来解决问题。如果你所做的更改是好的,就取来“打印此页”页面并将其指向修改后的代码。热乎乎的的新版本将在打印机前等你。

Geokit’s parts by Omar Rizwan

这种流动而灵活的媒介可以重塑儿童与技术的关系。想象一下,孩子们放弃了Flappy Bird,Minecraft或Fortnite,他们共同参与创造一个混合了数字和物理实体的游戏。这是数字时代的虚构方式。

From the Dynamicland Zine

同样不难想象,一个未来的Dyanmicland风格的起居室,一个家庭可以在几个小时内发明出像激光袜这样的新游戏,并在同一个晚上来玩耍它!

Laser Socks by Glen Chiaccchieri

印刷机也许是帮助我们了解周围世界的最佳工具。大众印刷的文字在人类的每个角落都给了我们革命:马丁路德的九十五篇论文引起的宗教革命; 洛克、潘恩和报纸引起的政治革命; 牛顿、伽利略的研究刊物引起的科学革命; 小说的诞生引起的艺术革命。作为一个社会,我们认为这种新媒体应该掌握在公民手中,提升和启发我们所有人。拥有一个自由的新闻和公众阅读氛围是民主的必要条件。这就是我们为何建立了图书馆:看似正常的房间,对公众开放,并且充满了人类各个时代最好的思想家的知识。

如果你走进今天的图书馆,那些曾被人引以为豪的书籍,大多积满灰,落满尘。虽说偶尔有人翻阅一下,但实体书已是明日黄花。通过数字屏幕,它们可以变得更易获取也更便捷 – 尽管仍然不便宜。图书馆仍有其用途。如果你躲在书堆上,往后看去,你将看到座位挤满了各色人群。大多数人都在他们的计算机上,有些是在图书馆提供的计算机上,少数人在读书。在这个美丽的公共空间里,每个人都在自己的世界里做自己的事情,难道不是有点令人难过吗?大家没有交流。没有合作。

如果我们决定重构我们的公共知识空间以适应今天的新媒体,我们该怎么办?如果我们想重构公共空间,让它们真正开放、真正共享,并扭转上一次媒体革命带来的雾化影响(人们彼此隔离),又该怎么办?

图书馆不是偶然发生的。Andrew Carnegie自掏腰包建造了2509个图书馆。Dynamicland并不便宜,也不会偶然发生。一个现代的Carnegie会降临吗?我们等着他来资助吗?或者我们是否需要自己动手,在Dynamicland网站上做一千个小额捐款?或者政府是否有可能在这个问题上买单?或者最有可能的是,Dynamicland是否会逐渐消失,作为一种从未到来的未来愿景。你希望活在怎样的未来?下次走进房间并开灯时,请考虑这些问题。

评注

这篇文章写得流畅动人,许多地方极具煽动力。好几处我想插入自己的思考和评注,最后都放弃了,决定通通放在文章末尾,不破坏原文的结构。

艾伦·凯乔布斯

艾伦·凯(Alan Curtis Kay,1940年5月17日-)在面向对象编程和窗口式图形用户界面方面作出了先驱性贡献,他是Smalltalk的最初设计者。2003年获得图灵奖。Smalltalk吸取了Simula的class的概念,并发展出图形使用者界面(GUI),即是苹果麦金塔电脑的原型。

《史蒂夫·乔布斯传》中记载,1979年,乔布斯到PARC参观。

Smalltalk的演示展现了三项惊人的成果。第一项是电脑之间如何实现联网,第二项是面向对象编程是如何工作的。但乔布斯和他的团队对这些并不感兴趣,因为他们的注意力完全被图形界面和位图显示屏幕吸引了。“仿佛蒙在我眼睛上的纱布被揭去了一样,”乔布斯后来回忆,“我看到了计算机产业的未来。”

苹果公司对施乐 PARC 的这次技术盗窃,有时被形容为工业史上最严重的抢劫行为之一。乔布斯偶尔也会骄傲地承认这一说法。「归根结底,我们只是想尽量了解有史以来最棒的发明,然后将它运用到我们正在做的事情中。」 他有一次说,「毕加索不是说过吗,‘好的艺术家抄袭创意,伟大的艺术家窃取灵感。’ 在窃取伟大的灵感这方面,我们一直都是厚颜无耻的。」

乔布斯在2007年著名的iphone发布会现场PPT上引用了艾伦·凯说的一句话:

People who are really serious about software should make their own hardware.

这句话一直是苹果的核心战略。

Dynabook

艾伦·凯发明Smalltalk编程语言的目的之一是为了发展Dynabook。Dynabook的主要使用者是小孩,它能帮助小孩更好地去探索和学习。

艾伦·凯在1972年发表的一篇论文:一款适合各年龄儿童的个人电脑(A Personal Computer for Children of All Ages),这篇论文详述了Dynabook的构想。

艾伦·凯在谈论Dynabook的论文里,所表现出的睿智、远见和对教育的不满,在今天看来,依然字字珠玑。这么多年过去了,人们创建了很多新东西,偶然读起艾伦·凯的那篇文章,我很难相信这个领域是在进步。

可组合性和互操作性

也许你不大理解什么是可组合性和互操作性。但你应该体验过什么是不可组合性不互操作性,如果你曾经用过apple的产品的话。最典型的代表莫过ipad。

《史蒂夫·乔布斯传》中有两段读来有趣:

数字世界最根本的分歧是开放与封闭的对立,而对一体化系统的本能热爱让乔布斯坚定地站在了封闭一边。从家酿计算机俱乐部传承下来的黑客精神倾向于开放的方式,

大多数的黑客和业余爱好者都喜欢定制和改装自己的电脑,往上面插上各种部件。对乔布斯来说,这会威胁到无缝的用户体验。骨子里还是一名黑客的沃兹尼亚克并不同意。他想要AppleII带上8个扩展槽,可以让用户随心所欲地插上小型电路板或者外接设备。乔布斯坚持只能有两个扩展槽,一个给打印机,另一个给调制解调器。“通常我是个很好说话的人,但这一次我告诉他:你要是只想要两个扩展槽的话,就自己去做一台吧。’”沃兹回忆道,“我知道,像我这样的人最终总是会想出点儿东西来加到电脑上的。”

黑客热爱开放系统,以及由此带来的可组合性和互操作性,《黑客: 计算机革命的英雄》写到这个人群的信仰:

对计算机的访问(以及任何可能帮助你认识我们这个世界的事物)应该是不受限制的、完全的。任何人都有动手尝试的权利! 黑客们相信,通过将东西拆开,了解它们的工作原理,并根据这种理解创造新奇的甚至更有趣的东西,可以学习到关于系统(关于世界)的重要知识。他们痛恨一切试图阻止他们这么做的人、物理障碍或者法律。

相比于mac,unix/linux被视为拥有强大的可组合性/互操作性,前提是你理解了这个系统的哲学。关于unix/linux的可组合性,《unix编程艺术》一书有许多精彩论述,大家可以翻阅。尽管unix/linux社区秉承KISS之类的好习惯,但要理解它们依然不是普通用户能轻易做到的。相比于windows和mac,unix/linux的可组合性和互操作性要好很多,但也并不理想。艾伦·凯在squeak社区中对unix颇有微词,unix的文本化和管道带来了可组合性,但却十分原始和低级。unix不是面向对象的。

计算机的可塑性

最糟糕的是,我们已经忘记了计算机最突出的部分:它们的可塑性。我们已经默许,将创造虚拟世界的权利,让渡给那些 能够花费巨资去雇佣足够多的软件工程师的人们。那些击中我们眼睛的光子来自完全可替代像素,但对于我们大多数人来说,这些像素似乎都是用石头雕刻般不可修改。

智能手机应用程序就像从前的厨房用具一样,是一种经过精心设计的单一用途工具,只有极少的可定制性和互操作性。它们有数百万行怪异的代码,只有一大批程序员才能驯服。 一旦人们付了钱,孩子们就会得到神奇的长方形,这些长方形像真正的魔法一样难以理解。

今天的这个局面,乔布斯应该要负主要责任。这篇文章中的火药味似乎也是针对乔布斯。文中反复提到的魔法盒子,我想作者指的是ipad/iphone。《史蒂夫·乔布斯传》中,乔布斯/苹果推动了个人电脑产业以及后来的智能手机产业,windows和安卓只是它的模仿者。最初的人机交互界面(GUI),乔布斯抄自艾伦·凯,当然也加入了很多创新。今天的局面是乔布斯热望的,却不是艾伦·凯能满意的。当然也不会是任何黑客能满意的,所以黑客们今天依然在使用CLI

由于黑客们迫切需要可塑的电脑,所以苹果的联合创始人沃兹尼亚克,会怒气冲冲地反对乔布斯对扩展槽的限制。也是对可塑性的热爱,所以沃兹尼亚克在今天会站出来支持pi-top这款基于树莓派,允许你随意diy的电脑。

开放源代码是增强可塑性的有效方式。但要有效提高可塑性有更多需要做的事情。

关于这点我赞同Dynamicland在faq中写的:

Dynamicland与开源运动分享了许多核心价值观,并在某些方面超越了它们。
Dynamicland的主要设计原则是所有正在运行的代码必须是可见的,印刷在物理世界的纸上。因此,无论何时程序运行,其源代码都可供任何人查看和修改。同样,操作系统本身也是作为代码页实现的,社区成员可以不断修改和改进它。

也就是说,Dynamicland中的物理页面不在git存储库中。社区在空间上组织代码 – 将其放在桌子和墙壁上,将其存储在文件夹,活页夹和书架中。

投影仪与彩色圆点

要理解Dynamicland是不易的,尽管这篇文章写得有趣又吸引人,但读者们读完这篇文章可能依然有许多疑惑,其中典型的困惑如dynamicland是围绕投影仪构建的吗?

Dynamicland在天花板上使用商业相机和投影仪来跟踪物理对象的位置并投影到它们上面。彩色圆点便是为了更方便机器视觉识别。Dynamicland不是关于投影仪的,而是关于可以在公共环境中编程的物理对象。Dynamicland只是从相机和投影仪开始,但Realtalk与所使用的传感器和执行器无关。Dynamicland正在积极尝试其他计算机参与物理世界的方式,例如通过机器人技术。

“永无乡”(neverland)

“永无乡"是codelab.club活动空间的名字。

“永无乡”(neverland)名字来自《小飞侠彼得·潘》,是故事中的一座海岛。在永无乡里,人们永远长不大。

后来,他领着我飞到了永无乡,那儿还有仙子,还有海盗,还有印第安人,还有人鱼的礁湖;还有地下的家,还有那间小屋子。

codelab.club是一个非营利组织(这点和Dynamicland一样),codelab.club的第一笔捐赠来自罗云先生。codelab在广州有一间办公室,我们近期正在装修,投入使用之后,它将对外开放,你可以在任何时间来找我们玩,我们在其中办公,在其中编程,在其中玩乐,在其中做一些有趣的探索和创作。

我们近期计划在neverland使用codelab-adapter做很多有趣的事,codelab-adapter受艾伦·凯的smalltalk影响很深,而Dynamicland将影响codelab-adapter未来的设计。Dynamicland是我们所期待的关于计算的未来图景,我们计划在neverland中实现它。期待你与我们一起来塑造它。

just for fun, just for you.

此外,我们明年三月份,准备参加在UCSD 举办的Open edX年会,年会结束后,我们计划往奥克兰拜访Dynamicland和艾伦·凯,Dynamicland在2018年开始接受访问,如果你也计划同往,欢迎结伴通行。

如果Dynamicland让你热血沸腾,codelab也许是你目前在国内能找到的最理想的地方去实现它:)

期待你的邮件: wuwenjie718@gmail.com

参考