Just Use Makefiles…

In the discussion about making screensavers intelligent so that they disable themselves if you keep dismissing them, Philip Paeps made the following comment:

I use a Makefile to compile my LaTeX-beamer presentations. The “present:”
target of that Makefile just does “xscreensaver-command -disable” before
calling xpdf and then “xscreensaver-command -enable” afterwards (ie: after
xpdf exits).

I don’t see a reason to introduce “intelligence” into software when it can
be simply implemented by human cleverness.

No disrespect to Philip, but I have rarely seen a clearer example of the disconnect in requirements between smart geeks and ordinary people :-)

10 thoughts on “Just Use Makefiles…

  1. In KDE you can configure your screen saver to not engage if the mouse is in a configurable corner of the screen. If you’re using your mouse, there will be activity. If you’re not, just move it to $FAVORITE_CORNER.

  2. If anyone ever told me to “just use makefiles”, I would tell them to shut up. ;-)

  3. Ordinary people don’t have this problem to begin with, since they use Powerpoint to do their presentations, which disables screensavers by default. OpenOffice does this too, and I’m pretty sure Keynote on the Mac does the same. So, no disrespect Gerv, but I have never seen a clearer disconnect between Free Software Geeks and ordinary people. There’s no good reason to run a presentation in a browser, maybe you should think about that

  4. Andre: There are several browser-based presentation frameworks, including S5 (Simple Standards-based Slide Show System). The advantages are that you can upload it to the web straight away in full fidelity.

    BTW, Joshua: A great idea from KDE, but the fact they made the corner configurable is another great but tiny example of the disconnect between KDE and Gnome. Why on earth not have the same corner for everyone, and enable the feature by default, so people could rely on it and it would Just Work?

  5. I don’t know about this. If you have to do a lot of research to find some typically arcane computer method, it’s easier just to touch the mouse occasionally. Even parking the mouse in a special place is frankly too much effort. First you have to somehow find out about yet one more feature, then remember to do it (along with a million other stupid details of running a computer). Likewise, I don’t want to install yet one more program just to suspend another. That’s absurd.

    Now it’s fairly easy to disable a screen saver, but why should you have to bother? And don’t forget that there are other functions associated with the screen saver, such as locking the session or power saving, and more likely than not you will forget to enable it again.

    Some programs may indeed disable the screen saver, but others (e.g. slide shows) do not. I’m with Gerv on this one. I don’t see why screen savers can’t be smart enough not to engage when there’s I/O activity. That’s really not asking much.

  6. That’s all fine and dandy Gerv, but most people don’t need or even want their presentations on the web. The “problem” you’re experiencing is not a problem for the vast majority of users. What you’re doing is as if I were complaining how I can’t record TV shows with my fridge, when that’s clearly not their intended use case. Just because you can do something doesn’t mean you should.

  7. No disrespect perceived, Gerv. :-)

    I don’t pretend to be a “typical user” by any metric.

    Alex: yes, Makefiles, seriously. They are the geek way of getting things done. I think you would be hard-pressed to find any geek who has discovered the elegance of Makefiles to swear them off again.

    The point I wanted to make in my comment however, is that I generally much prefer determinism over background magic. While making screensavers intelligent enough to back off during presentations would not be too difficult (slides rarely advance slower than say at least a few per hour), the intelligence would break down in the case of watching a film, which could last a couple of hours.

    It is much more reliable to deterministically disable the screensaver when you need it to be gone. In my case, I use a Makefile for presentations and for watching films. Presumably, more “fancy” software can be furnished with a checkbox somewhere in a page of preferences.

    A while back, I discovered that VLC used a rather silly approach to make the screensaver back off by forking a hardcoded xscreensaver-command in a loop every now and again. When I noticed that (I think because my xscreensaver wasn’t where VLC thought it was, my blog possibly remembers the details), I found the on my system which has an encouraging ‘state’ field in an information struct and an event struct.

    So, instead of making screensavers more intelligent, perhaps X11 client software should become more intelligent. X11 already appears to offer an interface that can be trivially used for this. Using this interface will also “do the right thing” in the (possibly unlikely) case of the screensaver and the presentation/film/whatever on different machines from the X11 server. All the world is not a laptop.

    Perhaps Mozilla could expose it through XUL or JavaScript for people writing presentations in HTML? Presumably xpdf could also be patched for this, as well as other clients that could possibly benefit. Perhaps someone has changed VLC to use this extension in the mean time. I didn’t have time to patch it when I noticed it forked a disable command.

    Small matter of programming? :-)

  8. Andre, sometimes you need to put something up on the screen that a slideshow just can’t do very well, even with fancy transition effects.

    One good example of this, which does in fact involve a browser, would be an “introduction to the internet” clas. It’s got to be interactive. When somebody asks, “wait, how did you do that?” or “What if I want to find knitting patterns?”, you want to be able to demonstrate that on the fly. For that you need to use the software they would use themselves, not prefab bullet points.

    Another example would be a software demo (usually conducted by the sales people, not the programmers). Again, when a member of the audience asks, “Wait, what if they don’t have enough money to pay the whole fine right now, but they want to put two dollars on it?”, you want to be able to demonstrate that the ILS can handle that, so you need to be doing your presentation with the actual ILS software that you’re presenting, not with PowerPoint.

    Actually, I find it more difficult to come up with legitimate use cases *for* using presentation software. In my entire life, I have only ever *once* seen PowerPoint used in a way that did not actively detract from the presentation being given, and on that occasion the guy was just using it to show maps (since the talk involved a geographic area that the audience might not be very familiar with). The maps could just as well have been shown with IrfanView; the guy just used PowerPoint because he happened to have it.

    Every other time I’ve seen PowerPoint used, the presentation felt like it had been written in forty-second segments with six bullet points each, i.e., the limitations of the presentation software were driving the talk, rather than the needs of the presentation driving the software selection.

    As for LaTeX and make, or any other form of precisely customized hand-rolled presentation environment, I have a pretty hard time seeing any normal user doing stuff that way. The whole point of off-the-shelf software is to remove the need for every single user to be a programmer. I’m very much in favor of teaching users to be more effective with their computers and learn more about how they work, but writing makefiles is substantially beyond the limits of where most of them are ever going to be willing to go.

    And as for just permanently disabling the screen saver, I don’t think that’s going to catch on. People *like* screen savers, better than they like any other computer software, I think. I get *endless* complements at the library about the screen savers that Debian comes with. They’re not ones most people have seen before, on account of not coming with Windows, and so they’re automatically cool. If I ran a store that sold computers, I’d make sure every computer in the place was set to random screensaver on about a thirty-second delay.

    > Why on earth not have the same corner for everyone,

    Same reason you don’t force all users to keep their panel on the same edge, or have the same panel launchers. The same setup doesn’t work well for everyone. Even Windows allows this stuff to be configured, and the Windows UI is about as flexible as cement.

    I do agree with Phillip’s comment about determinism, in general terms, but it’s important to understand that the normal user isn’t able to write his own rules to govern the determinism. It’s not just make that’s beyond them. Normal users don’t write shell scripts or batch files either. If normal people are going to do this stuff, it needs to be built into the UI.

    Why not have the password prompt screen (when you exit the screensaver) also include a checkbox, “disable the screensaver for the next [dropdown list defaulting to 1 hour]”? That way you only get hit *once* during the presentation, not repeatedly. In fact, if you set up much ahead of time, you’d probably clear it before the actual presentation began.