Bret Victor 可探索的解释 Explorable Explanations (2011)
译按
或许和游戏群体介绍 Bret Victor,可能不那么恰当但却很直觉的比方是:交互设计和计算机科学界的 Jonathan Blow。他们都是拥有强大演讲魔力的布道者,对技术有深刻认知和范式反思的思想者,动手能力极强,并且以自身创作带来巨大持久影响的创作者。
Bret Victor 是先前在 Nicky Case 可探索的解释 Explorable Explanations (2014-2015)[1]》(2011) 经典的一篇阐述如何做交互式的视觉化(Interactive Visualization)的方法论式的元文本,这些都被后续的 EE(Explorable Explanation)领域的人们反复提及。
这部分的思索其实在播客 E33 作者 | 玩家 | 文学 | 读者 | 变成 | 的 | 与 结尾部分的思考大体是一致,真正的电子书的可能性并不是今天我们看到的电子化的纸质书,计算机与游戏有机会能够释放出更大的媒介可能性。而在这篇十多年前的文章中,Bret Victor 不仅具体提出了透明化论证与模型的反应式文本,将抽象直觉化的可探索的例子,低门槛地轻量背景信息搜索、他还看到了更深一层的要点:改变读者与文本的关系,让文本不再仅是有待阅读和消费的事物,而能成为思考的环境与探索的脚手架。或许这也是计算机先驱Alan Kay所追求的「对称创作和消费(symmetric authoring and consuming)」
但就像是 Victor 在《The Future of Programming》中哀叹的,技术变化是快的,而认知和想法的变化是缓慢的,四十多年前的编程先驱无法想象现今我们还在使用线性化的,文本团块式的编程语言和思想,而我们能够迎来电子媒介的潜能被更多挖掘而被更多人接受的那一天吗?亦或者四十年后我们仍然还是在超高速的计算机上显示着静态学术论文的PDF呢。
Bret Victor
Bret Vicotr 是一位交互设计师,计算机科学家,电气工程师,在加州理工和加州大学伯克利获得电气工程学位,在苹果公司工作参与了 iPad,Apple Watch 等产品开发,后离开致力于开发软件使人们对系统理解与建模,目前在他创建的研究实验室 Dynamicland 工作,正在发明一种「新的计算媒介,让人们与现实世界中的真实物体一起工作,而不仅仅是屏幕上的虚拟对象」。
其演讲《Inventing on Principle》,《Stop Drawing Dead Fish》以及《The Future of Programming》受到了广泛关注与思考,他的工作集中在媒体从印刷到计算机再到未来技术的演变上,他称之为「动态媒体」,他认为人们把计算机当作了「超快速纸张模拟器」,并且设想未来技术可改变其物理性质。
他在个人网站上这样排布了自己的生命历程:
第一章:some choice artifacts from the first 80% of my life (苹果公司经历下方的小字写着 inventin’ shit.)
第二章:减少抽象性和间接性的工具和技术。鼓励人们通过探索和直觉来理解和创造。(Tangle 和本文所归属的 Explorable Explanation 属于此)
第三章:为看见,理解和创造系统而构想一种人性化的媒介 toward a humane medium for seeing, understanding, and creating systems (抽象阶梯,stop drawing dead fish 属于此)
第四章:This is what I'm doing with my life. 那正是 Dynamicland
个人博客:http://worrydream.com/
Dynamicland:https://dynamicland.org/
对 Dynamicland 反思相关的译文:Dynamicland和异想天开的数字对象
原文链接:http://worrydream.com/ExplorableExplanations/
成为一个主动的读者(active reader)是什么意思?
一个主动的读者会提出问题,考虑替代方案(alternatives),质疑假设,甚至质疑作者的可信度。一个主动的读者试图归纳具体案例,并为一般性而构想特定例子。一个主动的读者不会被动地吸收信息,而是把作者的论述作为批判性思考与深入理解的跳板。
我们的阅读环境是否鼓励主动的阅读?或是完全反对?一个典型的阅读工具,如一本书或网站,显示的是作者的论点,而非其他。读者的思想路线仍是内在和不可见的,模糊且推测式的(speculative)。我们构想问题,但无法回答它们。我们考虑替代方案,但无法探索它们。我们质疑假设,但无法验证。因此,到最后,我们盲目地相信,或盲目地不信,我们错过了来自对话和探索的深刻理解。
可探索的解释(Explorable Explanations)是我的大型项目(umbrella project),用于实现并鼓励真正地主动阅读的想法。其目标是改变人们与文本(text)的关系。现在人们将文本看作有待消费的信息(information to be consumed)。而我希望文本被当作一个在其中思考的环境(environment to think in)。
这篇文章展示了一些初步想法的例子:
一个反应式文档(reactive document)允许读者把玩作者的假设和分析,并看到其后果(consquences)。
一个可探索的例子(explorable example)使抽象具体化,并使读者对一个系统如何运作形成直觉。
背景化的信息(Contextual information)使读者能够即时了解相关材料,并对作者的主张进行核对。
像往常一样,如果这些启发了你用这些概念做了点什么,我很乐意看到你想出的东西。
1.反应式文档 Reactive Documents
Ten Brighter Ideas[2] 是一个对于反应式文档的我做的早期原型。读者可以把玩各种主张的前提和假设,并立即看到结果的更新。这就像一个无电子表格的电子表格。试一试吧。[3]
下面是同一概念的一个更简单的例子。
第21号提案:国家公园的车辆牌照费
现在的情况是这样的:
加州有278个州立公园,包括州立海滩和历史公园。目前4亿美元的预算不足以维护这些公园,150个公园将被关闭,至少是部分关闭。大多数公园收取每辆车12 美元的门票。
提案 21 会做什么:
提案建议向车主的年度登记账单收取额外18美元,作为国家公园基金的资金。支付该费用的汽车可以免费进入公园。
分析:
假设对 100%(0%-100%) 的车辆登记(车辆登记/加州纳税人)收取额外的 18(0 - 50) 美元。支付费用的人(支付费用/所有人)可以免费(free - $ 25)进入公园。
这将增加4.37亿美元的收入(5.04亿美元的税收,减去6700万美元的门票收入损失),国家公园的总预算为8.37亿美元。这足以维持公园目前的状态,并在未来7年内资助一个使安全和清洁达到可接受标准的计划。
公园的游客将增加34%,达到每年1亿人次。
(这个提案是真实的,但分析是为了这个例子而生造的,很可能非常不准确。)
(译注:上文中加粗部分在网页端是可以直接拖拽在区间滑动或进行切换的,而斜体部分的数字会根据读者的交互和切换而自动重新计算)
这是个好提案吗?如果没有上下文的话很难评估。主动的读者可能会想,「为什么是18 美元?如果税更多或更少呢?」 或者,「公园的门票是否可以提高?」如果我们是在纸上阅读,这些问题只能通过电话或大量的研究来回答。
但幸运的是,这并不是纸。上述分析的某些部分有下划线,试着调整它们,看看你是否能回答这些问题。
注意你调整的后果是如何反映在下面的段落中的。读者可以探索替代情境(alternative scenarios),了解其中的权衡,并对该提案是否是一个好的决定而得出一个更有信心的结论。
建模 Modeling
情境建模并没有什么新意。这个提案的作者肯定也有一个Excel电子表格来回答同样的问题。但一张电子表格(spreadsheet)不是一个解释(explanation)。它仅仅是一个数据集(dataset)和模型;它不能被阅读。一个解释需要一个作者,来阐释模型的结果,并通过语言和图形将其呈现给读者。
反应式文档将类似电子表格的模型整合到作者的文本中。它可以取决于读者的兴趣水平,在多个层次上被阅读。匆忙的读者可以略过它。休闲的读者可按原样阅读。好奇的读者可以调整作者的情境。投入的读者可以则探索他们自己构想的方案。
与电子表格不同,这里探索的门槛极低,只需点击和拖动。这就邀请休闲读者参与进来开始探索。它使读者从被动转为主动。
透明性 Transparency
在作者方面,这种形式鼓励一种透明性(transparency)。作者的论点不能简单地是一个由引述和无来源数据组成的大杂烩。反应式文档要求作者公开其论点背后的模型,将它们开放出来接受仔细推敲。(在 Ten Brighter Ideas[4] 中,读者甚至可以直接编辑模型的源代码,也可以访问所有数据的主要来源。)
不诚实的作者总是存在。他们可能使用基于错误的推理或数据模型,但透明性意味着错误的模型可被检查和反驳。或他们可能根本不提供任何模型,但也许读者能学会对非可探索性的论点保持怀疑。
辩论 Debate
多个作者可以对同一情况进行建模,读者可以进行比较。如果你看一下赞成和反对上述提案的团体,你会发现他们基本上只是在四处投掷无来源的引述,除了情感上的诉求外,没有给读者留下什么。那如果双方都被要求提供反应式文档,而读者可以批判性地探讨其预测的情境,那会怎样?
如果读者希望(wanted)探索这类情境,因为这实际上很有乐趣(fun)呢?
2. 可探索的例子 Explorable Examples
下面是一个对数字滤波器的典型描述,你可在经典教科书中找到。
下面是一个简化的模拟状态变量滤波器(analog state variable filter)的数字改编版。
这种构造(topology)对嵌入式音频处理特别有用,因为Fc(截止频率)和Q(谐振 resonance)是由独立的系数 kf
和 kq
控制的。(对于大多数滤波器,系数是这两个参数的函数,这就排除了预计算的查找表)。
系数和传递函数是:
一些频率响应的例子:
我们的作者很贴心地提供了几个例子,许多作者会认为这些方程已经足够了。但我们关心的是滤波器的动态行为(dynamic behavior),当我们改变参数 Fc 和 Q 时,响应是如何变化的,而两个静态例子给我们的启示很少。
幸运的是,这并不是一本实体书,所以我们并不局限于静态例子。蓝色的文字表示有东西可以玩。试着玩一玩吧。
我们并不局限于作者所选择的例子,我们可以看到滤波器对任何我们想要的参数的反应。我们可以做出作者未提及的发现(discoveries)。(例如,我们看到这个滤波器在低Q值时有稳定性问题。)在玩的过程中,我们会想到问题(这个滤波器在哪个区域是稳定的?我们从哪里开始失去低通响应?),我们可以通过实验来立即回答这些问题。
直觉 Intuition
通过观察调整参数时的结果变化,我们可以对系统行为发展出一种直觉。图中使用的多种表示方法(multiple representations)很有帮助。我们看到了6种描述滤波器特征的不同方式:
每种表现都给出了一个独特的洞察。通过观察它们如何对我们的实验做出反应,以及它们是如何相互作用的,我们就可以发展出一种深刻的理解(deep understanding),不仅是对这个滤波器的结构,而是对整体数字滤波的理解。
探索滤波器的空间成为一种游戏。
顺带一说,这个频率响应不是简单地从传递函数中绘制出来的。而是模拟了实际滤波器的脉冲响应,并显示了其快速傅里叶变换(FFF, fast Fourier transform)。我认为这样做更诚实,而且即使我们允许读者改变滤波器的结构,也依然有效。(不过,Z-plane极点位置是来自传递函数)。
附带地,非工程人员可能会喜欢另一种表现方法。把开关拨到左边,再试着玩一次。
(译注:这部分应该是音频的开关 <div id="filterAudioSwitch"></div>
大概由于这是十年前的网页所以这部分随着时间关系不可用
推荐对 Filter 和声音的朋友可以尝试 Ableton 提供的交互式教程 Learning Synth[5])
信任 Trust
我已经谈到了信任以及对作者主张的验证。你可能会感到惊讶于这种关切甚至也与工程教科书中相关。在玩滤波器的响应时,我们看到我们的作者并不完全诚实。Fc 的公式实际上是一个近似值。并可以注意到蓝线(标称的Fc)与峰值(实际的谐振频率)并不一致。
通过任意调整参数,我们可以大概感觉到近似值在何处成立。(实际上,在高 Q 值时非常好,而这正是我们通常关心的准确频率。) 事实上,边栏(译注:这边提到的边栏是上方插入的关于FFF的「顺带一说」的那段)提到的这个滤波器的整个前提(参数是可分离的,使用了FFF 等)可能被认为是营销术语。这并不是严格意义上的真实,尽管在 0.3 < kf
< 0.5左右的情况下似乎相当接近的,我们可以用这种洞察来判断滤波器是否进行了过采样(oversample)。
解释 Explanation
我们很容易被这样一个交互式部件的新颖性所打动,但交互性本身并非真正的重点。这个例子的重点,即我称它为「可探索的解释」的原因,是可探索性与解释相结合的(the explorable is integrated with the explanation)微妙之处。
就像前面的提案例子一样,滤波器的描述作为一个静态的解释可以像普通文本一样被阅读。读者没有被强迫互动以进行学习。如果读者想深入了解,如果他们有好奇心或未解答的问题,他们就会进行互动。没有任何 UI 元素在大喊大叫吸引人们的注意。读者不会被传送到一个分隔的「交互的」环境中。相反,读者只是简单地微调作者已展示的例子。
大多数交互式部件会把用户扔在一个沙盒(sandbox)里,说「自己想办法解决」。这并不是解释(Those are not explanations)。对我来说,「可探索的解释」概念的一个重要方面是,作者在对话中坚持自己的立场(holds up their end)。作者必须引导读者,并为学习经验提供一个结构。只有这样,读者才能通过提出和回答作者引出的问题来作出回应。
3. 背景信息 Contextual Information
尽管我们可能希望作者写出可探索的解释,但大多数人不会。即使是有良好意图的作者,也不能预测读者想要探索的一切。而有些作者,也没有好的意图。因此,试问:
我们如何才能使现有的文档具有可探索性?主动的读者如何在阅读正常文本(normal text)时提出问题和质疑假设?
举个简单的例子,考虑下面这段你可能在典型的宣传网站上找到的文字:
加州的可再生能源 Renewable Energy in California
加利福尼亚州在风力发电装机容量方面居全国之首。美国超过三分之一的风力发电在加州产出。2004年,加州的风能生产了42.58亿千瓦时的电力,约占该州总电力的1.5%。这足以照亮一个像旧金山一样大的城市。
加州的13,000多个风力涡轮机,或者说,加州所有风力发电能力和输出的95%,位于三个主要地区。Altamont Pass(旧金山以东:NREL 提供的这张照片中的一部分显示在右边),Tehachapi (Bakersfield 东南)和 San Gorgonio(靠近棕榈泉,洛杉矶东部)。
加州的风力发电量真的领先于全国吗?让我们来看看。
将你的鼠标指针移到上面这段话中的「加州」一词上。 按下「W」键(代表「维基百科」)。 输入「风」。
我们了解到,德克萨斯州和爱荷华州现在领先于加利福尼亚州。看来这篇文章已经过时了,或者是基于过时的信息。了解到这一点,我们就可以对文章的其余部分持谨慎态度。或者,也许我们会受到启发,想知道这种转换是什么时候发生的,以及是什么原因造成的。
试试在其他词上搜索。
(译注:网站后台可以看到,这个十年前的网站的 wikipedia.js
应该有部分不再可用了,目前仅能够做到修改文本而不能自动触发检索,文中的每一个词上按下w都可以搜索。
此外,最近(2022年)Nicky Case 所开发的一个内测中的递归式的阅读结构意图类似于这个早期的模型,进一步使用了无限展开和收起的设计,在保持位置的同时也非常符合创作者的通常研究和思考的模式)
鼓励 Encouragement
查询相关信息并不新鲜。你可能经常这样做,选择一个词,把它复制到剪贴板上,打开一个新的标签,把这个词粘贴到谷歌搜索栏中,扫视谷歌的结果,点击维基百科的文章,扫过文章中你想知道的内容,关闭标签,最后试图在原始文章中找到上次读到的位置。
上面的例子基本上做的就是这样,只不过它几乎毫不费力,而且你不会失去你的位置。
这有很大的不同。我相信读者会不断地在好奇心和懒惰(curiosity and laziness)之间进行权衡,不断地评估当个主动读者所需的努力。而大幅降低努力的门槛能鼓励读者问出想法中的每个问题。
同样,重点不是这个特定例子中的特定互动。这是一个更大的目标,即把控制权交给读者。鼓励读者提出问题,验证假设,建立联系,并遵循自己的兴趣。将作者的文本视为承载读者自己探索的基础层。
4. 该怎么做?What to do?
我认为Ten Brighter Ideas[6],以及上面的三个小例子,仅仅暗示了主动性阅读的潜力。「可探索的解释」的目标是要改变人们与文本的关系。人们目前认为文本是要消费的信息。我希望文本成为一个思考的环境。
我认为,前进的三步是:
范例 Examples:几乎在任何地方,你都可以看到静态的解释正乞求着被赋予生命。让我们这样做吧。每一个练习都能让人更好地理解各种可能性,导向更好技术的发明,并能帮助普及这个概念。
工具 Tools:可探索的解释如果难以编写,那就难以流行起来。必须发明工具,使作者能够并鼓励他们让自己的作品变得具有可探索性。它能否像写作静态文本一样容易?
我发布了Tangle[7],这是 Ten Brighter Ideas[8] 和上述例子背后的 JavaScript 库。这是一个很好的引导步骤,但离创作性工具(authoring tool)的目标还很远。这样的工具可能是什么样的呢?某种融合了文字处理器和电子表格的工具?一个类似 Inform[9] 的动态文本创作环境?
那么用于探索正常文本的工具呢,就像上面的最后一个例子一样?
文化 Culture:我们如何让读者需要(demand)可探索的解释,而拒绝静态文本?
参考资料
Nicky Case 可探索的解释 Explorable Explanations (2014-2015): https://mp.weixin.qq.com/s/3-1M8qJb0y_5Q2xgFJKUig
[2]Ten Brighter Ideas: http://worrydream.com/TenBrighterIdeas/
[3]试一试吧。: http://worrydream.com/TenBrighterIdeas/
[4]Ten Brighter Ideas: http://worrydream.com/TenBrighterIdeas/
[5]Learning Synth: https://learningsynths.ableton.com/
[6]Ten Brighter Ideas: http://worrydream.com/TenBrighterIdeas/
[7]Tangle: http://worrydream.com/Tangle/
[8]Ten Brighter Ideas: http://worrydream.com/TenBrighterIdeas/
[9]Inform: http://inform7.com/
可探索的解释 Explorable Explanation
Nicky Case 可探索的解释 Explorable Explanations (2014)
Nicky Case 行之明也 I Do And I Understand (2015)
日 | 落译介计划 是媒体实验室落日间对一些有助于思考游戏/电子游戏的外文文本翻译和推荐/索引计划。(点击原文或查看网站 xpaidia.com/sunset-project/)。