Partager via


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.

Comments

  • Anonymous
    February 27, 2006
    Can I see a screenshot of the screensaver. I cannot install IE7 as I need IE6 for testing our webapps.
  • Anonymous
    February 27, 2006
    I second the screenshot request.  

    Who's going to go through all that trouble not knowing what they are going to get?
  • Anonymous
    February 27, 2006
    FYI - I just updated the post with a screenshot.

    - Walter [MSFT]
  • Anonymous
    February 28, 2006
    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?
  • Anonymous
    March 01, 2006
    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
  • Anonymous
    March 03, 2006
    http://www.mattbrett.com/archives/2006/01/running-ie-7-beta-2-and-ie-6-on-windows-xp/

    Title says it all :)
  • Anonymous
    March 04, 2006
    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.
  • Anonymous
    March 05, 2006
    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.
  • Anonymous
    March 05, 2006
    Thanks.
  • Anonymous
    March 08, 2006
    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.
  • Anonymous
    March 13, 2006
    It doesn't work for me - I can see text but no images, just black background...
  • Anonymous
    March 28, 2006
    The comment has been removed
  • Anonymous
    March 31, 2006
    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.
  • Anonymous
    April 09, 2006
    The comment has been removed
  • Anonymous
    April 10, 2006
    The comment has been removed
  • Anonymous
    April 11, 2006
    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?
  • Anonymous
    April 18, 2006
    Screensavers at :
    http://www.yaodownload.com/utilites/screensavers/
  • Anonymous
    April 18, 2006
    where does msi install code. i cannot find.
  • Anonymous
    April 19, 2006
    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 DocumentsMSDNRssScreenSaver
  • Anonymous
    April 23, 2006
    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?
  • Anonymous
    April 23, 2006
    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-
  • Anonymous
    April 24, 2006
    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?
  • Anonymous
    April 25, 2006
    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?
  • Anonymous
    May 03, 2006
    The comment has been removed
  • Anonymous
    May 09, 2006
    download beautiful screensavers

    http://www.yaodownload.com/utilites/screensavers/
  • Anonymous
    May 31, 2006
    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.
  • Anonymous
    June 07, 2006
    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]