Party like it's 1999: CDE Unix desktop REBORN
Stirrings among Mars Curiosity screens
The original Unix desktop, the Common Desktop Environment or CDE, is back. Seven years after Sun replaced it with GNOME on Solaris, the Open Group's Common Desktop Environment has returned, now fully open-source and with a modern Linux port.
CDE was developed about 20 years ago as a unified desktop environment for all the various forms of commercial, proprietary Unix that dominated the workstation market back then: IBM's AIX, Digital’s Tru64, HP's HP-UX, Sun's Solaris, Silicon Graphics' IRIX and on x86 hardware, SCO's UnixWare. DEC even ported it to OpenVMS, which isn't a Unix at all, and in Linux's youth there was an $80 commercial version for Red Hat Linux 4.
It gradually sank into obscurity as the x86 PC displaced RISC workstations and Linux replaced the various expensive flavours of Unix, but it never entirely went away. Some people loved it: there’s an open-source effort to recreate it, OpenCDE, and the increasingly popular XFCE desktop started out as a CDE-lookalike. Die-hard OS/2 users will find it familiar, too: IBM donated parts of the Workplace Shell to the CDE project, so the application launcher bears a notable resemblance to the one in Warp 3.
Today, though, thanks to years of campaigning and negotiation by Linux and RISC OS developer Peter Howkins – even including a petition – CDE's owner, the Open Group, has released the original CDE, complete with the Motif toolkit and window manager, as LGPL (GNU's Lesser General Public License) Free Software. Of CDE's underlying Motif toolkit, Howkins tells us: "It's not relicenced yet, but expect an announcement from the Open Group and ICS [the maintainers of OpenMotif] very soon."
There's a preliminary build of the current version for modern Linux, too, although as of yet it's alpha-quality – but this is not some half-finished student project. It's a tested, widely deployed, enterprise-strength product. Linux CDE is some way from being ready to download binary packages and install them with a click, but the source builds, runs and works.
Why would anyone care these days? Well, as Linux moves into new low-end territory on devices with limited storage and memory, such as the Raspberry Pi, CDE's 1990s levels of resource usage seem extremely frugal and sparing. When CDE was developed, 128MB was a lot of RAM.
And CDE isn't just a desktop: it also includes a window manager, file manager and an assortment of accessory apps such as a calculator, terminal emulator and so on. Motif was once the most widely used graphical toolkit on Unix and is still used on commercial Unix – if you watch the coverage of NASA's Mars Curiosity rover, you'll see Motif apps on some of the screens.
And of course, old-time Linux veterans might welcome a dose of nostalgia and the chance to make Linux look just like Proper UNIX™.
A horrible experience
An open source CDE should serve as a reminder of the rot that almost killed Unix. CDE was obsolete practically from the moment it launched. It barely qualified as a desktop since it was little more than a dock, a few tools and a file manager. It looked awful because of Motif and what configuration it offered often had to be performed by hand on text files through trial and error. The best that could be said of CDE was it looked better than what it replaced and brought some commonality to the various Unix derivatives. Sadly it just looked bad by comparison to "lesser" operating systems and it got worse as time went along.
Thankfully CDE's days were numbered when GNOME and KDE started to mature. Both at least behaved like a proper desktop and allowed users to visually customize its behaviour and appearance in a way that suited them.
Fast forward 12 years and Linux is within spitting distance of Windows and OS X for usability and thus a vast improvement to where it was. It's too bad it took so long to get there.
Re: Fond memories!
I was at Durham Uni 2000 to 2003 (doing CS) and and the Unix workstations that we used, Solaris if I remember rightly, were running this. I thought it looked quite interestingly retro even then. My non-CS friends who knew nothing but Windows (Mac was dead on its arse at the time) thought it was hilarious and refused to use it, even though you could still surf and get to all your emails, and you could completely cut out the humungous queue in the library computer room by going to the handful of these workstations sitting un-loved at the back. Happy days!
"If you need to use even 16Mb RAM, I want to know why."
Triple-buffering a 2560 x 1440 pixel display requires 84 MB of RAM just for the display buffers. Most modern operating systems require the feature to provide the compositing features.
Now, using Display PDF might seem an odd choice for a GUI, but it's also the reason for OS X's ubiquitous PDF support: it's basically 'free' for developers. And this brings us to your next request:
"Give me Windows 3.1 looks, and the ability to run modern programs and then get the hell out of my way."
You're asking for mutually exclusive features: a low-footprint GUI that can run "modern programs". Modern programs rely on the rich APIs and features of modern operating systems. Operating systems aren't there for the benefit of end users: they're there for the benefit of developers. End users only ever see the pretty windows and icons—the user interface—but, as you've just shown, they don't really understand what's going on under the hood, or why operating systems are designed the way they are.
GNU / Linux distros have failed spectacularly in the consumer space precisely because the FOSS community haven't really understood the connection between that GUI and the underlying OS. If your OS forces me to jump through a thousand hoops just to get basic features into my application, why would I choose to develop for it when I can target the much more developer-friendly Windows and OS X?
OS X lets me build a complete database-driven application without writing more than a dozen or so lines of code. I could have a basic stock control application written in a week. Add another week and it'd be running on the iPad, and possibly even the iPhone too. The secret is in the Xcode IDE and the OS X (and iOS) APIs which do so much of the heavy lifting for me.
Windows leads the way here: Microsoft are, at heart, a developer tools company, not an OS company. (MS-DOS was bought in. Windows NT was the first fully home-grown OS Microsoft made.) Their operating systems are convenient packages of developer technologies and tools, with a nice GUI for end users to interact with them too. Visual Basic was arguably more of an attraction for corporate adoption of Windows 3.x than Microsoft Office: suddenly, custom business applications became a lot cheaper to build, allowing businesses to automate more tasks.
CDE is a throwback to the late '80s / early '90s approach in the UNIX community of separating everything from everything else. It's a very modular approach, so you can customise it to your own needs, but it also makes it inherently more difficult to code for if your goal is that of a consistent user experience. Which is why UNIX does so well in vertical markets where customisation is desirable—e.g. Android—yet fails badly in the consumer space where consistency and ease of development are far more important.
Your conflicting request proves my point. You literally cannot run a modern application on a 20-year-old GUI, because you can't build such applications on such flimsy foundations without expending far more effort and resources than it's worth.