Macintosh上的HyperCard

Lobsters Hottest 新闻

摘要

回顾HyperCard,这款具有影响力的Macintosh软件开创了超文本技术,并启发了现代网络技术、如《神秘岛》等游戏,以及维基百科等平台。

<p><a href="https://lobste.rs/s/osjghb/hypercard_on_macintosh">评论</a></p>
查看原文
查看缓存全文

缓存时间: 2026/06/28 22:02

# Macintosh 上的 HyperCard 来源: https://stonetools.ghost.io/hypercard-mac/ 在《电脑编年史》19年的播出历史中,各种操作系统都有专门的一集,比如 Macintosh System 7、UNIX 和 Windows 95。只有一款消费软件拥有完整的一集。你可以看到 Stewart Chiefet 看着 Bill Atkinson 展示它时那发自内心的兴奋。一位身穿灰色西装、面带微笑的电视主持人坐在木质布景演播室的桌子前,显然被镜头外看到或听到的东西逗乐或打动了。 Chiefet 对 Bill Atkinson 的 **HyperCard** 演示简直乐在其中。 之后,Chiefet 又为它制作了**第二**整集节目。*HyperCard* 曾是件"大事"。大的、新的事物令人恐惧。在《Compute Magazine》1988年4月号一篇尖刻、偏执、却意外具有先见之明的文章中,作者 Sheldon Leemon 这样写道:"如果这种(超文本)趋势继续下去,我们可能很快就会看到交互式家用电器。想象一下,一台根据你的心情或前一晚睡得如何来选择面包黑度的烤面包机。我们都应该记住,*HyperCard* 和 hypertext(超文本)都以 hype(炒作)开头。说到炒作,我的建议是'坚决说不'。"好吧,不榨几个柠檬就做不成柠檬水,而这位 Leemon 也确实被榨了。"我们真的想把超文本交给那些已经有很多分心事物的年轻学生吗?我们真的不希望他点击到中国人发明火药的部分,结果却进入一堂关于如何在车库里制作烟花的化学课。"(必要的讽刺链接 (https://youtu.be/NY3VvRZCPRI?ref=stonetools.ghost.io)) 显然,Leemon 追随者是少数派。Steve Wozniak 称 Atkinson 的心血是"有史以来最好的程序"。(https://www.macworld.com/article/161807/woz-7.html?ref=stonetools.ghost.io) David Dunham 也这么说 (https://archive.org/details/mac-week-v-1-n-22/mode/2up?q=%22greatest%20program%20ever%20written%22)。还有一本专门的杂志 (https://archive.org/search?query=creator%3A%22Publishers+Guild%3B+edited+by+Roger+Wood%22) 完全围绕它。Douglas Adams 说 (https://archive.org/details/MacUser8712December1987/page/n167/mode/2up#:~:text=I%E2%80%99ve%20had%20Hy%C2%AC%20perCard%20on%20my%20Mac%20II%20for%20a%20month%2C%20and%20slowly%20all%20the%20old%20cliches%20are%20coming%20true%2E%20It%20has%20completely%20trans%C2%AC%20formed%20my%20working%20life),"(*HyperCard*)彻底改变了我的工作生活。"它对世界产生的影响至今仍能感受到。Cyan 创立之初 (https://cyan.com/games/classic-cyan-games/?ref=stonetools.ghost.io#next) 就是一个 *HyperCard* 堆栈开发者,并一直延续着游戏制作。维基百科诞生于 *HyperCard* 的早期实验 (https://en.wikibooks.org/wiki/How_Wikipedia_Works/Chapter_2?ref=stonetools.ghost.io)。早期网络 (https://xent.com/FoRK-archive/feb98/0305.html?ref=stonetools.ghost.io) 深受 *HyperCard* 的 (HyperTalk) 愿景影响 (https://exploringjs.com/es5/ch03.html?ref=stonetools.ghost.io)。Cory Doctorow 的第一份编程工作 (https://craphound.com/context/Cory_Doctorow_-_Context.xhtml?ref=stonetools.ghost.io) 就是用 *HyperCard* 做的。Bret Victor 构建了"世界中的 HyperCard (https://dynamicland.org/2016/Hypercard_in_the_World/?ref=stonetools.ghost.io)",后来演变成为 Dynamicland。 拥有如此强大的血统,说 *HyperCard* 很优秀并不为过。但我必须摘下怀旧的眼镜,公正地评价它。从它的兴起与衰落以来,技术和文化都发生了许多变化。在一个"氛围编码"的 TypeScript 世界里,*HyperCard* 还能展现出它的价值吗? --- ## 历史记录 一张垂直排列的时间线,追溯了苹果 HyperCard 的概念起源、开发及最终停用的历程。时间线始于 1945 年,Vannevar Bush 的文章《As We May Think》描述了假想的 Memex 机器——一种"记忆索引",允许通过模仿人类思维的联想链接来访问信息。1960 年,Ted Nelson 构想出 Project Xanadu,一个旨在打破线性页面限制的早期超文本系统。Xanadu 被认为雄心勃勃但从未完全实现,其目标包括可见的源链接和内容重用的微支付。1968 年,Doug Engelbart 展示了"所有演示之母",引入了鼠标、交互式计算和可点击的超文本链接,允许在共享工作空间中导航相关文档之间。时间线随后跳到 1987 年,苹果 HyperCard 1.0 发布。由 Bill Atkinson 构想为一种软件"拼装套件",HyperCard 在 Macworld 博览会上演示,并随新 Macintosh 系统免费赠送,单独购买则需付费。1990 年,HyperCard 2.0 在苹果旗下的 Claris 子公司发布。它增加了 JIT 编译器和调试器,提升了性能,但 Claris 减少了推广力度,并开始将重心转向 SuperCard 和 Macromedia 工具。1991 年,HyperCard IIGS 针对 Apple IIGS 教育市场发布。虽然功能与 HyperCard 1.x 相当,但它通过扩展支持彩色图形,并允许使用翻译堆栈在 Macintosh 和 IIGS 系统之间传输堆栈。1992 年,Claris 被并回苹果后,HyperCard 2.2 回归苹果。此版本增加了 AppleScript 支持和捆绑扩展,引入了有限的颜色和动画功能。1998 年,HyperCard 2.4.1 作为最终版本发布。在 Steve Jobs 重返苹果后,开发实际上停止了,HyperCard 处于维护但停滞的状态。时间线在 2004 年结束,HyperCard 正式停止销售。其遗产通过 SuperCard 和后来的 LiveCode 等后继者得以延续,它们继承了平易近人、基于卡片的软件创建理念。 --- ## 测试平台 - *Mini vMac* v36.04 for x64 on Windows 11 - 以 4 倍速运行 - 放大倍率 2x - Macintosh System 7.5.5(*Mini vMac* 支持的最后一个版本) - *Adobe Type Manager* v3.8.1 - *StickyClick* v1.2 - AppleScript 附加组件 - 8MB 虚拟 RAM(*Mini vMac* 默认) - *HyperCard* 2.2 带脚本附加组件 *HyperCard* 2.2 版本之所以重要,有几个显著原因:首先,它增加了 AppleScript 支持;其次,它增加了脚本调试器;最后,它标志着 *HyperCard* 从 Claris 回归苹果。"关于本 Macintosh" 系统信息窗口显示系统软件 7.5.5。它列出总内存为 8,192K,系统软件占用 2,582K,最大未使用内存块显示为 5,585K。还记得 Macintosh 操作系统能塞进 2.5MB 内存的时候吗?我都忘了! --- ## 让我们开始工作吧 审查和评价 *HyperCard* 有点像试图审查和评价"互联网"加上 *MacPaint* 再加上一整套应用程序开发套件。一个正常人在看到 Danny Goodman 所著的《The Complete HyperCard 2.0 Handbook, 3rd Edition》那 1000(!)页时,大概会赶紧溜走,但本作者可不是正常人。你对此怎么想都行。为这篇文章选择一项具体任务很困难。我将构建《手册》中的示例项目,但我们要注意这本书对其自身项目的描述:"从某种意义上说,我们将在本章中进行练习是人为的,因为它不仅暗示我们对最终堆栈的外观有非常清晰的愿景,而且我们坚定不移地追求这一愿景。实际上,事实远非如此。" 我没有这样清晰的愿景。这有点像盯着一张白纸问自己:"我该做什么?" 我可以把它折成折纸,用它作为水彩画的画布,或者把它塞进 Coleco ADAM SmartWriter 并打印一首诗。艺术需要边界,而我还不知道 *HyperCard* 的边界在哪里。所以,我就从头开始,启动它,看看它会带我去哪里。 一个 1980 年代的电视广告场景,显示一名青少年男子在书桌前使用家用电脑,而一名年轻女子则热情地注视着。一台大型外部打印机占据前景,正在积极打印。她对他的电脑技能印象深刻!Lori Loughlin(是的,就是**那个** Lori Loughlin (https://www.justice.gov/usao-ma/pr/california-couple-college-admissions-case-sentenced-prison?ref=stonetools.ghost.io))对 ADAM 的打印输出感到兴奋。**明显没有**展示的是,那台击打式打印机有多**响**。 启动 *HyperCard* 会带我到 Home "堆栈",这里"堆栈"是一组相关的"卡片",而卡片则是充满交互的数据。用初学者的术语来说,将堆栈视为一个应用程序是合理的,尽管它需要 *HyperCard* 来运行。(*HyperCard* 可以构建独立应用,但这并非初次使用者的体验。)Atkinson 确实意在唤起一叠 3x5 索引卡片的直观形象,每张卡片都包含信息,并通过你定义的关系链接在一起。按钮提供了对卡片进行操作的方法:按顺序浏览它们、按关键词查找相关卡片、搜索卡片数据或触发动画。所有这些都轻而易举。乍一看,这听起来并不特别有趣,但如果有人怀疑它的能力,要知道 *MYST* 就是用 *HyperCard* 构建的 (https://youtu.be/QPmwnsqWVQY?ref=stonetools.ghost.io)。今天,我可以将堆栈描述为"像一个网站",每张卡片"像那个网站的一个页面",这种智力上的速记法在 *HyperCard* 鼎盛时期是不存在的。使用另一个现代的速记法,"Home" 类似于智能手机的主屏幕,相似程度几乎令人怀疑。你甚至可以通过添加或删除个人感兴趣的堆栈来定制它,使其成为你自己的。 0:00 / 0:36 **(包含强烈的频闪效果)Beyond Cyberpunk 以它自己的方式**推动 **HyperCard** 的边界。有一个网络版本可用 (https://www.streettech.com/bcp/index.html?ref=stonetools.ghost.io),但缺少了原始版本的绝大部分魅力。 ### 以此为例 浏览 Home 卡片,包含的堆栈提供了具体的示例,展示了 *HyperCard* 开发工具的强大功能。有两个显著的特性,但它们介绍得非常微妙,很容易被忽略。 默认的 HyperCard Home 卡片显示排列整齐的内置堆栈和工具网格,呈现在单色 Macintosh 窗口中,顶部有标题"Welcome to HyperCard"。快速致敬位图 Bookman Light("Welcome to HyperCard"),一组排列精美的像素。 第一个是程序免费提供的数据库功能。打开 Appointments 或 Addresses 堆栈,输入一些信息,下次启动时它就会作为可搜索数据存在。它存储为平坦文件,没什么特别的,而且比 *Superbase* 更容易使用,而 *Superbase* 本身已经很容易了。第二个是,在向堆栈输入新数据后,你无需保存;*HyperCard* 会自动保存。这一过程如此透明,几乎让你误以为所有应用程序都这样工作,但事实并非如此,Atkinson 特别讨厌保存的概念。他认为,如果你在电脑中输入数据然后拔掉电源插头,你的数据应该尽可能接近完美。这种"你的数据是安全"的行为是你使用或构建的任何堆栈所固有的。你不需要选择加入,不需要设置标志,不需要初始化容器,不需要启动数据库服务器,甚至不需要担心如何将数据传输到另一个系统;所有数据都存储在堆栈本身的数据资源中。只需将堆栈复制到另一台电脑,你的数据就会随身携带。 对于典型的 Macintosh 终端用户来说,这种行为有一个缺点。如果你想摆弄一个堆栈,拆开它,看看它是如何构建的,必须确保你在处理该堆栈的副本!由于保存是自动的,你很容易忘记你的更改是永久性的,"我没有点保存!我的堆栈怎么了?" 因此,原始堆栈有被你的实验破坏甚至无法修复的风险。"保存更改"的行为是**每个其他 Macintosh 程序**教给我们的,但 *HyperCard* 背离了 Mac 用户多年来学到的谨慎条件反射。 ### 消费税 即使在最基本的层面上,甚至不想制作自己的堆栈,*HyperCard* 也提供了相当多的东西。内置的堆栈为用户提供了地址簿、电话目录、约会日历、简单的图表制作器,以及运行(甚至检查!)其他人创建的数千个堆栈的能力。捆绑的堆栈易于使用,但远非"健壮"的实用工具。尽管如此,它们比以往 8 位时代许多需要手动输入的程式更漂亮、更容易使用,而且你可以自由地修改它们以满足你的需要,哪怕只是外观上的修改。免费的堆栈可以在 BBS 系统上、捆绑在书籍中或杂志的封面磁盘上找到。*HyperCard* 首次提供了与早期万维网略微相似的东西。Archive.org 上有数千个堆栈 (https://archive.org/details/hypercardstacks),你可以浏览它们以感受社区的广度。了解自然主义,阅读《银河系漫游指南》(官方发布!),或者练习你的德语。还有两个不同的堆栈致力于杀死紫色儿童恐龙 Barney。Zines、捆绑堆栈的扩展版、游戏以及其他神秘事物,对任何有兴趣了解更多关于蛤蜊和蛤壳艺术的人来说都是可用的。我非常真诚地说:"有什么理由不喜欢呢?" 一张单色 HyperCard 演示屏幕,标题为"Clam & Craft Demo",左上方显示一个大型卡通蛤蜊角色,标题为"第一本蛤蜊与工艺食谱"。屏幕包括导航按钮、一个描述演示的滚动文本字段,以及显示版本信息和授权卡通角色的装饰性排版。让我看看你能否找到更好的方式来传播关于用昨晚晚餐丢弃的蛤蜊壳制作娃娃的信息。 ### 卡片高手 内容的**消费**固然不错,但*HyperCard* 的主要精力集中在内容的**创作**上。有这么多的堆栈表达了如此多的想法,并且了解到其中许多是由没有编程经验的普通人制作的,加入这个社区的冲动是不可抗拒的。卡片被分为两个概念领域:背景和前景。在现代演示软件如 *PowerPoint* 或 Google *Slides* 中,这相当于模板主题(倾向于保持静态的东西)和幻灯片本身(每张幻灯片的动态属性)。每个领域的图层以固定在"背面"的图形层开始。添加到该领域的每个对象(如按钮)都放置在该图形层之上的自己的编号图层中,并且可以重新排序。理解起来很简单,但这些工具在帮助用户可视化卡片元素的当前顺序方面做得并不是特别好。必须单独检查每个元素才能了解它相对于其他图层(对象)的位置。一个"检查器"面板会很棒。 ### 追求卓越的设计 一张 HyperCard 导览屏幕,标题为"Elements of a Card",显示了一个示例卡片布局。该示例在左侧包含一个斑马插画,右侧是说明文字,以及箭头形状的导航按钮,并有标签指示文本、图形和按钮是核心卡片元素。想象一下,如果网络浏览器从第一天就附带用于构建网页的可视化工具。这些工具被移除几乎是一种侮辱。*HyperCard* 提供了基本和高级工具,用于创建构成卡片的三个主要元素:文本、图形和按钮。这些元素可以存在于背景和/或前景中。

相似文章

让Apple II成为严肃商用机的卡片

Lobsters Hottest

深入探究Videx VideoTerm——这款80列卡片将Apple II转变为严肃商用机,以及通过A2FPGA项目实现的现代FPGA仿真,重点关注硬件架构和MC6845 CRT控制器。

在 2026 年使用 SwiftUI 构建纯正的 Mac 应用

Lobsters Hottest

这篇文章讲述了作者完全使用 SwiftUI 构建 macOS 应用的经验,讨论了在实现原生 Mac 体验时遇到的挑战和限制,例如选中状态和非活动窗口的行为,并得出结论:SwiftUI 在 Mac 上尚不足以构建‘纯正 Mac’应用。

RetroMac

Product Hunt

RetroMac 是一款能将你的 Mac 变成时光机的产品,带来怀旧的复古体验。

反Mac用户界面(1996)

Hacker News Top

这篇1996年由Gentner和Nielsen撰写的论文通过反转Macintosh的核心设计原则,探索了替代性用户界面,从而产生了一种基于语言的、面向专家用户的界面。