Just Released

Dr. Dobb's Journal June 2003

By Michael Swaine

Michael is editor-at-large for DDJ. He can be contacted at mike@swaine.com.

The State government up here in Oregon is out of money, and unlike the U.S. Federal government, our State actually has to do something about the problem. Various possible solutions are being carefully weighed in bars and laundromats around the State.

"Eliminate government waste" is the most common solution proposed, but apparently there isn't any. "Close a few schools," "shorten the school year," and "increase pupil-teacher ratios," seem to be among the more likely scenarios. Then there are the perennial proposals to raise taxes on popular activities like smoking, drinking, eating, gambling, and being poor. (If you're not from Oregon, you might think that being poor wouldn't be all that popular, but folks up here have a different way of looking at things.)

But taxes, even on the poor, don't go over big here in Oregon. One major cost-cutting step has already been taken, though, and the consequences should be worth watching. Actually, I might prefer to watch from a distance, but nobody asked me. What they've done, they've opened the jails.

In Other Recent Releases...

Early this year, Apple Computer released its own custom implementation of X11. I immediately installed the software and did some preliminary playing around with it. What appears below is in no way a review or a technical discussion of the merits of Apple's implementation. But it does, I hope, provide some background on this very significant development and give some initial impressions.

Some time last year, Perseus Publishing released Howard Rheingold's Smart Mobs, a look at where technology may be taking us. I read it soon after it came out, and what appears below regarding Howard's book is not a review, either. It's more a collection of reactions. Howard always does that to me. Apparently, he does it to a lot of people.

OS X goes to 11

X11 is X Windows System Version 11, a network-transparent, client-server graphics display system that is the de facto Standard for UNIX systems. The CDE, KDE, and GNOME desktop environments run on top of it. Thousands of GUI-based UNIX applications use X Windows, and they can all, in theory, run on Apple's X11. Whether this increases the number of applications that Apple claims can run on Mac OS X depends on whether Apple was already counting such apps. But regardless of Apple's claims, this X11 implementation is really big news for those of us who think of Mac OS X as a UNIX variant.

Apple's X11 implementation is based on the somewhat troubled open-source XFree86 project (http://wwwww.xfree86.org/). XFree86 was originally developed for x86 machines—hence the name—but is now available on a variety of architectures and operating systems, from Windows and OS/2 to Apple's Darwin operating system, the open-source core of OS X. X Windows has, in fact, been available on Macs running OS X essentially since OS X was officially released. (Which is why I suspect that Apple may already have been claiming, and not unjustly, that these apps run on OS X.) A discussion of X on X history can be found at http://fink.sourceforge.net/doc/x11/x11.html.

Apple's implementation of X11 is called "X11 for Mac OS X." It includes the X11 libraries, basic applications like xterm, and developer tools. Among the enhancements that Apple has brought to its implementation are support for Quartz rendering and nice integration with OS X. Perhaps the most important thing about Apple's implementation, though, is the mere fact that Apple is so actively supporting the ability to run UNIX applications on Macintosh computers.

Gumdrops and GNOMEs

I exchanged e-mail recently with a technically savvy correspondent who surprised me by referring to Apple's "fruit-colored toy computers," which reminded me that not everyone is as aware as I am of the changes in Apple's computers and operating system in recent years. Although I don't think any of you need a reminder, I will point out that Apple's current operating system—OS X—is UNIX. It is not necessary to add anything to OS X to engage its Unixness; I regularly run UNIX programs like top on the various Mac models that I use or maintain. If you want to run GUI UNIX apps, though, that's a different matter. That's where Apple's implementation of X11 comes in.

X11 is more tightly integrated into OS X, in some ways, than Apple's own OS 9 is via the Classic environment. Although I am impressed with the degree to which Apple has integrated its own operating systems, the experience of jumping back and forth between Classic and OS X apps is jarring. Classic is really OS 9, so you get all the window appearance and behavior of OS 9 with Classic apps, plus an OS 9 menubar across the top of the screen. Click on an OS X window and the menubar changes, antialiasing takes hold, and you get the very different window appearance and behavior of OS X. Jarring.

With Apple's X11, you can interleave X and OS X windows on the desktop and cut-and-paste between X and OS X windows, features that mirror those in the Mac OS Classic implementation. But X windows also get the OS X Aqua treatment, including the gumdrop buttons in the top left corner of the window, subtle drop shadow effect, and the ability to minimize the window to the dock using the showy Genie effect.

Or not, depending on whose window manager you are using. Apple supplies its own Aqua window manager, but you can substitute another of your choosing—such as the Motif Window Manager, Sawfish (the default window manager for GNOME), AfterStep or Window Maker if you're a NeXT fan, or AmiWm if you just can't forget the Amiga computer.

Exactly what combinations of window managers and desktops work, and how they work, on X11 for Mac OS X would be an interesting exploration, but I'll leave it to more knowledgeable UNIX users.

What is clear from even a preliminary look is that this is a usable implementation, not merely a proof of concept. Early reports are glowing about the snappy performance of Apple's implementation, using applications like AbiWord; the snappiness is apparently due to the use of Apple's Quartz rendering. I am impressed with how well X11 for Mac OS X worked even on the underpowered portable on which I initially tested it (300 MHz, 192-MB RAM; I also tested it on a faster Mac with the recommended 256-MB RAM).

The Mouse Trap

Empowering people to run GUI-based UNIX apps on OS X raises an issue that running command-line UNIX apps doesn't really get into. That is, of course, the infamous one-button mouse. Apple has insisted since 1984 that one button is enough for any need you might have. Personally, I have no problem with that, since I have been using Macintosh computers since 1984. (Not just Macintosh computers. But since 1984, there has always been a Mac on my desk and it has usually been my primary work machine.) But mouse fingering is a very personal matter. You don't want anyone messing with the reflexes that you've trained into your finger-brain pathways. And UNIX GUI apps typically expect multiple mouse buttons.

Apple provides two solutions to this mouse trap. The first is remapping of the three-button functionality to one button using modifier keys. I guess it's complete and usable, but even for a one-button veteran like me, this is a little awkward. The second solution is just to plug in a three-button USB mouse. Your X apps will recognize any three-button mouse without any help, Apple says. They won't supply you with a three-button mouse, but if you find one somewhere and plug it in, they will look the other way. Kind of a "don't ask, don't tell" policy.

Challenging Microsoft Office

In a recent online edition of this column, I poo-poohed the idea Apple would barge into Microsoft's territory with a real competitor to Microsoft's Office application suite, despite the fact that, in January, Apple delivered a direct and dramatic challenge to two Microsoft applications. Apple threatened PowerPoint with its $99.00 Keynote presentation application and took on Internet Explorer with the very nice Safari. These are both Mac-only applications, and challenging Microsoft's applications in Apple's own controlled environment is a lot more imaginable than taking them on within the Microsoft-controlled Windows environment, but daunting nevertheless. Still, some day someone is going to mount a serious challenge to Office. Could that day be as soon as this summer's Macworld Expo?

Well, if Apple does challenge Microsoft Office, it probably won't be with X Windows-based software, especially since all it would really have to do to get in Microsoft's face would be to make a few key enhancements to AppleWorks. There are rumors, though, that a new suite of iApps, incorporating Keynote, will completely replace the venerable AppleWorks. But it is intriguing that OpenOffice.org now runs on Macs.

We've all read the stories about governments around the world moving from Windows to open-source (Linux) software, and for Microsoft this is a loss both in the operating systems area and more painfully in applications. But the German government is actively funding the Kroupware project, which is building open-source software to replace Microsoft's Exchange and Outlook. Some of this software is already visible in KDE 3.1. No word yet of Word- and Excel-killers (pardon the wild exaggeration) from the government-funded project, but that would be logical.

Smart Mobs

Howard Rheingold has been thinking and writing about the implications of technology for a long time. If memory serves, I first met Howard 20 years ago when he was researching his book Tools for Thought. Paul Freiberger and I were at the same time researching Fire in the Valley, and Steven Levy was researching Hackers. Our respective researches led the four of us to the same building in Sausalito, California, on the same day in 1983.

I think that the four of us all understood that an almost invisible revolution had taken place that was going to change the lives of most of the people on the planet in ways that could not be predicted. I think we also understood that, although the public at large was still mostly ignorant of this revolution, it was, in a technical sense, already over. There was nothing left but to watch it play out.

Watch that revolution play out, and start tracking the next technologically based social revolution. Howard was doing that even then, picking up on "the idea of a community that could be brought into existence by the construction of a new kind of computer system." This idea of a community engendered by technology that Howard had picked up on was in the air then; Ted Nelson and Douglas Engelbart and others had articulated it in one form or another earlier, and Howard was drawing heavily from a famous 1969 paper by J.C.R. Licklider and Robert Taylor, "The Computer as a Communication Device." Howard was taken with Licklider and Taylor's description of those communities: "What will on-line interactive communities be like? In most fields, they will consist of geographically separated members, sometimes grouped in small clusters and sometimes working individually. They will be communities not of common location, but of common interest."

Accurate enough, but Licklider and Taylor went on to ask whether what they were foreseeing was a good or a bad thing: "For the society, the impact will be good or bad, depending mainly on the question: Will 'to be on-line' be a privilege or a right? If only a favored segment of the population gets a chance to enjoy the advantage of 'intelligence amplification,' the network may exaggerate the discontinuity in the spectrum of intellectual opportunity."

They were foreseeing the issue of information haves and have-nots, a social problem that we have not seriously begun to address as a society even now. Eighteen years later, the technologies for instant-access cyberspace communities are largely in place, and in Smart Mobs, Howard looks at how this new technologically based social revolution may play out. Some of the issues Howard identifies that Licklider and Taylor did not anticipate are:

Howard's book delves into the various new modes of community formation and intelligently explores their implications. I found the chapter on reputation management especially worthwhile. Howard doesn't come up with new ideas for the management of reputation online, but he reviews some of the approaches that have been tried and mulls over their implications and what the underlying issues are. Reputation management is going to grow in importance exponentially with the growth of the Internet, I think.

My Boo-Boo

My own reputation will not grow at all if I keep killing off computer pioneers. In a recent column, I went on about computer history, touching on the problems of assuring accuracy in the historical record, and acknowledged that I was not a(n) historian, despite having coauthored a computer history book. The discussion was inspired by, and discussed in some detail, Alice Burks' book Who Invented the Computer?. Good thing I copped to not really being a(n) historian. As one reader pointed out, Arthur Burks is not, as I implied, deceased. Oops. Sorry, Arthur.

DDJ