5/03/2010

30 years of QNX: The power of 100 Pentiums in the palm of your hand

In 1990 QNX Software Systems introduced its first windowing system, QNX Windows. In 1994 the company introduced a newer, more scalable windowing system, the QNX Photon microGUI.

Among other things, Photon was billed as a network-distributed GUI. For instance, you could:
  • interact with a Photon-based application and, at any point, beam the application's user interface to another user's machine

  • drag a Photon application from a workstation onto a handheld device (or vice versa)

  • remotely monitor or control the user interface of any other machine on the network
These capabilities might not sound that impressive now, but in 1994 they were way cool. What's more, they flowed naturally from Photon’s architecture. They were built in, not brought in.

Soon after releasing Photon, QNX introduced the Photon Application Builder, aka PhAB. Using this interactive design tool, developers can create fully functional user interfaces without writing any code. Here's a screen capture of PhAB being used to create an automotive CD player:

Click to enlarge.

So where does the power of 100 Pentiums come in? Well, I've already hinted at it. For the full skinny, check out this press release, which I unearthed from deep within the QNX archives:

QNX Software Systems Announces Photon™:
The First Microkernel Window System for HPCs and Embedded Platforms

KANATA, ONTARIO, September, 1994—QNX Software Systems Ltd., developers of the QNX realtime operating system, announced a unique window system targeted for handheld and embedded applications.

According to Rob Oakley, Corporate Communications and Product Management, "the Photon Window System is the first of its kind—a GUI built around a graphical microkernel."

QNX Software Systems designed the Photon Window System as a graphical microkernel and a team of cooperating processes, basing this design on the company's QNX OS, a microkernel network-distributed system.

Photon's cooperating processes provide the functionality to scale the system up into a full-featured windowing system or down to fit into resource-constrained environments, like handheld personal computers (HPCs) and compact embedded systems.

Photon provides a rich widget library that operates much like the X Window System widget set, with an X-inspired API. A Motif-like window manager and a code-generating, visual application builder are also available.

"Photon is extremely light and fast. It runs in only 256K, yet provides enormous GUI functionality," Oakley said.

Like the QNX OS itself, Photon is network transparent—an HPC running Photon and QNX, equipped with a wireless LAN interface, becomes a transparent extension of the LAN, able to use all the LAN's resources as if they were integrated directly into the HPC. The power this brings to the HPC user is difficult to appreciate—imagine having the power of 100 Pentiums in the palm of your hand!

According to Dan Dodge, Vice President R&D, "Photon applications are very network distributed. From the application's perspective, all the resources of all the nodes on the LAN look like a single, logical machine. The environment is so transparent that a user can drag applications from one physical screen to another."

For example, a user in a factory control environment could walk up to a computer and drag an application from the control screen onto an HPC, and then walk out onto the factory floor with it and interact with the live application.

Although Photon is aimed at compact environments, its dynamic range is extensive. "Photon's API and rich widget library can support high-performance GUI applications with enough functionality to enter the domain of X, while consuming only a fraction of the resources," said Dodge.

The QNX operating system is a POSIX-certified realtime OS for Intel and AMD processors. Scalable and modular, QNX fits a wide range of environments, from compact embedded controllers to resource-rich X-based development systems, to distributed realtime systems running hundreds of CPUs.

- END OF RELEASE -

Since then, much has changed. The QNX Neutrino RTOS is still POSIX-certified, but now runs on a variety of processor architectures, including ARM, MIPS, POWER, SH-4, and, x86. And while QNX Software Systems still supports the Photon microGUI, it has expanded its HMI offerings to include Adobe Flash, HTML 5, and OpenGL ES.

No comments: