Yes, it’s been a while, but what do you expect from an experimental play-blog when the intrepid blogger has been busy with Greek evening classes?
Russell was bemoaning the lack of a nice, plain, big fullscreen Twitter display. He mentioned the Apple RSS screensaver, which was too twisty and swirly.
I immediately remembered that Apple’s RSS screensaver is a Quartz Composition. Which meant that not only would it be easy to fiddle with, but that I already knew quite a lot about it.
I dug out Quartz Composer 3.0. Happily, not only is there a predefined template for RSS screen savers, but it was also nice and plain and simple — exactly what I was looking for.
I did some minor tweaking.
First, I had to figure out why even the default template with no changes worked too fast when plugged into the Mac as a screen saver for real. The speed was insane compared to the Apple RSS screensaver, so I had a look in that. I think the Quartz published interface for RSSArticleDuration has changed since the template was written, as the input in Apple’s RSS Visualizer.qtz was varying from 0 to 1, and the one in the Quartz Composer RSS Visualizer template was hardcoded to 11!
I stole the Interpolation that Apple had in their screen saver, that translates the 0 to 1 into the magical range of 7 to 23, shrugged my shoulders, and plugged that into the template. My new version now worked fine on its own in the Composer’s Viewer and as a screensaver.
So, then I fiddled with the display of the RSS articles. I knocked off the RSS description field completely, as Tweets from Twitter have the entire text in both the title and the description, so I only needed one.
I also made the text nice and big, styled along the lines of the rather funky twistori that Russell had pointed out as a good example. That was a simple matter of changing the colour, font and kerning properties of an Image With String patch. I also took out the glow that had been added behind the words, as it didn’t look so good on a big font.
Finally, and mostly for practice, I put my own name on the “loading” screen of the Composition, again a simple Image With String followed by a Billboard, plugged in to the existing patches that fade the loading screen away after the RSS articles have been retrieved.
And this is my proof-of-concept:
BigFatTweets.qtz (Leopard only)
So, download it, put it into your “~/Library/Screen Savers” folder (you can safely create that folder if it doesn’t already exist), and you should find you’ve got a Twitter-RSS-friendly big fat Twitter screensaver.
Set the options in System Preferences/Desktop & Screen Saver/Screen Saver/BigFatTweets (at the bottom, in the “Other” section.) Point it at the RSS feed on your Twitter home page (log in to Twitter first, then hit http://www.twitter.com/home, and pick up the RSS link from the bottom of the Tweets.)
And you’re done. According to the documentation, this uses the standard Safari settings for actually updating the RSS feed, so it should get new tweets half an hour by default.
Obviously, this needs more work — it probably needs a custom module coded to interface with the Twitter API directly, so it can go get Tweets a bit more often and more efficiently — but fundamentally, I think it’s an interesting example of what can be done with Quartz Composer with utterly minimal effort.
Anyway. More from me soon — I went and photographed Professor Richard Lynn for Wikipedia the other day, at the request of a New Zealand Wikipedian; it’s obviously the time of year to do strange creative things because someone else says something that piques my interest — but until then, enjoy BigFatTwitter!
UPDATE: The RSS template for screen savers in Leopard’s Quartz Composer 3 is not compatible with Tiger. You can check the backwards-compatibility of patches in any Composition using the menu option Editor->Display 10.4 Compatibility Information in QC3. Once enabled, you’ll see warning icons on any incompatible patches, and their tooltips will give more compatibility info. If you’ve avoided incompatible patches, you can also run Compositions in the 10.4 runtime to make sure they’ll work on Tiger. That’s on the File->Test In Runtime menu.