CDF is a subset of the ExtensibleMarkupLanguage (XML) and is an OpenStandard?, which [Microsoft has submitted] to the WorldWideWebConsortium.
In it's simplest form a CDF channel is used purely for HeadlineSyndication (similar to ResourceDescriptionFramework / RichSiteSummary). In it's more complex format it can update software, use your website as a ScreenSaver? on a user's Windows DeskTop?, and allow the user to view your website off-line. It's a 'TV' idea transferred to the web.
It adds the website channel into IE's favourites, which can also be viewed as an InternetExplorerSidebar, and whenever the favourite is accessed it displays a list of the recent headlines from the webpage. A schedule (update daily, weekly, etc) can be set within the CDF file itself. It is also possible to create a PersonalizedChannel? for users as well, easier to do if you are coding in Wiki:ActiveServerPages (ASP).
The downside, unlike RDF/RSS, is that CDF can only, as far as I am aware, be viewed in InternetExplorer, thus the information cannot be syndicated, and viewed, on a website directly, unlike RDF/RSS. But, using XML / XSLT and, in my own case, ASP, it is easier to create a single .asp page which will automatically detect which browser is being used (MozillaBrowser, InternetExplorer or OperaBrowser), and create syndicated information in the desired format on the fly.
Example code for a CDF file - using MeatBall RecentChanges:
<?xml version="1.0" encoding="UTF-8"?> <channel prechache="no" level="0" href="http://www.usemod.com/cgi-bin/mb.pl?RecentChanges" base="http://www.usemod.com/cgi-bin/mb.pl" self="?RecentChanges"> <logo href="http://www.edazzle.net/meatball.gif" style="icon"/> <title>Meatball Wiki Recent Changes</title> <item href="http://www.usemod.com/cgi-bin/mb.pl?InternetExplorerSidebar"> <title>InternetExplorerSidebar</title> <log value="document:view"/> </item> <item href="http://www.usemod.com/cgi-bin/mb.pl?WikisWithLinkDatabases"> <title>WikisWithLinkDatabases</title> <log value="document:view"/> </item> <item href="http://www.usemod.com/cgi-bin/mb.pl?StructuralConflict"> <title>StructuralConflict</title> <log value="document:view"/> </item> </channel>
The MimeType? for a CDF file is 'application/cdf'