Lecture 25. Users (optional)

Announcements

1. 作业与课程安排

  • 作业五:截止时间为周一,已发布一周多,虽然不长,但有助于复习周三的期中考试。
  • 本周日程安排
    • 周一:导师办公时间如常,且有实验九的安排,唯一需要完成的是作业五,实验题目均为可选项,无需提交实验。
    • 周一和周三:将举行家庭作业讨论会,时间为下午3-4点和7-8点。
    • 周三:导师办公时间和期中考试,考试时间为下午7:10至9:00,密码将在Piazza平台上发布。周三没有讨论课、辅导或讲座。
    • 周五:没有导师办公时间,将进行关于“数据与AI的伦理使用”的讲座,教授会在下午2:10至3:00举行一个开放问答活动,不会录制内容。该活动与讲座内容无关的问题也欢迎提问。此外,周五没有考前复习环节。

2. 期中考试准备

  • 练习考试:周一提供练习考试,期间会有Piazza上的问题答疑,并提供24小时开放版本,方便错过定时考试的学生。
  • 练习题内容:取自去年春季期中考试二的题目,重新整理为当前学期的格式。
  • 考试规则
    • 可以使用任意数量的纸张作为草稿纸和笔记。
    • 电子笔记需上传到Google Doc并授予访问权限。
    • 允许使用课程网站上的资源,但禁止访问其他网站和与他人交流。
  • 考试建议:保持良好的休息,合理安排复习,避免考试焦虑,细心审题并循序作答。

特别讲座:人机交互与编程语言的历史

  • 背景介绍:本次讲座由Alan Kay主讲,展示了从1960年代至1980年代的人机交互发展历程。Alan Kay是面向对象编程语言Smalltalk的发明者,并在Apple公司带领团队开发了现代PC操作系统的诸多特性。
  • 讲座内容:讲座视频展示了许多关于计算机用户界面的早期创新,包括图形用户界面、鼠标等关键技术的发明。
  • 启发:通过回顾这些技术历史,激发学生对编程语言在用户界面设计和人机交互领域的重要性产生更深刻的理解。

Alan Kay 讲座内容概述

  • 用户界面设计:用户界面是操作系统之后的重要发展,它不仅让计算机更加高效,还旨在设计出易于理解和使用的系统。
  • 早期的个人计算机:讲座展示了1962年由Wes Clark设计的首台个人计算机“Link”,这是最早的图形用户界面设备之一。
  • 计算机图形学的诞生:Ivan Sutherland的Sketchpad是早期计算机图形学发展的里程碑,它使得在计算机上进行图形绘制成为可能。

计算机图形学与Sketchpad的革命性贡献

  • 计算机图形学的诞生:1962年,Ivan Sutherland 在麻省理工学院的林肯实验室完成了计算机图形学领域的开创性工作,推出了Sketchpad系统。这个系统展示了如何用图形界面与计算机交互,极大地影响了后来的计算机图形学发展。

  • Sketchpad系统:它是第一个允许用户通过图形界面绘图的系统,可以通过约束条件(如平行、垂直等)使计算机自动完成图形的精确调整。例如,用户可以粗略地画出形状,然后通过指示某些边要平行或垂直,系统会自动调整其他部分以满足这些条件。

  • 非过程化编程系统:Sketchpad 是首个非过程化编程系统,允许用户通过定义规则和约束来生成解决方案,而不是一步步编写程序代码。这种方式比现今的电子表格应用更加先进。

  • 物体实例与主控图:Sketchpad 首次引入了“主控图”(master drawing)和“实例”(instance)的概念。用户可以在主控图上进行修改,这些修改会自动反映在所有实例上。例如,当用户修改某个铆钉的透明度时,所有该铆钉的实例都会同步更新。

  • 硬件与展示的限制:Sketchpad的演示是在一台当时极其庞大的计算机上运行的,这台计算机拥有406字节的存储,并能以每秒40万次的速度执行指令。尽管今天的台式电脑性能早已超过当时的超级计算机,但遗憾的是,现在并没有商业化的系统能够完全再现Sketchpad的功能。

Douglas Engelbart与人机交互的进步

  • 鼠标与黑白显示器的发明:Douglas Engelbart 是另一位人机交互领域的先锋,发明了计算机鼠标和黑白显示器,并首次成功实现了超文本(hypertext),这项技术如今已广泛应用于网页浏览等领域。

  • 用户研究的重要性:Engelbart 通过观察实际用户的工作习惯,发现传统的坐姿并不符合用户的真实习惯,因而设计了更符合人体工学的设备,如将键盘集成到椅子的扶手中,使用户在活动时也能方便地操作计算机。

  • 实时远程展示:1968年,Engelbart进行了著名的”Mother of All Demos”,展示了他所发明的众多技术,包括鼠标、超文本和视频会议。这次演示跨越35英里的距离,实时连接了旧金山的会场和Menlo Park的实验室,展示了计算机在人机交互和信息处理上的巨大潜力。

Douglas Engelbart的研究为人机交互领域带来了革命性的变化,他不仅发明了鼠标、黑白显示器和超文本,还预见了计算机在促进人际协作中的潜力。Engelbart认为,人类是社交型的生物,因此任何有效的用户界面设计都应当考虑到人与人之间通过计算机进行协作的需求。他的这一远见在1960年代初期就已成型,远远领先于当时的技术环境。

Engelbart的用户界面设计创新

Engelbart在他的演示中展示了如何通过计算机实现远程实时协作。他使用了一个多功能的系统,允许多个用户共享同一个显示屏,并能够通过鼠标进行交互式操作。这不仅仅是电子邮件等简单的通信工具,而是实现了更为复杂的实时协作功能,允许用户通过系统共享信息、指点内容、甚至面对面沟通。

在这个系统中,Engelbart设计了一种三按钮鼠标与五指键盘结合的输入方式。通过这种方式,用户可以长时间停留在某一操作模式下(例如文本输入或导航),减少在鼠标和键盘之间频繁切换的时间。这种设计的目的是提高操作效率,让用户在处理文本或导航任务时更加连贯。然而,受限于当时的技术,鼠标的精确度不足,用户在选择和执行操作时需要更多的步骤。例如,在选择对象(如单词或段落)之前,需要先输入具体的操作指令(如“移动单词”或“移动段落”),然后再通过鼠标点击选择具体对象,这样的流程相对冗长。

尽管Engelbart的设计理念非常先进,但由于技术限制,这种系统在实践中的效率有所折损。正如Alan Kay指出的,鼠标的精度问题导致用户必须通过冗长的步骤来完成操作,而现代系统则通过对象指令优先的方式显著简化了流程,即先选中要操作的对象,再进行具体操作指令的输入。

Alan Kay的Flex机器项目

Alan Kay后来讨论了他在1967年至1969年参与的Flex机器项目,这也是他首次参与设计的个人电脑。Flex机器的设计初衷是为用户提供一个桌面级的计算设备,但由于当时的技术限制,该机器非常笨重,重量超过100磅,且产生大量热量,需要强力的散热风扇,使得它在物理上并不适合普通桌面使用。

Flex机器虽然在物理上不够友好,但它在用户界面和软件功能上却走在了时代的前沿。它具备了早期的面向对象编程语言和高质量的图形界面,包括多窗口显示(尽管当时的显示器技术不支持重叠窗口),以及允许用户在虚拟屏幕和物理屏幕之间自由切换的功能。此外,Kay设计了一种称为“flipping divider”的设备,这是一种早期的图形分割工具,允许用户在屏幕上创建多个视图区域并进行操作。

然而,尽管Flex机器在技术上十分先进,它却未能吸引大众用户。Kay在用户反馈中发现,大多数人对其复杂的界面感到困惑,甚至对其反应非常负面。这令Kay感到十分失望,他意识到,尽管系统功能强大,但如果用户界面不够友好或直观,用户将难以接受和使用。

从儿童编程中获得的启发

Kay的思维转变始于他在1968年与Seymour Papert及Logo编程语言的接触。Papert的工作重点是通过Logo编程语言让儿童能够学习编程,而这一理念深刻影响了Kay对用户界面的重新思考。Kay认识到,如果计算机界面能够让儿童轻松使用,那么成人用户也将能够更容易地接受并使用这些系统。这种简化和人性化的设计理念促使他开始重新思考计算机的可用性问题,推动了后来的个人计算机用户界面的发展。

Kay的这一转变预示了个人计算机用户界面从专业技术工具向大众消费产品的转型过程。他意识到,计算机的潜力不仅仅在于其技术功能,还在于如何让更多的人能够轻松地使用这些功能。这一理念在后来Apple公司的Macintosh计算机和图形用户界面的发展中得到了充分体现。

Engelbart与Kay对现代人机交互的启示

Douglas Engelbart和Alan Kay的工作为现代人机交互奠定了坚实的基础。Engelbart不仅发明了鼠标等基本输入设备,还首次提出了通过计算机进行远程协作的设想,这一理念在今天的远程办公、视频会议和协同工作工具中得到了广泛应用。Kay则通过Flex机器和他的后续研究推动了面向对象编程和图形用户界面的发展,他对儿童编程的启发更是预示了计算机界面简化和普及的重要性。

这两位先驱在技术发展上具有深远的前瞻性,他们的思想和实践不仅推动了计算机科学的进步,还为现代计算机如何与用户交互提供了宝贵的启示。

Rand公司的Braill系统

除了Papert的工作外,Kay还受到Rand公司Braill系统的启发。Braill是一个图形输入语言系统,开发于1968年,它允许用户通过手绘图形与计算机互动。用户可以直接在屏幕上绘制形状,系统能够识别并处理这些输入。这个系统被称为世界上第一个无模式(modeless)系统,用户可以直接在屏幕上进行编辑,无需通过菜单选择命令。Kay使用Braill系统时,感受到了前所未有的“亲密性”,他形容自己仿佛在通过显示屏直接触摸信息结构。这种交互体验为他后来的工作提供了重要的启发。

DynaBook的设想

在受到这些启发后,Kay于1968年提出了DynaBook的概念,这是一个面向大众的个人计算设备。Kay构思了一个类似于笔记本的设备,能够像铅笔和纸一样广泛应用于日常生活中,成为每个人都可以使用的工具。他甚至在1968年制作了一个纸板模型,设想了未来数百万人使用这种设备的场景。

DynaBook的理念并不仅仅局限于硬件,它还设想了一种完全以用户为中心的计算体验。Kay认为,计算设备应该像铅笔一样普及和易于使用,无论是成人还是儿童都能从中受益。然而,当时的技术还无法实现这一设想,因此Kay将注意力转向了儿童,希望通过设计适合儿童使用的计算机,来推动这一理念的普及。

“Kitty Top”和儿童编程的实验

为了验证这一理念,Kay于1970年开始开发“Kitty Top”,这是一个面向儿童的早期计算设备原型。Kay与Xerox PARC的团队合作,探索高分辨率视频显示和互动式图形界面,并通过这些技术让儿童能够直接在计算机上进行创作。团队还开发了首个字体编辑器,允许用户在计算机上设计和编辑字体。虽然这些技术在成人世界中获得了一定的应用,但Kay发现儿童对于计算机的使用有着不同的需求。例如,孩子们更喜欢用自己的手写体进行草稿创作,而不是使用打印机般的字体,这显示了个性化和直观界面对用户的重要性。

Kay和他的团队还通过Xerox Alto计算机进一步推进了这些实验。Alto是第一台工作站,具备图形用户界面,并且使用了改进版的Engelbart鼠标。这台计算机成为后来苹果公司Lisa和Macintosh的前身,也是现代个人计算机的基础。Kay还将这些计算机引入到学校,与大量儿童进行互动,测试计算机在教育和学习中的应用。

DynaBook的早期模型和设计

Kay提出的DynaBook概念是他对未来个人计算机的设想,最早的模型是在1968年构建的。Kay和他的团队希望这个设备能够像今天的计算器一样便捷,但具备完整的计算能力。这一理念成为他们设计交互式图形界面的核心动力。他们开发了一个字体编辑器,由Ben Laws编写,用于创建和编辑字母,如利底安字体的”A”。Kay指出,这些实验大多是通过16毫米摄像机拍摄的家庭电影记录下来的。

手写字符识别与绘画程序

在1972年夏天,Kay设计了一个绘画程序,由Steve Purcell实现。该程序允许用户通过手写字符来进行图形绘制。例如,用户可以手写字母”C”来命令系统画一个圆,字母”L”用来画直线。这种手写字符识别极大地提高了用户的操作效率,因为用户无需在屏幕上移动过远即可执行命令。

此外,程序中还引入了如炭笔、气刷等效果,用户可以像艺术家一样在屏幕上直接创建和编辑自己的“画笔”,这使得绘图过程更加自然和直观。Kay解释说,这种设计的灵感来源于让画布和调色板结合在一起的理念,用户可以在同一个界面中创建和修改绘图工具。

窗口系统的初步实验

在1973年,Xerox Alto成为第一个支持位图显示和窗口系统的计算机。Kay展示了如何通过鼠标拖动窗口的一个角来调整窗口大小的功能,以及如何在右上角创建新窗口并输入内容。这是最早的窗口系统测试之一,虽然早期的窗口操作系统并不复杂,但这些基础功能成为现代图形用户界面设计的核心。

与儿童的互动实验

Xerox PARC团队还与儿童进行了互动,特别是通过Smalltalk编程语言来教授他们编程。Kay展示了一些早期实验,包括一群五年级和六年级学生的互动过程。Del Dolberg是负责教授这些孩子的导师之一,孩子们通过Smalltalk编写了类似Logo语言的程序,并在窗口中运行。

Kay回忆了一名12岁的女孩Marianne,她在1974年通过几个月的Smalltalk学习,设计并实现了一个类似于MacDraw的对象绘图程序。她能够创建选择手柄,调整对象的颜色和大小,并在菜单中进行操作。Kay指出,这个程序在当时非常先进,尽管它的代码只有一页长,但其功能与当时市面上尚未普及的绘图软件非常相似。

另一名15岁的男孩对业余无线电感兴趣,他通过Smalltalk编写了一个无线电电路图编辑器,允许用户选择、旋转和放置电路组件。这些儿童编写的程序展示了Smalltalk编程语言的强大能力,同时也证明了通过适当的工具和指导,儿童能够掌握复杂的编程概念并创造有用的程序。

动画设计实验

Xerox PARC还为专业动画师设计了动画编辑工具。这些动画师在1974年夏天使用该工具创建动画,目标是让他们在正式制作电影之前看到动画效果。他们可以在动画窗口中抓取绘制的图像,调整其动作并实时回放。Kay展示了如何通过绘制覆盖在旧动画上的透明图层,来创建更加复杂和生动的动画效果。这个动画工具允许动画师像在现实中那样处理多个图层,并进行更精细的调整。

Kay还展示了一名12岁女孩使用Smalltalk编写的动画程序,该程序允许她创建一个奔跑的马匹动画,并结合不同的动画效果。她希望能够将多个动画融合在一起,这样她的动画角色可以在同一个场景中自然地融合。

儿童计算机编程的启发

Kay指出,儿童能够轻松地实现这些复杂任务的原因在于计算机编程语言和工具的设计使得他们能够直接接触和理解。他认为计算机素养(Computer Literacy)应包括三个关键要素:

  1. 访问能力(Access Literacy):类似于阅读,用户需要能够访问和理解已有的内容。这就像我们通过阅读书籍来获取他人编写的材料一样,计算机用户也应该具备访问和理解计算机程序或软件的能力。

  2. 创作能力(Creative Literacy):计算机素养不仅限于阅读,还应包括创造的能力。与语言素养类似,计算机语言应足够强大且易于使用,使用户能够通过简短的编程表达复杂的思想。在英语中,革命性的想法可能只需要一页或两页的文字表达,而编程语言也应具备这种简洁而强大的特性。

  3. 体裁素养(Genre Literacy):Kay还强调了“体裁素养”,即用户需要理解不同领域的编程风格或体裁。例如,阅读莎士比亚需要不同于阅读现代小说的技巧,编程同样需要理解不同类型的程序风格,以适应多种不同的编程环境。

Kay解释了这些概念后,转而探讨了他在设计过程中所做出的决策。他坦诚,一些设计决策是偶然或随机的,但也有一些经过了深思熟虑,特别是受到了前人工作的启发。

视觉感知的实验

Kay通过一个视觉感知实验进一步解释了人类大脑如何处理不同类型的信息。他展示了一张经过修改的图片,其中一个女孩的眼睛和嘴巴被倒置了。尽管听众事先被告知了图片的修改,但当看到图片时,他们仍然感到震惊。这是因为人类大脑的不同区域处理不同类型的信息:右脑的一部分专门识别人脸,而另一部分则专门处理眼睛和嘴巴等面部特征。这些区域独立工作,导致了大脑在处理这类冲突信息时产生矛盾的感受。

Kay利用这一实验说明了人类思维的多重性。我们常常认为自己有一个统一的“自我意识”,但实际上大脑的不同部分以不同方式工作,并且这些部分之间的沟通并不总是顺畅。只有一部分大脑活动进入我们的意识层面,而其余的大多数活动都被归类为“潜意识”。

Jean Piaget的认知发展理论

接下来,Kay讨论了他对儿童认知发展的理解,主要基于Jean Piaget的研究。Piaget提出,儿童的认知发展分为几个阶段:

  1. 感知运动阶段(Doing Stage):在这个阶段,儿童的思维主要通过行动来表达。他们对事物的理解来自直接的身体接触和互动。

  2. 形象阶段(Image Stage):大约在五到七岁之间,儿童开始被视觉形象所主导。例如,在经典的Piaget实验中,儿童看到液体从矮胖的杯子倒入高瘦的杯子时,会认为高瘦杯子中的液体更多,尽管实际上液体的量是相同的。

  3. 逻辑推理阶段(Facts and Logic Stage):大约在十一到十二岁时,儿童开始能够超越视觉形象,进入逻辑推理阶段。他们可以基于逻辑和事实而不是仅仅依赖感官信息来得出结论。

Kay发现,虽然Piaget的理论有助于理解儿童的发展,但它对如何设计计算机界面并没有提供太多具体的指导。尽管如此,Kay意识到儿童在不同年龄阶段的思维方式不同,这促使他在设计计算机系统时,考虑到这些认知差异。

Jerome Bruner的教育理论

在进一步研究Piaget的过程中,Kay还发现了Jerome Bruner的理论。Bruner强调了通过“积极发现学习”(Active Discovery Learning)促进儿童发展的重要性。这种方法鼓励学生通过探索和实验来发现知识,而不是仅仅通过记忆和重复。Bruner的理论进一步支持了Kay的观点,即计算机应成为儿童探索和创造的工具,而不是仅仅用来获取信息的设备。

Hadamard调查了包括爱因斯坦在内的100位顶尖数学家和物理学家,询问他们如何进行创造性工作。出人意料的是,绝大多数科学家表示他们很少使用数学符号进行推理,更多是通过图像和身体感觉来思考问题。爱因斯坦甚至描述说,他在思考抽象空间时,能够通过手臂和手指的肌肉感知这些空间。

这表明,创造性思维不仅仅依赖于语言和符号表达,而是涉及到更广泛的感官和身体体验。Kay认为,这些科学家之所以能够取得创造性的突破,是因为他们能够自由地接触并利用多种思维方式,这种能力不应仅仅被简单地归类为“意识”或“潜意识”。

用户界面设计与教学的启发

接着,Kay通过1975年一档名为《The Inner Game of Tennis》的电视节目展示了如何通过适当的引导激发人的潜能。这档节目展示了一个被认为“不适合打网球”的55岁女性如何在短短20分钟内学会打网球。教练并没有直接告诉她如何挥拍,而是通过让她专注于网球的轨迹和声音,来引导她的身体自然做出正确的动作。

Kay将此类教学方法与用户界面设计相比较,认为在许多情况下,直观的引导比直接的语言指令更为有效。正如这位女性在没有太多思考的情况下自然而然地学会了打网球,Kay认为,计算机教育工具也应通过类似的方式设计,让用户能够自然地探索和学习,而不是依赖于复杂的符号和语言指令。

数学与物理教育中的局限

Kay进一步指出,当代教育系统在教授数学和物理时,通常依赖于符号化的语言和逻辑推理,这与大多数科学家实际进行创造性工作的方式不符。他引用了Hadamard的研究,指出大多数顶尖科学家并不通过符号化的数学语言进行推理,而是通过图像和身体感觉来进行创造性工作。这表明,当前的教育方法忽视了其他形式的思维方式,特别是那些更直观和感性的方式。

Kay认为,真正的教育应当直接针对不同的思维模式进行设计。例如,儿童在学习数学或物理时,应该更多地依赖于视觉和感官体验,而不是被迫使用成人世界的符号化语言。这种教学方式可以帮助学生更好地理解复杂的概念,而不是被抽象的符号困住。

Kay引用了Galway的一句话:“学习发生在注意力集中时。”他指出,当学生能够专注于某个简单的任务或目标,而不会被过多的细节干扰时,学习过程会变得更加高效。同样,Galway的另一个关键观点是,身体的不同部分并不理解语言指令。例如,理解语言的部分大脑并不能直接控制网球的挥拍动作,它只能用于评论或分析。因此,Kay认为,在教学或设计用户界面时,应该找到一种绕过这种语言分析过程的方式,直接让身体或其他思维方式参与学习。

用户界面设计的启发

Kay将这种“让用户像中级用户一样操作”的理念应用到用户界面设计中。他认为,一个好的用户界面应该让初学者在第一次使用时就能够获得成就感,而不是通过复杂的步骤来学习基础操作。例如,Kay质疑为什么用户需要花费两周的时间去阅读MS-DOS手册以学习如何复制文件或打开应用程序,这种学习方式既不高效也不令人愉快。相反,他主张设计一种界面,使用户从一开始就能够像“中级用户”一样操作,并在使用过程中逐步学习更多的功能。

编程教育中的多重思维模式

Kay进一步将这种理念应用于编程教育中,特别是针对不同年龄段的儿童。他通过使用Logo编程语言的海龟图形系统,展示了如何根据儿童的认知发展阶段设计编程任务。

  1. 五岁的儿童:Kay描述了如何让五岁的儿童通过身体感知来编写一个绘制圆形的程序。他让孩子闭上眼睛,用身体“画”一个圆,然后引导他们描述这个过程——“一点点前进,然后一点点转弯”。当这些动作被翻译成Logo语言的指令时,会产生一个完美的圆形。Kay指出,这是因为五岁的儿童在使用身体感知几何学(如微分几何)时,能够直观地理解圆形的基本特性。

  2. 十岁的儿童:十岁的儿童则更依赖视觉而不是身体感知。他们通常通过使用圆规画圆,并逐渐意识到圆周上的所有点都与圆心等距。因此,他们在编程时会写一个较为复杂的程序,通过反复跳到圆周上的不同点来绘制圆形。尽管这种方法更复杂,但最终也能生成一个圆形。

  3. 十五岁的青少年:十五岁的青少年则处于符号逻辑阶段,他们更倾向于使用代数公式(如 ( x^2 + y^2 = r^2 ))来绘制圆形。然而,Kay指出,这种符号化的方法虽然在数学上是正确的,但对于操作和实际应用几乎没有什么帮助,导致他们很难实际生成圆形。这说明,尽管符号逻辑在理论上强大,但在某些情况下它并不适用于直观的操作或解决实际问题。

多重思维方式的重要性

Kay通过这些例子表明,针对不同的年龄段和思维模式设计学习任务,可以得到非常不同的结果。令人惊讶的是,较年轻的儿童往往能够通过更直观的身体或视觉方式解决问题,而更依赖符号逻辑的青少年反而面临更多的困难。

他总结道,这一现象揭示了多重思维模式的力量,特别是在设计用户界面或编程工具时,应该更多地考虑这些思维方式的差异。正如他在网球教学中的观察一样,最有效的学习方式是让学习者通过他们的自然感知和行动来探索和掌握技能,而不是依赖于复杂的符号或逻辑分析。

Alan Kay进一步探讨了不同的思维模式对问题解决的影响,并提出了一个重要的口号:“观点比智商高一百个点”。他强调了观点(或框架)在解决问题中的重要性,指出在不适当的背景中,逻辑的推理链往往是脆弱的,无法充分发挥作用。

观点与思维模式的力量

Kay通过历史上的例子说明了不同观点在解决问题时的作用。例如,在公元前60年的罗马,人们使用罗马数字进行乘法计算,这是一项非常复杂且需要大量记忆的工作,只有天才才能掌握。而到了13世纪,天文学家试图用托勒密的地心说(包括大量复杂的本轮和均轮)预测火星的运行,这也需要极高的智力。

Kay指出,问题不在于这些方法不合逻辑,而是在这些背景下逻辑推理的效率低下。相反,选择合适的上下文和数据结构可以让问题的解决变得简单而高效。Kay借用了计算机科学中的一个原则:“选择正确的数据结构”,这意味着合适的数据结构可以使算法的很多计算自动完成,从而极大简化问题解决的过程。

适应不同思维模式的用户界面设计

Kay进一步讨论了如何将这些理念应用于用户界面设计中。他解释了人类大脑的不同思维模式,包括身体感觉、图像记忆和符号推理,并提出一个想法:为何不将这些模式结合起来

例如,Kay提到鼠标不仅仅是用来指向屏幕的工具,它还激活了使用者的身体感觉,帮助用户定位和感知空间位置。图像记忆则用于快速识别内容,这是因为人类大脑擅长从视觉信息中快速提取记忆和识别。例如,观看一部电影的几个片段后,大多数人可以在几秒钟内判断自己是否看过这部电影,并记起接下来会发生的情节。

Kay提到的实验进一步展示了这一点:在实验中,受试者观看了几千张图片,并且在一个月后仍能记住90%以上的图片细节。这种惊人的记忆能力展示了图像感知模式的强大之处,也启发了Kay在用户界面设计中强调视觉元素的重要性。

Smalltalk界面设计的演进

Kay展示了Smalltalk用户界面的演进过程,尤其是在Xerox PARC开发的窗口系统中整合了多重视角的设计思路。例如,文档编辑器能够根据不同的段落类型自动调用相应的编辑器,允许用户直接在当前的上下文中操作。这种“结果模式交互”比传统的剪切和粘贴操作更为直观有效。

Kay还展示了Smalltalk中多窗口用户界面的早期版本,这种设计允许用户从多个视角查看同一数据结构。例如,在一个日程安排系统中,用户可以同时查看甘特图、列表和其他形式的视图,这种多视角的设计灵感来自Douglas Engelbart的早期工作。

Smalltalk中的动态交互

Kay进一步展示了Smalltalk的动态特性。例如,用户可以在编辑窗口中输入简单的表达式(如“3+4”),然后通过点击“执行”按钮立即执行代码。这种即时反馈使得编程变得更加交互化和直观,让用户能够实时看到自己的操作结果。

Kay还展示了Smalltalk中的调试工具,通过输入错误的表达式(如试图将数字与文本相加),系统会立即捕捉到错误并显示调试信息,这种动态的交互设计极大提高了用户的编程体验。

小朋友与计算机的互动

Kay接着分享了一个2岁小女孩使用Macintosh的故事,这名小女孩从未生活在没有计算机的环境中,因此对她而言,计算机只是日常生活中的一部分。Kay观察到,小女孩不仅能操作基本的图形程序,还能使用常见的窗口命令,例如保存文件和打开新窗口。Kay指出,这个故事展示了即使是年幼的儿童,也能够通过直观的用户界面轻松学习并使用计算机系统。这验证了Kay的核心理念——计算机应该像铅笔一样简单易用,适合各个年龄段的人。

多重思维模式与用户界面设计

Kay的设计哲学受到了Bruner、Tim Galway等人的启发,尤其是Galway的《网球内在游戏》理论对他的影响很大。Galway指出,身体的不同部分并不理解语言指令,而是通过感知和反应来学习。这让Kay认识到,用户界面设计不应过度依赖语言或符号化的指令,而应该通过直观的交互让用户自然地学习和操作。

Kay总结道,用户界面设计是一种合作的“阴谋”,设计师需要将用户“卷入”这种阴谋中,让他们自然而然地参与到系统的操作和学习中。他希望这种设计哲学能够引起更多人的兴趣,并推动更加人性化、易于使用的计算机系统的发展。

版权与专利的讨论

在问答环节中,Kay被问到如何看待苹果公司试图保护Mac界面等创新的专利行为。他认为,发明者应该获得合理的保护,特别是当公司为开发新技术投入大量资金时,其他公司不应轻易复制这些成果。尽管他认同专利制度的重要性,但他也指出,在界定“想法”和“发明”之间存在很多混淆。例如,尽管思想不能被专利保护,但当这些思想被具体实现时,它们就应受到保护。

微型计算机的未来

Kay还展望了微型计算机在未来五年和十年的发展前景。他认为,尽管技术进步迅速,但行业的保守性阻碍了更激进的创新。Kay特别提到了实时3D图形技术的潜力,预测在未来五年内,桌面计算机将能够实现类似飞行模拟器级别的3D图形处理。然而,这需要公司对这一领域投入更多关注和资源。

计算机辅助教学的挑战

Kay还回答了关于计算机辅助教学(CAI)未能取得预期成功的问题。他将计算机在教学中的角色比作钢琴在音乐教学中的作用——尽管钢琴可以放大音乐表现力,但如果方法不当,钢琴反而可能让许多人放弃音乐。Kay认为,关键问题在于,教育首先要基于强有力的理念,而不是依赖媒体或工具。计算机可以放大和支持良好的教学理念,但如果教学理念本身有问题,那么计算机的使用也无法弥补这一点。

残障人士的技术发展

Kay谈到了残障人士的技术进步,尤其是在帮助有语言障碍的中风患者方面的潜力。他认为,现有的技术完全可以开发出帮助这些患者恢复语言能力的设备,并且这种技术的应用领域非常广泛。然而,Kay也指出,目前在这方面的研究和开发还不足,呼吁更多人参与其中。

Molly的故事

Molly是一个五十五岁的女性,曾参与过Tim Galway的“网球内在游戏”实验。Kay讲述了她如何通过这个实验,不仅学会了打网球,还成功控制了体重,并在此基础上建立了自己的减重诊所。这个故事展示了通过理解和控制身体,个人可以实现巨大的变化,并且这种身体意识可以转化为生活中的其他成就。

增强人类潜力的挑战

Kay认为,当代学生面临的最大挑战之一是如何保持自我认知和独立思考能力。他建议学生,尤其是对科学和工程感兴趣的人,应将这些领域视为艺术形式,并通过广泛的文科教育来培养审美意识。他还强调,科学家与其工作的紧密联系通常不是技术性的,而是审美性的,因此,发现并培养个人的审美意识是非常重要的。

Kay的个人挑战

在谈到自己未来的挑战时,Kay强调了“更新”(renewal)的重要性。他认为,随着年龄的增长,保持对新问题的新鲜视角变得更加困难。为此,他强调要参与更多的音乐活动,这不仅有助于保持创造力,还能避免陷入旧思维模式。他将“更新”视为一种持续学习和重新思考问题的方式,这也是他未来的主要挑战。

通过这些讨论,Kay不仅展示了他对计算机科学的深刻理解,也分享了他对教育、艺术和人类潜力的深刻思考。他鼓励学生通过多方面的学习来提升自己,同时提醒技术领域的从业者保持创新和自我更新的能力。