关于 Microwindows 的过去、现在和未来的 Greg Haerr 访谈

作者:Rick Lehrbaum

Greg Haerr 是 Century Software 的 CEO,也是 Microwindows 项目的创始人,Microwindows 项目是面向嵌入式系统和设备的 GUI/窗口解决方案。在本次访谈中,Haerr 讲述了他如何开始从事嵌入式 Linux 工作,解释了他创建 Microwindows 的原因,简要比较了 Microwindows 和其他嵌入式 GUI,展望了 Microwindows 的未来,并分享了他对开源的看法。

Rick:您最初何时接触到 Linux?是什么促使您开始为 Linux 开发 GUI/窗口软件?

Greg:我对 Linux 的接触可以追溯到 1993 年,当时是首批 386 发行版之一 Yggadrisil。我记得这个发行版带有一张启动软盘和一张 CD,这在当时是新鲜事物。启动后,系统运行 UMSDOS 文件系统,该文件系统允许 Linux 在 MS-DOS 系统的可用空间之上运行,然后继续运行 X Window 系统,显示登录提示并播放星际迷航的主题曲。当您按下 Alt-Plus 键时,显示器会在三种图形分辨率之间切换……Linux 从一开始就显示出对不同硬件环境的极强适应性,以及以最少的用户重新配置最大限度地利用硬件的能力。

我编程超过 25 年了,远早于我成为商人。虽然我关注 Linux 已经七年了,但直到最近两年我才为重要的项目做出重大贡献。这绝对是值得的。

Rick:迄今为止,Linux 最受欢迎的领域是 Web 服务器和互联网基础设施系统。您为什么认为 Linux 是嵌入式系统的良好选择?

Greg:为什么要在嵌入式设备上运行 Linux?在我看来,至少有四个令人信服的理由表明 Linux 在未来十年将继续快速增长。首先,32 位微处理器的价格和功耗终于降了下来,速度也提高了,因此它可以非常经济高效地用于当今所需的嵌入式设备,包括手持计算机、类 webpad 设备和运行平板显示器的设备。而且 Linux 几乎从一开始就是一个多架构操作系统,它已经支持这些先进的 RISC 处理器。因此,Linux 和嵌入式的融合非常自然。

其次,尤其是在我关注的图形领域,软件开发人员和系统架构师希望将桌面领域取得的巨大成功扩展到更便携的设备。当那么多推动桌面发展应用程序现在可以用于实现无线手持计算时,没有必要重新发明轮子。

最后,Linux 是免版税和开源的,这使得制造商可以在开发阶段控制成本,同时共享发明和算法可以部署最佳实现,这对生产者和消费者来说都是双赢的。

Rick:Linux 与嵌入式市场中使用的“传统”操作系统相比如何?也就是说,像 VxWorks、pSOS、VRTX 等操作系统。

Greg:Linux 比其他选择的主要优势之一在于开发周期:开发人员在他们的桌面上运行与他们在目标嵌入式设备上部署的完全相同的操作系统。这意味着他们对目标设备的功能和特性以及对桌面一样熟悉。例如,在 Century Software 用于 Compaq iPAQ 的新 Microwindows 操作系统环境和开发工具包中,我们可以完全在桌面主机环境中模拟目标设备的图形屏幕布局,从而允许在硬件也在开发的同时构建和测试应用程序。

当然,还有其他优势,特别是对于那些已经在 UNIX 上进行了大量投资的客户而言,无论这些投资来自 Sun、DEC、HP 还是 IBM。也就是说,如果您有为 UNIX 环境开发的应用程序,并且希望利用手持和无线技术的最新可用功能,那么在 Linux 上部署这些 UNIX 应用程序比尝试在 Windows CE 上运行它们要简单得难以置信。当然,由于大多数 Web 服务器已经在运行 Linux,因此使用 Linux 操作系统构建客户端应用程序是很自然的。

Rick:是什么让您开始开发 Microwindows?当您启动该项目时,您想到了什么——您的目标是什么?

Greg:嗯,我最初设计 Microwindows 窗口环境是为了好玩,因为我喜欢小系统做大事。然而,这很快变成了一个项目,用户兴趣驱动我实现只有在更高级系统上才能找到的功能,但在一个小空间内,而不必最终通用。例如,Microwindows 支持抗锯齿文本、TrueType 和 Adobe Type 1 字体以及 Alpha 混合,所有这些 X 都刚刚开始支持。

与 X 相比,包括所有库在内,Microwindows 仍然比 X 小一个数量级。但是,正在进行的工作是将 X Window 系统的大小缩小到兆字节以下。然而,Microwindows 和 X 之间的复杂性差异将始终很大。在嵌入式系统设计中,始终存在最大限度地利用硬件的问题,因为这才是设备首先要构建的目的。因此,当您必须连接到硬件以进行图形加速或添加奇怪的触摸板设备时,为 Microwindows 而不是 X 实现这一点要简单一个数量级。而且 Microwindows 的 Nano-X 协议与 X 非常相似,只是它有一个更简单的颜色模型,这使得应用程序更容易设计。

Rick:您知道还有哪些其他替代方案,我们可以说,它们在嵌入式系统和设备的 GUI 支持方面与 Microwindows 竞争?

Greg:我会说这个领域可能有三个竞争对手,也就是说,当您谈论技术创造者时。除了 TrollTech 之外,还有 PocketLinux 团队的 Java 实现。虽然 Century、TrollTech 和 Transvirtual 可以被视为竞争对手,但实际上每个解决方案都是将应用程序推向市场的不同方法,并且每个解决方案都有其非常适合特定领域的优势。例如,Transvirtual 的 PocketLinux 是一个不错的 Java 实现,它在帧缓冲器上运行并实现了一小组但完整的 applet,如果您运行 Java,这很棒。但它不会运行任何非 Java 应用程序,因此它不太适合通用工作。TrollTech 的 Qt/Embedded 处于类似的情况,但适用于大量的桌面 Linux 用户。Qt/Embedded 项目以及整个 Qt 类库,是一个非常棒的应用程序框架实现,具有非常 Windows 的外观和感觉,它几乎可以无需任何修改地移植到具有帧缓冲器的嵌入式设备。但是,Qt/Embedded 不会运行任何非 Qt 应用程序。它的源代码也很多,而且相当复杂。

Microwindows 操作系统环境是其中最快的,并且非常适合通用应用程序开发,在这种开发中,不能依赖所有应用程序都需要某种外观和感觉、小部件集或 Java 实现。这种通用环境非常适合需要大量第三方贡献的平台,例如为公众制造的设备或必须将不同技术结合应用而又不限制用于开发的语言或 API 的平台。

Rick:在具有图形界面的嵌入式 Linux 系统中,另一个重要的要求是浏览器。您也启动了一个浏览器项目——ViewML。还有哪些其他替代方案,它们与 ViewML 相比如何?

Greg:当然,我偏爱 ViewML,它是 Century Software 创建的开源嵌入式浏览器。ViewML 在 800K ROM 和 2.1MB RAM 中运行,因此它在小型设备上运行良好。但是,鉴于其小巧的体积,您可以做的事情非常有限。最近,澳大利亚的一个小组将完整的 Mozilla 浏览器移植到 Microwindows,它实际上可以工作。因此,根据需求,人们现在既有小尺寸的浏览器,也有功能齐全的浏览器可用。Opera 在 HTML 兼容性方面获得了很高的评价,他们也有一个未发布的 Microwindows 版本。

通过我们的 Microwindows 操作系统环境产品,我们一直专注于让 ViewML 运行良好并运行得足够快,以便在小型 PDA 以及更大的更快的 PDA 上运行。通过这种方式,我们的产品附带一个可以在任何设备上使用的浏览器,如果客户有足够的 RAM,我们可以随时升级到 Mozilla。

Rick:您在开发 ViewML 时遇到了一些什么挑战,您是如何克服它们的?您需要做出哪些设计权衡?

Greg:尺寸限制是最大的问题,其次是确保浏览器正确显示页面。由于我们不想从头开始编写浏览器,从而落入其他许多无法正确显示页面的浏览器的陷阱,因此我们选择了 KDE 项目的 kfm KHTML 小部件。我们选择这个 HTML 显示小部件有两个优先事项:第一,它几乎完美地显示页面,第二,它体积小且编写良好。然后,ViewML 项目继续实现嵌入式浏览器,而没有更改 KHTML 小部件中的一行代码,从而保证我们不会把它搞砸得太糟糕。我们编写了一个 QTÝFLTK 类转换层,这使我们能够用不到 100K 的代码实现所有用户界面和小部件控件,结果就是 ViewML。到目前为止,大部分工作都集中在完成此转换层的实现上。另一个考虑因素是确保浏览器速度对于日常用户来说足够快,我们仍在这一领域努力改进 TrueType 字体显示。

将来,我们正在考虑转向 KDE 的 Konquerer v2.0 HTML 小部件,该小部件具有完整的 HTML v4.0 和 JavaScript 1.4 功能,并且也将通过此转换层实现,从而大大减少空间需求。

Rick:回顾过去,领导一个开源项目是什么感觉?

Greg:如果没有一些非常重要的技术的慷慨贡献,Microwindows 项目就不会有今天的样子,例如可缩放字体支持、在各种系统上进行无数次调试以及邮件列表上的大量讨论。我必须说,作为它的领导者,我玩得很开心。开源社区产生了非常积极的影响,他们在发布后几乎立即测试了我的实现和其他人的贡献。相信我,如果它不起作用,我会听到的。

Rick:与 Linux 不同,Microwindows 不是在 GNU 通用公共许可证 (GPL) 下发布的。您能评论一下 Microwindows 许可证吗?

Greg:早期的 Microwindows 贡献者和我决定将 Microwindows 授权为 MPL,这是一种比 GPL 更宽松的许可证。这意味着 Microwindows 可以用于 NDA 下的项目或驱动程序源代码无法公开的项目。虽然这与开源纯粹主义者相反,但我更像一个实用主义者,我的真正使命是利用图形应用程序促进嵌入式行业的发展。为了做到这一点,您必须拥有一个许多人都可以使用的系统,并且许可证应该尽可能慷慨。

Rick:在未来一年左右的时间里,计划开发哪些新的 Microwindows 功能或增强功能?

Greg:嗯,我们将为市场上或即将上市的更多 PDA 生产我们免费提供的 Microwindows 操作系统环境二进制发行版。这将利用所有开发人员对 Microwindows 的兴趣,并允许他们的应用程序在更多平台上运行。

另一个非常令人兴奋的领域将是我们进军 webpad 领域。我已经设计了一个架构,该架构将允许开发人员和用户在各种平板显示设备上运行相同的图形应用程序二进制文件,这有望促进我们在这个嵌入式领域看到的持续快速增长。应用程序可以根据设备屏幕是 240x320 还是 800x600 以及工具包实现的 2D、3D 和类似电视的控件而呈现不同的外观和感觉。

Rick:非常感谢您!

[请在我们的姊妹刊物 Embedded Linux Journal 2001 年 1 月/2 月刊中查找 Greg 关于 Microwindows 的系列文章。]

An Interview with Greg Haerr on the Past, Present and Future of Microwindows
Rick Lehrbaum (rick@linuxdevices.com) 创建了 LinuxDevices.com “嵌入式 Linux 门户”,该门户最近成为 ZDNet Linux 资源中心的一部分。Rick 自 1979 年以来一直从事嵌入式系统领域的工作。他共同创立了 Ampro Computers,创立了 PC/104 联盟,并在启动嵌入式 Linux 联盟方面发挥了重要作用。
加载 Disqus 评论