Nat’s Pendulum

Metacity (the window manager for GNOME) has this annoying and ugly minimize animation that looks like a bunch of cascading rectangles flying at your taskbar. I’ve always hated it, but dealt with it for awhile.

Today, I did some digging on the Metacity bugzilla to see if it was fixed, and found this bug.

Over the course of 3.5 years, this bug has sat on the bugzilla, and still isn’t satisfactorily resolved. There is now a reduced_resources flag in gconf, but this flag only disables the minimize animation at the expense of forcing you to use an ugly wireframe window dragging animation. (Complete, utter insanity.)

I don’t understand how after two years of debate, and nearly 3.5 years down th road from when this bug was first opened, the final fix was something that throws the baby out with the bathwater.

I don’t want the minimize animation, but I don’t want wireframe windows, either. Why can I only opt out of them as a couple?

Havoc, you asked for rationale and not rant, and lloyd had provided it:

the window minimization animation’s sole purpose is to indicate to an absolute GUI neophyte “where the window goes” when it’s minimized. for a huge number of users – basically anyone who’s ever used a GUI with a taskbar before, which is in excess of 98% of current desktop computer users – they are never useful because they already know this.

for the remainder, window animations are useful exactly once in their lifetimes – the first time they minimize a window and wonder where their application window “went”.

thereafter, window animations are a distracting waste of time, and to me and many others, an annoyance. it’s roughly equivalent to never being able to turn off Clippy.

I wholeheartedly agree with this analysis. Minimize animations are useful to newbies, not useful to anyone else.

The lack of an ability to disable this animation (alone, not in a catch-all flag that enables wireframe drawing, for crying out loud!) is completely absurd. On my Core Duo 1.6 Ghz machine running an Nvidia graphics card, this animation still feels slow and clunky, and is completely superfluous.

In the future, maybe we’ll be able to use compiz and get nice fade in and fade out that works smoothly and nicely. Even then, I’ll still want to be able to disable it, because it serves no purpose for me, and isn’t central to metacity’s operation.

In the GNOME community, we’ve heard mention of “Nat’s Pendulum”, referring to Nat Friedman’s insistence that the GNOME “usability pendulum” has swung too far in the other direction. The 3.5 years spent blocking on the inclusion of this simple gconf flag, was, I think, a perfect illustration of what Nat meant. The fact that the flag still isn’t there in the form suggested may mean that the damage may just be permanent in this community surrounding metacity development.

Why must gconf be “usable” too? Don’t give me a reduced_resources catch-all flag, but give me separate flags to enable/disable certain animations/effects. Is this really such a usability disaster, or are you just being a Metacity Nazi:”no fine-grained configuration for you!”

As Jeff Waugh has mentioned, religious usability insistence like that expressed in this thread was enough to send many would-be GNOME users and contributors packing for projects like KDE, XFCE, or even to proprietary platforms like OS X. The damage is deep and felt. I lost a lot of faith in GNOME personally because of these issues, and am only slowly regaining it.

Has anyone already written a patch which removes the reduced_resources flag and adds this fine-grained control of the minimize and wireframe animations? If not, I’ll write it and attach it to this issue.

I will not open a new bugzilla bug for this, because I think history is important so that we learn from our past mistakes.

3 thoughts on “Nat’s Pendulum”

  1. 1. go to apps/metacity/general and enable ‘reduced_resources’

    2. finally go to desktop/gnome/interface and enable ‘accessibility’. This is needed as ‘reduced_resources’ disables showing window content while moving windows, enabling accessibility re-enables showing the content.

  2. OK, I’ll give this a shot. One question that shoots through my mind is an obvious one: “WHY?” Why does one need to enable desktop-wide accessibility in order for window content to be shown while dragging under reduced_resources?

    Wouldn’t a much simpler state of affairs be two gconf keys for metacity:

    window_content_while_dragging
    minimize_animation

    rather than these “abstract” GConf keys?

  3. The accessibility trick works, but slows down the opening of *every* gnome application, because accessibility apps are being loaded. I entirely agree that gconf shouldn’t have the same tight guidelines as preference windows, but also think the preference->gconf transition should be mch easier.

Leave a Reply