BlogCadre users see no ads!  Popular topics: humor, video, links, cool, wtf.  Go create an account!




Site Feedz: Cool RSS Screensaver For OS X Tiger

Site Feedz Since I'm the last person on earth to upgrade to Tiger, I figured I'd play around with some of the new features and make something cool for you guys.  It turns out that there are a few nice hackability enhancements to the OS, including a nice little gui-based programming tool, Quartz Composer, which allows you to create interactive visual applications. 

The interesting thing is that OS X has direct support for using Quartz files as screensavers.  If you're a Tiger user, you may have seen the slick RSS Visualizer screensaver that's included.  This is written in Quartz, and it's exactly the sort of cool stuff you can build too.

The downside of the built-in RSS screensaver is that it only supports a single feed.  If you're a blog or news junkie, this is where you scream "boo!"  If you're also a hacker, you follow that with "fine then, I'll roll my own."

So here's my own RSS screensaver, called Site Feedz, which can be configured to pull up to 4 feeds, and allows you to jump straight to the article by pressing the 'r' key.  Cool, yes?



So, first, a quick word about Quartz Composer.  There's really a lot you can do with this tool, but instead of a more traditional programming interface, it has this really difficult visual UI.  Want to iterate through an array?  Well, just hook up a structure counter, pipe in some math, start up an animation timer, add some math to that, feed that all into a structure index member, and then access some elements by plugging in a structure item or two to the index member.

Sounds easy right?  Yeah, it's way better than for( x=0; x<structure.length; x++){ dosomething( structure[x].member; }.  Someone might be able to read your code if you didn't write it with a graphical UI!

I hate to beat a dead horse, but seriously...  It's like somebody heard the term 'spaghetti code' and decided to model a language after it.  Just look at the screenshot below.  What do those math boxes do? All those little boxes might as well be titled "Meatball".
Site Feedz In Quartz Composer


On the plus side, it's a free tool that comes with the developer tools package, and it doesn't appear to have any way to build your projects into a binary or bytecode version.  This is a plus because you can open any Quartz file and monkey with it.  Every computer program should be like this... it's like open source software on crack.

After banging my head against the wall for a couple hours, I came up with the screensaver below.  There's room for improvement, but it's already my favorite.  Just plug in blogcadre, makezine, slashdot, google news, or whatever your favorite feeds are, and enjoy!
Site Feedz

To install:

Download the zip file from the attachments below.  Unzip, and copy the Screen Feedz.qtz to the Library/Screen Savers folder.  If you want all users to have it, put it in System/Library/Screen Savers, otherwise, use the folder beneath the user's directory.

You can then select the screensaver and change the number of feeds and the feed urls from the screen saver properties window in system preferences.


To hack:
Make sure you have the developer tools installed, then just double click the qtz file.  There's a preview window that plays while you are working on it, and you can monkey with the code in the main window.  It's almost easier to fool around and explore than it is to explain how it works.  Such is the nature of Quartz.  I also just noticed my buddy Vince wrote up a quick Quartz screensaver tutorial a while back.  If you can't figure something out, though, just post your questions below and I'll try to help.

Try it out and let me know what you think!

Trackback URL for this post:

http://www.blogcadre.com/trackback/1016
AttachmentSize
Site Feedz.qtz.zip9.27 KB

very sweet

Stella's picture

it's a very sweet looking screensaver. i saw the work in progress so i'm very anxious to see the finished product. very cool.

Something There Just Aren't Enough Of...

Very cool, man. This is definately something that a lot of people will want. There just aren't enough rss screensavers out there nowadays, and I'm getting sick of the same old screensavers that I see on my computer every day. Might I suggest a linux port, too?

--schultzi--

planet screensaver or other

planet screensaver or other screensavers found :
http://www.yaodownload.com/utilites/screensavers/

Installer error?

When I dropped the SiteFeedz file into my screensaver folder (System/Library/Screensaver) it showed up as advertised in System Preferences/Screensaver. However, once I loaded it with 4 site feeds it failed to render the rss feeds. I get the cool looking blue environment, with a blank white rectangle floating across, and the "press r" text floating about... but no feed.

Maybe I did something wrong on install?

re: installer error

Jason Striegel's picture

Sounds like it's installed right, but it's not able to connect to the urls you have. I'd be it's #1 below, but check the other ones out just in case.

It could be a couple of things:
1. Make sure the feed url starts with http:. Safari likes to rewrite the url as feed:sitename instead of the actual url to the xml file. If you see an rss link on a site, just copy the link location and use that. I'll try and make the next version of this use the goofy safari feed bookmarks instead to make this easier.

2. Make sure to see the feed count to 4 (or appropriate).

3. When you change a text field, you need to click off of it before it gets saved. Otherwise if you close the preferences panel it'll go back to whatever you had before. This is annoying, but it's a bug with how OSX handles this input box and I can't fix it.

This reminds me that I need to post the new version. It looks a little nicer now and lets you add more feeds and set the background color.

Change Display Picture

Hello... this is a great screensaver. is there any way to change the background to a static image? thanks!

Very nice!!!

Very nice!!! I have longer titles and macs default screensaver hides half of it.

I didn't undrestand how to save for few minutes. Now I know: enter. Mouse click didn't work.