X11 is a client/server display system that realizes user interfaces by sending asynchronous messages back and forth between a display server — that manages a display, mouse and keyboard — and clients such as xterms, Firefox, GIMP, etc. Some of the drawing, windowing, events and other operations that the X protocol supports look suspiciously like some of the things flying around in Ajax these days.
One definite similarity is that both X and Ajax don’t have any widget standards. In X you’ve got several different widget sets — Motif, Qt, Gtk, etc. — while in Ajax you’ve got a few early frameworks with their own widgets.
So, what’s to be learned from all of this? First, while user interfaces may well head in the component GUI/widget directions, we’ll likely have quite a number of different widget sets in the long run. Second, there are a few design lessons to be learned from X Windows. For example, the creation of windows with a specific look and feel is controlled by a window manager abstract factory.
Some of these design solutions may not be appropriate for Ajax, but I think it’s worth mining this trove of design solutions. Might we some day have an Ajax desktop that unifies multiple independent Ajax applications?
Update 1: Bill Scott makes a similar point (though much earlier — more coffee, I’m sure).