OS9Map 1.0.0 发布:适用于 Mac OS 9 的 OpenStreetMap

OS9Map 1.0.0 发布:适用于 Mac OS 9 的 OpenStreetMap

OS9Map 1.0.0 使用户能够在 Mac OS 9 上浏览 OpenStreetMap。该项目证明了通过实现必要的网络协议并处理 JSON 等现代数据格式,旧版硬件可以与现代网络服务进行交互。

核心功能与特性

OS9Map 在旧版 Mac 硬件上提供了原生的地图体验。该应用程序包括:

  • 平滑滚动的地图画布:用户可以使用鼠标平移地图,瓦片会随着用户的导航动态加载。
  • 地点搜索:集成的 Nominatim 查询允许用户搜索特定地址和地标,从而直接跳转到某个位置。
  • 书签:专用菜单允许用户通过单击即可保存并返回到经常访问的位置。

技术要求

要运行 OS9Map,需要满足以下系统规格:

  • 操作系统:Mac OS 9
  • 处理器:PowerPC (PPC)
  • 处理器架构:该软件是专门为 PowerPC 机器设计的,正如作者所指出的,68k 机器在应对现代网络服务的需求时可能会感到吃力。
  • 内存:最低 16 MB RAM,建议 32 MB 或更多。
  • 连接性:通过 Open Transport TCP/IP 进行互联网连接。

实现细节与网络挑战

将一个 30 年前的操作系统连接到现代网络服务是主要的挑战。Mac OS 9 缺乏对现代安全网络协议的原生支持,这通常迫使旧版硬件用户使用代理。OS9Map 通过利用外部库来处理安全连接,从而避免了这种代理需求。

根据 OS9Map 的作者 @yllan 的说法,该项目是实现独立连接到现代服务的一次实验。开发过程使用了 QEMU 进行测试,并依赖于以下库:

I’d also like to thank bbenchoff’s MacSSL and cy384’s opentransport-mbedtls. Both were a big help.

除了网络方面,作者指出,由于解析 JSON 和执行加密计算的需求,现代服务对旧机器来说要求很高。这些限制是选择 PowerPC 架构而非 68k 的必要原因。

相关项目与生态系统

OS9Map 是将现代连接性带入 Mac OS 9 的更广泛努力的一部分。作者还为其他现代平台开发了类似的工具,包括:

  • PlatinumSky:Bluesky 的客户端。
  • Palaeomastodon:Mastodon 的客户端。

这些相关项目还实现了 emoji 文本渲染,解决了 Mac OS 9 不完整的 Unicode 支持所带来的空白。这一努力突显了社区在未来维持旧版硬件实用性的广泛趋势。

社区讨论

Hacker News 社区对这样一个项目的回应包括以下亮点:

  • 数据可访问性:用户指出,OpenStreetMap 数据开放的性质使得该项目得以存在,这与数据被锁定在受限的 Web GUI 中的封闭生态系统形成了对比。
  • 内存参数:一些用户对较低的内存要求(16-32 MB)表示惊讶,并将其与现代基于 Electron 的应用程序(通常需要数 GB 的 RAM)进行对比。

Sources