User Environment Churn
or, It Will Happen To You Too, Kid
(15 November 2011)
I had to laugh the other week. Some Ubuntu user was up in arms over the inclusion of Gnome 3 into the latest release of Ubuntu-current.
For those of you not playing along at home, the controversy in Gnome 3 is that the Gnome developers seem intent on making the interface as bog-standard as possible, up to and including disabling practically any way of customizing the interface.
(This is, of course, a page from the Steve Jobs notebook: your users are welcome to use your product in any way they like, as long as it is the way you like. If they want to use it differently, they are welcome to use a different product altogether.)
Anyways, this user was complaining that now his carefully customized environment was broken and impossible to use because it relied on certain extension abilities that had not been ground out of the previous desktop revision.
The reason why I laughed is because I have been here before.
When I started to get into unix environments, I basically had three choices: CDE, OpenLook, or the assortment of primitive window managers that shipped with Linux at the time (twm or fvwm or the like). Most of the user community used CDE because it was more or less standard across the Solaris, AIX, and HP/Compaq platforms we were using. (We also had Ultrix, but I don't think CDE ran on that.) However the network guys all ran OpenLook because they had SparcStations on their desks.
Personally, I ran OpenLook, specifically olvwm (OpenLook Virtual Window Manager), the 24-bit version no less. This was because the network guys I worked for/with used this window manager and it made sense to be in the same environment that they were.
This was in the late '90s when CDE was in decline but really the only game out there. Linux window managers were laughably primitive, which matched the state of the rest of the system. Even accounting for the fact that it was the late '90s.
Up until mid 2003 or '04 I was still carting around some ported-to-RedHat SRPMs for OpenLook and olvwm which I dutifully rebuilt every time I needed to upgrade Mandrake, and later Fedora. Eventually they stopped working and after complaining both loudly and at length I selected another doomed desktop environment, Ximian.
But the point is that my friends who were all using KDE 1.x or Gnome or Enlightenment always laughed at how I was stuck in the past, grumbling about how the way I liked to work didn't work any more, while they sailed on into the future with the new hotness.
What I've found is that eventually users stop constantly playing with and customizing new environments. They all run into the problem of having both A) work to do and B) a life that doesn't involve computers. When that happens, they settle on their hyper-customized environment and get their work done, then eventually get a rude surprise when their environment changes enough to break their customizations. Or worse, their environment gets dropped entirely.
Today, that's happening to the next generation of users who came up after me. They've gotten used to getting work done, and now their environment is being yanked out from under them.
This is going to be a perpetual state of affairs. Kids will come up thinking that they can re-invent the wheels that their predecessors created, because making things from scratch is more fun (and easier) than fixing edge case issues in more mature environments.
(See jwz's explanation of the CADT model of software development.)
And in 10 years, the same thing will happen to them.
My solution was to embrace the churn. My primary user interface now is Windows (albeit Windows with only a few tools installed), and whenever I have to use a unix GUI I always leave the defaults alone. I used to touch so many different systems in a given week that porting around a customized environment was tedious. Now the only customizations I cart around are a .screenrc and a .vimrc that keep those tools marginally civilized.