Welcome to MSDN Blogs Sign in | Join | Help

Microsoft RSS Blog

All about RSS and feed technology at Microsoft and across the community
RSS Platform Screen Saver Sample

John and I have been working on a sample application using the Windows RSS Platform. It's a screen saver which displays the image of RSS posts that have image enclosures. The screen saver is based on the Visual Studio 2005 Screen Saver Starter Kit. We changed it to retrieve images and feed content from the RSS Platform.

Here what to do:

  1. Install IE7 Beta 2 Preview.
  2. Download and install the screen saver. The .msi installer will create a folder in "My Documents" called MSDN\RssScreenSaver with the source code and including documentation.
  3. Read the documentation and follow the steps to build the screen saver.
  4. Subscribe to photo feeds in IE7 Beta 2 Preview. A simple photo feed is located here. You can also subscribe to flickr feeds. (Note: add _enc to the format query param to get pictures as enclosures)

Give it a try and let us know what you think.

-Walter

Update 2/28/06: By request a screenshot of the simple photo feed:

 

Update 3/3/06: Sean has posted with a compiled version of the screensaver, so now you don't even need Visual Studio to try it out.  

Update 4/5/06: We've updated the screen saver to work against IE7 Beta 2 Preview release March 20th, 2006. Note the new download link.

Posted: Tuesday, February 28, 2006 2:40 AM by rss

Comments

Kris said:

Can I see a screenshot of the screensaver. I cannot install IE7 as I need IE6 for testing our webapps.
# February 28, 2006 12:35 AM

Dylan Greene said:

I second the screenshot request.  

Who's going to go through all that trouble not knowing what they are going to get?
# February 28, 2006 1:02 AM

rss said:

FYI - I just updated the post with a screenshot.

- Walter [MSFT]
# February 28, 2006 4:50 AM

Peter said:

I've never understood the point of RSS-based screen savers.  Typically the screen saver only kicks in when you're not there anyway, so why would I want it to display some nice pictures or RSS feeds when I'm not there anyway?
# February 28, 2006 9:18 PM

rss said:

Peter,

Well, it sort of presumes that you understand the point of picture screensavers in general.

If you accept that a picture screensaver is interesting, then a screensaver that is automatically updated with pictures from a photo feed is just cooler.

If you don't buy into picture screensavers at all, then an RSS-enabled one probably isn't going to change that. :)

Sean
# March 1, 2006 6:26 PM

game kid said:

Odd.  The installer can be removed, even "repaired", but there's nothing else of any kind installed.  Certainly no screen saver, and definitely not an RSS one.
# March 4, 2006 9:57 AM

rss said:

game kid:

The install is a little tricky. You need to look in your My Documents folder for an MSDN folder. In there you'll find the source and documentation.

For a compiled version, check the link to my blog.
# March 5, 2006 2:27 PM

game kid said:

Thanks.
# March 5, 2006 11:07 PM

Andrew Davey said:

Why is an MSI needed to simply distribute the source code? I hate having to "install" every piece of source I get from MSDN. Surely a simple ZIP file will surfice for the source?
Often I just want to quickly open the source archive and take a peak. Having to "install" makes me less likely to do this unless I *really* need the source.
# March 8, 2006 1:20 PM

Richard Rafaj said:

It doesn't work for me - I can see text but no images, just black background...
# March 13, 2006 11:32 PM

John [msft] said:

The RSS screensaver is a _sample_ application. The download page clearly points out that the application source code must be compiled with Visual Studio 2005. (It can be downgraded to Visual Studio .NET with a few minor code changes.)

If you get a blank screen with text and no pictures, you should make sure the feed properties are set to "download enclosures automatically."  I believe you will need to wait for updates to the feed for new items to appear. (Or you can delete the feed, and resubscribe with this option selected.)

PS: Remember, the documentation is your friend... The blank screen "bug" is discussed and a workaround proposed--only a modicum of cutting and pasting required. My favorite feature isn't in the source code at all. To "Open Current Item in Browser" you need to read the documentation! All the hard work is already done for you.
# March 28, 2006 1:34 PM

Edward said:

I was writing a databindable wrapper for the Feed class. I'm subscribing to the notifications but it looks like the parameters passed with the FeedItemCountChanged event are incorrect.

Whilst I do get a notification whenever I set the IsRead property of an item from another app, the itemCount seems to always be 3 and the unreadItemCount is 0 regardless of how many items there are in the feed.

Its not too much of a problem to catch the notification, and then reread the actual unreadItemCount from the feed object. It just seems strange that these parameters are wrong.
# March 31, 2006 10:31 AM

damien said:

Two months ago, I developped exactly the same application, strange isn't it ? Some differences :
* .NET 2.0 C# source code under GPL
* works with any Windows XP + .NET 2.0 framework
* works with any feed containing enclosure tags _or_ media:content tags
* you can modify some of the parameters (a GUI lets you change the timings, background color, URL feed, font colors...)
* image/feed background refresh (in separate threads)
* high quality image resizing for full screen display
...

http://blog.debin.net/Media-feed-screen-saver/
# April 10, 2006 6:32 AM

mark said:

Is there any way to run the screensaver without IE7? Ie7 is bullshit
# April 11, 2006 6:44 AM

Edward said:

The whole point of the screensaver is to show how to use the Feed Store platform introduced with IE7, so no, without IE7 there is no Feed Store platform, thus no API, thus nothing to display in the screensaver.

Why not try out the one mentioned by damien in the previous comment?
# April 11, 2006 4:36 PM

marc said:

# April 18, 2006 10:50 PM

kurt said:

where does msi install code. i cannot find.
# April 19, 2006 1:06 AM

Walter [MSFT] said:

Edward,
what you are seeing FeedItemCountChanged call back is change that is not completed yet. Currently the method's signature doesn't reflect yet that one arguments sends back the FEEDS_EVENTS_MASK and the other is zero in current builds. Future builds will correct the method's signature.

Kurt,
the MSI installs the sample code in
   My Documents\MSDN\RssScreenSaver
# April 19, 2006 10:38 PM

rserious said:

The screensaver example is good for an example of interfacing with IE7.  However, I have one already loaded from an earlier, I think implementation done in VB.  I don't care what language the examples are in, as it gives me an opportunity to learn about each of the languages.  My only complaint is that the 2 apps are named the same, and the installer, wants to repair or remove, and I just want to see the code and play with it.  Can you at least name these examples in a more unique way to avoid having to make a choice between one or the other?
# April 23, 2006 11:51 AM

VirGin said:

Why on earth would someone think deploying a sample with source in an MSI package is a good idea?

This sounds interesting, even though I don't use screensavers on any of my machines. But it isn't worth the hassle or the potential issues associated with 'installing' something on the machine.

I hope it's cool, because the deployment method is completely unacceptable.


-V-
# April 24, 2006 6:27 AM

WhyNot said:

Me thinks it better to offer an example of using the MS custom Feeds dll within the context of a web app.  Just makes more sense.  Screensavers that consume web resourcds whilst one is away is a pretty bad security issue in my mind.

I applaud the attempt, but a better example needs to be offerred.

Also, why is the feeds dll only available if you load IE7.  If this is to become a useful library then it should be part of the asp.net framework, no?
# April 24, 2006 11:47 AM

Ed said:

Thanks - that's a really rather clever way of making RSS work.  I guess a lot lessons have been learnt from the joys of MAPI.

From the comments, it looks like a simple RSS API aware screen saver would be very well received - how about doing some tidying up and making this an IE7 "power toy" or some such?
# April 26, 2006 4:59 AM

crap said:

crap
# May 4, 2006 3:09 AM

halfmoon said:

# May 10, 2006 1:28 AM

Ron said:

Does anyone know of a sample RSS Platform app written in VB.Net?  I've  been running into problems with the IFeedFolder.GetWatcher method and setting up an event handler and would like to it working somewhere.

My problem code:

    Dim rssEvents As Object
    rssEvents = CType(msFeedMgr.RootFolder, IFeedFolder).GetWatcher(FEEDS_EVENTS_SCOPE.FES_ALL, _
               FEEDS_EVENTS_MASK.FEM_FOLDEREVENTS Or FEEDS_EVENTS_MASK.FEM_FEEDEVENTS)

    AddHandler CType(rssEvents, FeedFolderWatcher).Error, AddressOf RSSPlatformEvent_Error

... doesn't allow me to cast the rssEvents to FeedFolderWatcher.

Thanks.
# May 31, 2006 7:26 PM

rss said:

Ron, I've posted about your question on how to make events work from VB.NET. See: http://blogs.msdn.com/rssteam/archive/2006/06/08/621623.aspx
- Walter [MSFT]
# June 8, 2006 2:40 AM
New Comments to this post are disabled
Page view tracker