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,
Tim Danner, and everybody that has submitted bug reports and
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.
It is a native .Net application. As of now that means it runs on Windows 98,
ME, 2000 and XP.
It can handle RSS file versions 0.91, 0.92, 0.93, 0.94, 1.0, and 2.0.
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.
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
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.
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.
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
that is uploaded to your gems directory. Set the channel list to
where NNNNNNN is your Radio site number. Aggie will then use that same list of
channels when it gathers the news.
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
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
You can now drag-and-drop links off the browser and onto the Add Channel
- 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.
- 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)
Aggie RC5 Changes
Improvements in Feed Retrieval
- HTTP Compression
Added support for HTTP compression. [Simon Fell]
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
- 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]
- Bug fixes
Multiple bug fixes have been applies, which are too numerous to include here.
Since it is a native .Net application you must have the latest version of the
Microsoft .Net Framework and the latest
service pack installed. The .Net Framework is about a 20MB download.
The best way to get both of these packages is to use the built in
Update feature of Windows.
Download and run the