The humble screensaver occupied a peculiar niche in computing history, somewhere parked between demoscene and games. Ambient animations that gave your computer time to rest its weary CRT and protect from phosphor burn-in. Screensavers were a ubiquitous part of personal computing. The popularity of Berkley System’s After Dark suite of screensavers on the early Mac was massive, and the “flying toaster” logo was iconic, worming it’s way through popular culture. The form seemed anachronistic after cheap LCD monitors gained dominance, which is a shame, because the screensaver was an important space where creative computing gained eyeballs, without a lot of judgement or expectations. For periods of time computers bucked their own economic uses, frivolously knitting fractals or scattering pixel-thick lights across an imaginary skyline. At their peak, screensavers defied their workplaces and hammered away at distributed computing tasks for the greater good, like SETI@home or Folding@home, - In stark difference to the cryptocurrency mining schemes of today, which are by some accounts actively destroying the planet in a singleminded attempt to consolidate wealth.
It was the history of screensavers and the unique role they fill (and maybe even their supposed obsolescence) that made me want to make one for a portfolio piece recently. I’d made Quartz Composer screensavers years ago that were still functioning, so it seemed like an easy target. On the Macintosh, Apple’s Quartz Composer app enables node-based visual programming for designing with multimedia and interactivity. Compositions created in Quartz Composer were, at one time, first class citizens on the Mac and could be used natively as screensavers or dropped directly into Keynote decks. They are still usable just like clips in the visualist software VDMX, which makes it comparatively simple to make complex interactive work, in contrast to writing in lower level programming languages like C or GLSL. Lots of third-party plugins existed for QC, including those that could enable lighting control, or even run classic game emulators (with glitchable video RAM!). It was a toybox for artists, with a programming paradigm that encouraged experimentation and sharing.
This kind of head banging against platforms is what drives people with interesting ideas away from making art with computers, and it’s a bad look for Apple. The idea I have only works within the context of a native screensaver, and going full conceptual and making something that only runs on a vintage computer just continues to ghettoize creative computing to barely noticed art-spaces. I can pretty easily make what I want in a number of different platforms, but it’s the avenues of delivery that are important here, and they are narrowing as technology progresses, not expanding. The AppleTV has beautiful first-party screensavers, and making a screensaver for it would be an excellent workflow for say, Swift Playgrounds, but don’t hold your breath.
As for finding other venues for this sort of short-form “pointless” visual software- attempts to squeeze this sort of square peg into the round hole of games (a la “No player games”) is generally met with the hostility of an audience expecting something else, and wanting those expectations met to a T:
So, hey, Apple, toss me a bone and let me use a Quartz Composition, or a Processing Sketch, or, Jesus, anything other than Objective-C to make my screensaver?
(This goes out to the brave warriors of #screensaverjam !)
update One of the people I reached out to about my problems getting screensavers working in mojave was Bjorn Johansson, who writes:
I tried setting a QC file as the screen saver just to see what the message says. And just like I thought, it’s the one about “… with this version of macOS”. That message is extremely poorly worded and basically translates to “something is wrong”. It can appear for any number of reasons, and none of them has ever been directly related to the version of my OS when I’ve seen it. I’m 100% certain that it’s not at all indicative of a conscious decision by Apple to stop allowing QC files to run as screen savers. Also, it’s not really a proper error message. For system generated error messages you have to check the console. And selecting a QC file as the screen saver generates quite a bit of output, but it’s these two lines that I think are the relevant ones:
Unable to load Info.plist exceptions (eGPUOverrides)
-[ScreenSaverModules loadModule:frame:isPreview:] -- Can't load bundle at path <private>
Googling the first line shows that multiple people working on other types of apps are getting this error message and the conclusion seems to be that it’s caused by a bug in Mojave. The .plist file can be, or perhaps always is, crucial for running apps and screen savers.
Seeing that this is a well known bug I’m guessing it will be fixed in a future macOS update and that all you need to do is wait it out.