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 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.