Aggie

Aggie is a news aggregator: it is a desktop application that downloads the latest news and displays it in a webpage. For more information on RSS and news aggregators see this very informative page from the State of Utah GILS Project.

The latest version of Aggie is 1.0 Release Candidate 5. Full source, executable, and README are available as a download. If you are curious here is a screenshot of Aggie at work.

Special thanks to: Simon Fell, Eric Vitiello Jr., Ziv Caspi, Ingve Voremstrand, Tim Danner, and everybody that has submitted bug reports and enhancement requests.

The SMTP mailer is based on code by Steaven Woyan.

For HTTP decompression we use SharpZipLib.

Why you will love Aggie

Open Source
It is OSI Certified Open Source Software.
.NET
It is a native .Net application. As of now that means it runs on Windows 98, ME, 2000 and XP.
Flexible
It can handle RSS file versions 0.91, 0.92, 0.93, 0.94, 1.0, and 2.0.
Fast.
Aggie is multi-threaded, making more efficient use of your internet connection and getting the news to you faster. Aggie also uses HTTP/1.1 features to only download RSS files if they have changed, and uses compression if available.
Small
Aggie is small: The executable is only 115K (not counting the ZIP library)
Native GUI
No embebbed web server. No configuration through web pages. Aggie is a native windowing .Net application, the web browser is just used to view the news.
Native Console
Aggie comes with an alternate console application that can be driven as a scheduled job.
Continuous feedback.
As Aggie pulls in the news it gives continuous updates on it's progress, informing you of which sites it has visited, which ones are still to be pulled, which sites timed out, and which sites are generating invalid XML. If it fails to get the news from a site it gives an explaination.
Dynamic skin
Aggie displays syndicated feeds in the browser using CSS and JavaScript to enable you to see the first line of every syndicated entry in full and the remainder of the entry in a condensend font. This lets you fit more news on a single page. Click on an entry to uncompress the font and read the full item. Click it again and it toggles back to compressed mode.
Stylesheets
Aggie supports having different stylesheets to style the resulting HTML. Each stylesheet can have it's own configuration dialog and saved parameters. Here is a detailed explaination of how this system works. How Templates Work In Aggie.
Radio
If you are a Radio user you can use Aggie to read your news when you are away from your main computer. Radio publishes your list of news sites into a file called mySubscriptions.opml that is uploaded to your gems directory. Set the channel list to http://radio.weblogs.com/NNNNNN/gems/mySubscriptions.opml, where NNNNNNN is your Radio site number. Aggie will then use that same list of channels when it gathers the news.
Amphetadesk
If you are an AmphetaDesk user you can try out Aggie easily. It can read and write the AmphetaDesk channels list. You will not have to manually transfer your list of news sites to Aggie. Just set Aggie's channel list to point at the file myChannels.opml located in the data subdirectory where AmphetaDesk is installed.
Diff support
Optionally Aggie will only show news items that have changed since the last time Aggie did a scan.
RSS Auto-Discovery
You can now enter a URL of a web page into the Add Channel box. If the web page supports RSS Auto-Discovery then Aggie will find the RSS file. For further reading: RSS Auto-Discovery
Drag-N-Drop
You can now drag-and-drop links off the browser and onto the Add Channel address box.
Syndic8 OPML
Syndic8 supplies a 'text' element where Aggie is looking for a 'title' element. This fix is to look for 'title', if that fails look for a 'text' element.
Aggie News
Created a separate news channel from bitworking.org just for Aggie news. Added that channel to the list of default channels that Aggie ships with. (RSS)
Referer Logs
Aggie supports placing a link back to the users website in the referer logs. The genesis and explaination of this idea is documented on Content Syndication with XML and RSS. The page that the referer log entry points to is here (using bitworking.org as the example site) http://bitworking.org/AggieReferrers.html?userWeblog=http://bitworking.org

Aggie RC5 Changes

Improvements in Feed Retrieval

HTTP Compression
Added support for HTTP compression. [Simon Fell]
RssHarvest
Aggie can now be taught how to transform any structured web page into an RSS feed. This is useful for sites that produce content in an orderly fashion, but publish no RSS feeds of their own (such as MSDN). See here for details [Ziv Caspi]
XSLT transformation of XML documents into RSS feeds
Aggie can also directly transform XML content into RSS feeds if you provide it with a proper XSLT transform. To subscribe to a feed whose URL is xmlurl and whose transform into RSS is xslurl, use the following URL: xslt:?xmlfile=xmlurl&xslfile=xslurl&title=feedTitle. [Ziv Caspi]

Improved Output

Output Items as SMTP Messages
Optionally, Aggie can send SMTP mail messages to your Email account. You can have each new item in its own message, all new items in a given feed in a single message, or all new items in a given feed with the same title in a single message. See here for details. [Tim Danner, Ziv Caspi]

Improved RSS Parsing and Vocabulary

Robust and extensible RSS parser
The RSS parser has been completely rewritten. It is now very robust, will let you know if the feed is not stricly XML but will still parse non-well-formed feeds (within reason). Additionally, it is extensible, so you can ask it to parse elements that it does not know about. [Ziv Caspi]
"Shame into submission"
If the RSS parser finds a feed which is not strictly well-formed, but it still readable, it generates a detailed description of what is wrong with the feed, to help authors locate problems. [Ziv Caspi]
New RSS elements supported
In addition to title, link, and description elements, Aggie now supports Dublin Core date, encoded content, CDATA descriptions, RDF encoded content, and Trackback pings. [Ziv Caspi]
Support for base element
Aggie can now identify feeds that publish their "base", and automatically provide the proper HTML base element. This feature works only for mail output, and is most useful with RSSHarvest-ed feeds. [Ziv Caspi]

Miscellaneous

Bug fixes
Multiple bug fixes have been applies, which are too numerous to include here. [All]

Restrictions

Installation directions

Download and run the installer.