The Photon microGUI is really as old as the hills, and wasn't always as pretty as we see it today.

First off, what is Photon? Well, Photon is the modular GUI developed for the Neutrino kernel and the QNX operating system. Photon was desigined with the same principles as the entire OS: to be small and be portable. No one likes a bulky user interface that won't fit on anything. If you wish to compare something to Photon for the sake of comparing it, I've found a good comparason is with X11 and the Linux Kernel; that is, compare Photon to X11 (The user-interface), and the Neutrino kernel to the Linux kernel (the heart of the OS).

The QNX OS has gone through three distinct phases: QNX2, QNX4, and QNX6 (Also known as The QNX Realtime Platform). It has appeared in many different forms, including PhDitto, Phinx and Phindows.

QNX2 didn't have any real version of Photon, it has (or had) what was known by anyone who was in the know at the time as "QNX Windows," which had a similiar look and feel to Sun's OpenLook and wasn't really a Photon ancestor so much as something thrown together.

QNX4 was around in 1990, and it was the first version of the OS to actually contain Photon (Photon 1.x). It was gray, and not very pretty to look at—but it served its purpose well. It was fast and could run on most 386's and up. QNX4 is the OS that we see on the demo disk mentioned above by talon kale.

QNX6 is the current version of the OS, and it currently contains the latest generation of Photon (Photon 2.x), and it is amazingly sweet—primarily due to the work of the great William (Bill) Bull of BeOS fame. The public got its first real glance at it when both QSSL (Makers of QNX and Photon) and Amiga anounced they were going to partner to relase a new end-user desktop containing QSSL's Neutrino (the kernel at the time and presently) and Photon technologies. You can still see many a theme and skin based on the early and never-released prototypes.

Photon 2.x, much like Photon 1.x, is modular and portable. The basics:

When QNX developers realized that there might be a need to update a system remotely in a graphical (and fast) way, Ditto, PhDitto, Relay, and PhRelay were born. These applications had basically your average client/daemon relationship, which allowed for real control of the system. With PhDitto, a user could connect to any system (provided they had a connection to it) and use it as if it were on their own monitor—and without massive lag. This is because PhRelay and Relay don't send huge pictures of the desktop to be played like an interactive movie: they communicate with raw Photon calls and only send raw bitmap data when absolutely necessary. PhDitto and PhRelay (as well as Ditto and Relay) only exist because of QNX's modular archetecture, as all they have to do is replace one part (in this case the way the system communicates with /dev/photon) with another form of that part.

Phinx and Phindows work much the same way, except that they allow Photon to be accessed from any system running X11 (e.g. Phinx, or Photon in X) or any system running Windows (e.g. Phindows, Photon in Windows). Again, they just replace or swap some components for alternates (for example, the kernel, neutrino, and the display interface, photon, are not in any real way connected—much like X11 and the Linux kernel, or, to a lesser extent, Windows and DOS).

Another cool thing about Photon is XPhoton: This is basically a compatability layer that converts X11 calls into Photon native calls, meaning X11 apps can run seamlessly in a photon based envirnoment.