XScreenSaver 5.07, and a "screen savers that suck" poll

XScreenSaver 5.07 out now. Mostly a bug fix release, fixing up a few lingering Xinerama/RANDR bugs, and a bunch of UI tweaks to the preferences dialogs. But most notably, I'm really happy with how the new cartoony cel-shading option to SkyTentacles came out.

And now, a poll!

Screen Savers That Suck, Second Try.

Two years ago I asked you all which screen savers, if any, you thought I should remove from the xscreensaver distribution. That didn't work out so well. A lot of it went like this: "I hate XYZ." "You're crazy, XYZ is my favorite!"

Several people suggested partitioning them into categories (e.g., "Retro", "Math", etc.) but nobody came up with a set of categories that really made sense.

So let's try it another way: please vote in this poll for the screen savers you think I should delete. BUT, please only vote for TEN. The poll will let you select hundreds, but please don't do that. Only select your ten most hated. The ones that make you say, "this screen saver is completely without merit, and anyone who says they like it is lying."

( The "Screen Savers That Suck" Poll   --More--(20%) )

Tags: , , , , ,

63 Responses:

  1. ivorjawa says:

    With the port to OS X, you've got a pretty solid abstraction layer. It's not like the less popular ones are being that much of a maintenance headache to you, right? So if it's not costing you anything to keep NoseGuy in circulation (hate that fucker, but I'm sure someone somewhere loves him in a way That Nature Just Didn't Intend -- probably someone in Japan or Germany), why even bother with the effort to remove it?

    It's not like anything you're likely to remove is going to make much of a difference in compile time on a modern computer. And you're going to make some pervert somewhere very unhappy.

    • jwz says:

      Imagine you've just downloaded the thing for the first time. 213 screen savers (at current count) is a hell of a lot to sort through. If there is some obvious junk in there that only 3 people in the world are going to like, there's no reason to waste everyone's time with it.

      • ivorjawa says:

        I suppose, yeah. But I'd argue for just taking them out of the default build and making them optional -- and making sure they all still compile going forward.
        Some of those hacks are approaching voting age. You can't just summarily send them to the electric chair!
        (Or maybe you can, in this scary Post Nine Eleven World.)

        • jwz says:

          That's probably what I'd do, but taking them out of the default build means that 99.999% of users will never even know that they exist. Here in this modern world, even the majority of Linux users install binary distributions instead of building from source.

          • pdkl95 says:

            What about a simple addition to ~/.xscreensaver along the lines of:

            hideFromMainList: glforestfire antmaze

            ...which just suppresses their entry in the main list for xscreensaver-demo. There could then be some menu option to get access to the full list if needed.

            This has several advantages:

            • It doesn't change existing installs (their .xscreensaver file would not be touched)
            • It doesn't touch your build process (less work)
            • A GUI for access to the full list isn't necessary, as you can just edit the config file
            • It still provides the hacks to the binary distro users, if you really want them

            I suspect this could be a really trivial change. I'll go grab the source and see how hard it is to make a patch...

            Of course, this probably doesn't affect the OSX port - that doesn't use the same config file, does it?

            • gryazi says:

              Seconded. Also re: "tagging," a really well-placed knob (GUI or otherwise) to disable GL or "high CPU load" hacks would be nice.

              Speaking of CPU, I haven't looked, but do you have anything in there to suspend the hacks when DPMS kicks in?

              • jwz says:

                None of the hacks have high CPU load. If they did, that would be a bug.

                All of them spend 50% to 99% of their time sleeping (state S! really!) (mostly on the 99% end of that rather than the 50% end of that) and beyond that, they're all niced to 10.

                If you're running GL in software instead of hardware (i.e., your X server has decided to turn off DRI for you) then the X server will have high load and there's nothing I can do about that besides say to you, "here's a nickel, kid, get a video card manufactured after 1995." If your video card is a joke, don't install the vendor package with "gl-extras" in its name. All of the vendors segregate their packages like that these days.

                It's been suspending the hacks when DPMS kicks in for (literally, I just checked) ten and a half years.

                • gryazi says:

                  I should've elaborated on that. Yeah, I'm on software that often doesn't have DRI available (not everything is Linux, y'know?), and hardware that often requires unstable proprietary drivers anyway (see also: every video card manufactured after 1995) to support it. When those drivers fail at allowing you to get work done without crashing the X server, it's likely you'll fall back to stable 2D open-source ones and lose direct rendering.

                  To be honest, on decent hardware I'm mostly using GNOME's cheap knockoff of your hard work anyway; on crappy hardware I'm more likely to reach for Xscreensaver because it works absent the GNOME stack. [re: Suspend, awesome. I never had variable-speed fans before most of my desktops went GNOME, so of course I never noticed. I'm not sure if GNOME failed to copy that or if I'm just mistaken based on the six months I couldn't use DPMS because it broke in fglrx.]

                  Certainly not blaming you for GNOME. But when you've stubbornly installed the GL hacks (because you bought a video card after 1995 and hope and pray to have stable 3D someday before it's completely obsolete) and have fallen back to software, being able to flip through the previews without choking is always nice.

                  I thought there were a few hacks that would render fractals at full steam (even on a fast CPU), but attempting to confirm this (and avoid blaming you for a possible GNOME-ism) informs me that "This site is blocked by the SonicWALL Content Filter Service."

                  It's like 1994 all over again.

      • spendocrat says:

        Would it be crazy to just have two categories? Something like "Obviously worthwhile/Good/popular" and "other"? Then new users are pointed to the good stuff, while anyone willing to put in the time can search through the long "other list".

    • keithpjolley says:

      i'm not from germany or japan and i like the noseguy. :) but, why so obscure to enable `fortune` (or any other external program)?

  2. how about tags instead of categories? some obvious tags: 2d, 3d, loads images, mostly black, fills screen, automaton, fractal, configurable text, cycles colors, etc.

    • pete23 says:

      this seems like a good idea, but spoils my neatly ordered hierarchical view of the world. having to square the circle to make things fit in a top-down taxonomic straitjacket is better mental exercise.

    • strspn says:

      those are good tags

    • jwz says:

      Tags don't tell me what tarball/zip file to partitions the files into. Tags don't let me put an outliner list in the UI. I don't think tags help.

      • gryazi says:

        I'm not really invested in this, but what I imagined re: "tags" would be a set of "collections" files that just contain a list of hacks/playlist per "tag."

        So the basic UI would be two simple "Include" / "Exclude" lists of checkboxes, and a button to "Use Collections" and gray out the regular list of hacks. (Then a "Save as Collection" button for the regular list, when it's active.) Simple, and hacks can be listed in as many collections as anyone wants. Bonus points for a warning when a "Collection" requires missing hacks. (Hell, just call them "Playlists" instead of "Collections," everyone is familiar with the term and how they do and don't work.)

        You don't get one authoritative outline list, but you don't have to maintain it, and you don't have to cull hacks shipped. I guess you would have to implement an "Only show Playlists that work" pref and make it default to avoid whines from users of distros where the playlists are shipped but all the hacks aren't.

        This doesn't help with actually culling the hacks, but as a UI guy, it sounds like "users are overwhelmed by choice" was the real issue.

      • earle says:

        I think they could help as an alternative browsing method to the outliner view. But that's probably overkill for the user.

  3. ammonoid says:

    I like the category idea but then again you'd have to decide what fit where. Maybe 2d and 3d.

    Personally I like the ones that echo the old c64 graphics. I have all the savers on random so it takes a while to go through them. Occasionally I'll come across one that I hate but most of them I like.

  4. flipzagging says:

    Have you thought about having XScreensaver phone home and tell you what people are really using? Obviously this would have to be advertised somehow at install time, or maybe it could be opt-in. I don't feel like my choice of screensaver has to be particularly private.

    • blasdelf says:

      That would open up the possibility of sorting them by popularity in xscreensaver-demo (which would be doing the phoning home anyway).

      Making it easier to ignore 'bad' savers would obviate the need to remove my beloved glforestfire

    • strspn says:

      Perhaps a special "1/1,000,000th of you will phone home to the mothership" release in which if rand(1e6)<1e-6 then send what was selected, but Murphy's Law would put that in some distro where everyone gets the full-speed colored rectangles, which I don't actually hate as much as I feel I should.

      • pdkl95 says:

        I sat with my finger over the checkbox for greynetic for much the same reason. I couldn't bring myself to click it, though. I think it has something to do with it looking far too much like the very first programs I wrote as a kid on my Atari 800XL...

    • rodgerd says:

      Does Jamie really need the ZOMG XSCREENSAVER HAS PHONE-HOME BACKDOORZ slashdot drama? Has he offended you that you suggest he let himself in for it?

      • flipzagging says:

        Dunno. It was a serious suggestion. There's almost no way to get really good data about application use without that sort of thing. As long as there is disclosure and it's on as an opt-in, I don't think it's an issue.

        As to whether Jamie "needs" drama from the Slashdot crowd, I'm sure he can quit at any time.

  5. eqe says:

    I got down to GLSnake and then my X server segfaulted. You may point and laugh now.

    • jaydubbee says:

      Lucky you. I only got as far as "ant". Thanks, nvidia!

      • lionsphil says:

        The answer is therefore clear: only package the non-OpenGL screensavers for Linux. That should cut the list by about 60%.

        Likewise, no OS X user would be seen dead running something that wasn't shamelessly bling-y, so only package the OpenGL screensavers there. Job done.

  6. ts4z says:

    I just hope people don't hate the one I wrote, munch, even if it is dull.

    Speaking of it, munch and mismunch should probably be folded together, in the spirit of ones like qix that have about six hundred more options than ever get called.

    I *think* you might as well let people vote on as many as they want; I don't think it will really change the results that much.

    • janux says:


      I like munch.

      Just sayin'.

      • earle says:

        munch is awesome if only because it contains code written in 1962. (Which beats Sphere, by Tom "Duff's Device" Duff, by some 20 years.)

    • lionsphil says:

      The likes of moire and moire2 probably belong together, too.

      Of course, the Ubuntu-using hordes don't get to see options, as the GNOME Screensaver morons consider anything like that to be too confusing for the poor user.

      • ts4z says:

        Well, that's true, but c'mon, there are over 200 hacks! If you spent time actaully configuring them, you'd never have time to read jwz's blog!

        The only downside from merging two screensavers at this point is that each one is only represented as a single binary, so it no longer makes sense to have two or three flavors of qix, for example. That's somewhat unfortunate but made up for the fact by the other couple hundred hacks.

        • jwz says:

          I never know what to do with hacks that have vastly different looks, depending on options. For example:

          hypnowheel -count 3 -layers 50
          hypnowheel -count 3 -layers 2 -speed 9 -twist 9 -wander

          Really the only way to deal with that is to put a checkbox in preferences that means "ignore all these other sliders, and just pick a random set of good parameters." A lot of the old xlockmore hacks do that by having parameters that are, e.g., "5-100, or -1". Which is completely nonintuitive when presented in slider form.

          What I used to do in the X11 xscreensaver was have three entries in the list, but that doesn't work on MacOS (or in gnome-screensaver, apparently).

          • lionsphil says:

            Other direction, actually. Gnome-screensaver exposes no hack options, only presets.

            In their world, if I want to play with which crashes the BSOD hack simulates, I should be creating theme files. This is obviously better for me than toggling checkboxes.

          • ts4z says:

            That checkbox would be cool, actually.

            The only other sane thing to do would be to have qix or hypnowheel implement a static library, linked against several different flavors of hypnowheel under different names.

            The downside of the old approach is that you get qix and hypnowheel N times bouncingcow/coral/pipes, which probably isn't the right weight, either.

            On the Mac, we've also lost the ability to have shell-scriptable random programs as screen savers. There ought to be a Mac screensaver that could shell out to programs the way the X11 stuff could.

            (Also thanks for the Mac port because it rocks. It was, to me, the killer app of 10.4.)

      • earle says:

        (Somewhat off-thread-topic, but:) I'm glad KDE don't feel the need to patronize their users that way. Kubuntu is a good thing.

  7. transgress says:

    how about focusing on its horrible performance, and then i wont have to rip it off of every box i touch.

    • ajaxxx says:

      Typically that's the fault of whatever display system you're running. A glance at top while running a hack windowed would tell you for sure where the time is going.

      If you're running a Mac, go whine to Apple. If you're running X, patches gratefully accepted.

    • relaxing says:

      you were way cooler when you had the peace, love & hash userpic. just thought you should know.

  8. valacosa says:

    Hm. There are a lot of votes for Greynetic, and it was mentioned up the thread.

    While Greynetic isn't as pretty to look at, you say in README.hacking that it's a good hack to start playing with because it's so simple. And you're right.

    Is "ease of hacking" going to be a consideration when you cull the herd?

  9. jcurious says:

    Rather then removing the unpopular ones, just have a package of the top 25 and a package with "the rest"...

    so rather then people vote for bottom 10, have them vote for the top 10 and put the top 25 is in a "pop" collection... personally I like "Signal" vs "Noise" collections, but I doubt many people would understand... shrugs

  10. lloydwood says:

    typing 'jwz' into a number field no longer kills the System Preferences! yay!

    and the wikipedia links make xscreensaver more explicitly educational. All that's missing is a saver that lists its own documented code on the screen...

  11. NoseGuy is still the best... everybody gets a kick out of him spewing fortune. Nothin else does Fortune justice.

    • lionsphil says:

      Plus, if your machine is made out of stale pop-tarts and unaccellerated X11 hatred, he still won't make it break a sweat.

  12. jaydubbee says:

    Unfortunately a lot of people have voted to get rid of "sphere" but really that hack has historical value. For one thing it is possibly the oldest hack in the distribution. At the very least it is among the oldest hacks. In its time, it was actually a demo. Just goes to show you that some people have no sense of history.

    I also can't believe that two know-nothings voted against XAnalogTV. That is among the greatest hacks of /all time/.

  13. jackbrinks says:

    Ant is missing from your list unfortunately. Thanks for letting us vote though.

    • jwz says:

      That one's actually gone already, for a couple of years now, because there's some widely-installed Java development thing also called "ant". I picked "delete it" over "deal with the email about it".

      Also, that one sucked.

      • gryazi says:

        You could name all the hacks .xsc or something to fix the command-line namespace (on systems with dumb paths) and just ignore extensions in the UI. Though then you'd have to deal with collisions, unless you lay down the law "XScreensaver will only list files ending in .xsc because I'm sick of dealing with namespace collisions."

        I know, it only happened once so far.

  14. mattyj2001 says:

    Getting more than three nerds in a room to agree on even one screensaver to remove, or a top 10 to include, will prove to be an exercise in futility. I think the failure boat has already left the dock for this poll.

    JWZ should pick his own top 25 to include then elicit the assistance of the teeming millions to maintain a sourceforge page where users can download whatever additional screensavers they want. They could make it all Ajax-y and flashy to show previews online and whatnot. The fanboys would think you rule.

    And the chumps out there that still care this much about screensavers will eventually get over it.


  15. pnijjar says:

    If the maintenance is managable I would also vote for keeping them
    all. One reason is because some of the simpler ones that fill up the
    screen (cynosure, swirl, and coral, to name a few) are nice to run on
    the root window.

    The other aspect is that I don't see how having too many screensavers is
    really a barrier to new users. Don't most distros just enable all of
    the hacks that are installed? In that case folks just sit through the
    screensavers that are boring to them until something awesome comes up.

  16. babysimon says:

    Thank you so much for allowing me to participate in this exercise. I have been careful to only vote for ten hacks.

    However, if all ten of my votes could instead be counted for greynetic, that would make me very happy.

  17. pikuorguk says:

    The problem isn't that XScreensaver has 213 screensavers, is it? It's that users are overwhelmed with choice.

    So rather than delete things, why not pick five that look pretty and then create 'packs' that people can download, or some system where we can download the ones we like - it could be like the screenshot gallery, except clicking the images lets us download the screensavers.

    That way all the hacker wannabes can install XMatrix on their multi-screen setups, while the crazy ones can watch NoseGuy spew errors because they don't have fortune installed.

    • lloydwood says:

      On the Mac, the pretty and tasteful screensavers are the ones that Apple includes as default with Mac OS X. Xscreensaver is the pack supplying the rest.

    • jwz says:

      Then that's not "tags", that's "partitions" again. And I still don't have the list of partitions, because coming up with sensible ones is hard. It's easy to say "just divide them into five sets", but it has proved to be very hard to specify those five sets.

  18. Do you notice the distribution of votes? Either screensavers with names starting with the letter A are vastly less awesome than letters later in the alphabet, or there might be a problem with alphabetization here.

    Either that or people are only familiar with the first few ones they've seen in the screensaver picker.

    At least it could help you weight results well. Either way, GLForestFire and Greynetic really do suck, apparently.

    It's a shame* that Livejournal doesn't offer the option to do something like KittenWar, the poor man's Elo rating.

    * Well, probably not.

    • jwz says:

      I know, right? More people hate "Circuit" and "BouncingCow" than "Rotor"? Come on. I think that right there proves that these votes mean nothing.

    • 1) Kittenwar's actually not a bad idea!

      2) Perhaps the "ScreenSaver Preferences" chooser/previewer could have [rocks] & [sucks] buttons that do something useful to the user and a [vote] button that sends the accumulated sucks/rocks info to somewhere. I suspect the Ubuntu ScreenSaver Preferences dialogue is not part of XScreenSaver though :-(

      3) I think I'd make two groups: "standard" and "lots more". Pick ten screensavers by throwing darts at a list or something and call them "standard". At least this approach has the benefit of getting the issue out of the way quickly.

  19. dakone says:

    I wrote pulsar many years ago to test graphics card performance.

    However, for a long time now the tests it does are irrelevant. ~4000 frames per second on my Quadro 3700? Who cares? It's UGLY.

    Take it away Jamie.


  20. frogfarm says:

    I abstained, since I use plain blank. But hey, Lazyweb - what the fuck is the deal with X?

  21. schoschie says:

    Please keep them all!
    I like XScreenSaver *because* of the variety. Also, as others have mentioned here, I like how the different modules in a way show the legacy or history of computer graphics. The simple and dopey ones belong in there. There is a reason they exist.
    I think this is more important than kicking a bunch of them out just because some people might not like them. They can just skip those. It doesn't hurt.