Aggreg8, The RSS Feed Aggregator.
      
   


Overview

Aggreg8 is a Mozilla based news aggregator application. Aggreg8 allows you to, among other things, to archive news feeds that have already been downloaded.



Background

Today users of the web are increasingly inundated with information, so much so that we often feel unable to keep up. So despite the wealth of information sources offered on the web, most users have time for only a few. This is partly due to the time-consuming nature of "surfing" web sites, particularly for finding what is new, recent, and not yet read.

Email subscription was originally considered as the answer to this, but the combination of poor content format, SPAM, and the sheer volume of mail quickly causes users to become numb to this model.

Table of Contents
1. Overview
2. Background
3. Purpose of Document
4. Scenarios  [Phil]  [Dave]
5. Non Goals
6. Usage
7. Screen by screen specification
8. Mock-ups
9. Project Schedule
10. System Architecture
11. Resources
12. Disclaimer

RSS (RDF Site Summary) is a Web content syndication format that was created to combat these problems. An RSS summary, at a minimum, is a document describing a "channel" consisting of URL-retrievable items. Each item consists of a title, link, and brief description. While items have traditionally been news headlines, RSS has seen much repurposing in its short existence. It is a dialect of XML. Web information sources, e.g. news, weather, sports, can make their headlines and article abstracts available in RSS which dedicated news aggregators (RSS Readers) poll and aggregate in a concise and easy to read format. Aggreg8 is one such news aggregator.

Justification for developing Aggreg8.

Web-based aggregators such as http://www.syndic8.com, http://www.newsisfree.com, http://www.myrss.com are functionally limited requires users to be online. Aggreg8 will function offline (limited functionality while offline). Aggreg8 will be portable across platforms as that is the nature of XUL and Mozilla (XUL is Mozilla's user interface language). Unlike some of the desktop RSS feed aggregators such as Radio Userland and Aggie.

Purpose of Document:

What this document will do:

The primary goal of this document is to describe how Aggreg8 will work entirely from the user's perspective. This document will describe scenarios in which Aggreg8 will be used. It will describe Non-Goals of Aggreg8. I will give a screen by screen specification including mock-ups of the application itself. There is a also a guide to usage. A Brief overview of system architecture and a project schedule are also included.

What this document will NOT do:

This document does not discuss how any of the functionality of Aggreg8 is implemented, only what features and functionality are present and how to use them. technical detail will be kept to a minimum.

This spec is not, by any stretch of the imagination, complete. All of the wording will need to be revised several times before it is finalised. The graphics and layout of the screens shown here are merely to illustrate the underlying functionality. The actual look and feel will be developed over time. When this document is complete it will state so here.

Scenarios

Below I will describe stereotypical users of aggreg8.

Scenario 1: Phil.

Phil is a computer applications student that is under extreme pressure to get all his projects in on time so he can start studying for his final year exams. Phil also has an undying love for tech related information and any information relating to open source projects. He sometimes spends all day scavenging around sourceforge.net, php.net, mysql.com, mozdev.org, slashdot.org, zdnet.com and countless other tech related websites along with any interesting weblog he can get his knowledge craving mitts on. Phil knows that he can't be spending all this time reading up on all this non-related information (although much more interesting) and that he should be working on his projects and studying for his exams. But he just can't stay away from the information… so he seeks and alternative to scouring all the tech sites for information…

Enter Aggreg8. Phil sees aggreg8 mentioned on the Mozdev site and decides to download and install it from aggreg8.net. "Why did Phil not install one of the other well known aggregators like Radio Userland or Newzcrawler?" You ask …well because these are not open source (a criteria Phil had already decided upon), Mozilla Browser they are not based on the Mozilla (a browser he recently fell in love with) framework and worst of all Phil would have to pay for these and as he is a student he is not only broke but dangerously close to bankruptcy at the tender age of 23. Aggreg8 works like a dream, all Phil has to do is specify all the sources of information (provided the site has an RSS feed) that he wishes to keep on top of and let aggreg8 poll these sources every so often to grab the new content. Phil then, in between, project work checks aggreg8 which is running on his favourite open source browser , Mozilla, to see what updates have been made to his favourite sites without having to actually visit the sites themselves. Phil sees that his favourite RSS feed scripting.com has a very interesting article on a windows based blog browser and decided to archive it in the aggreg8 archive for future reference. Aggreg8 works so well at keeping Phil up to date with all his tech related content that he no longer feels the need to surf all the sites he used to and his projects all get finished on time and study for his exams is picking up great speed.

Scenario 2: Dave.

Dave is a small time stocks and shares trader. He spends all his free time searching finance and business websites looking at share prices and business news. Dave is also a full-time quantity surveyor and , just like Phil in the previous scenario, is under extreme pressure to meet deadlines. But Dave has a dilemma, if he spends all his time meeting his deadlines he will be neglecting his stock trading which of course can have disastrous consequences. Dave needs a way to stay up to date with all the stocks and shares news, and, to meet his work deadlines.....

Once again enter Aggreg8. Dave downloads Aggreg8 (from Aggreg.net) and installs it on his Mozilla browser. He tells Aggreg8 which RSS feeds to poll on a regular basis. Dave's favourite source of financial news Share prices http://www.investors.com has an RSS feed so he tells Aggreg8 to poll this feed every 20 minutes. Dave then goes about his Quantity surveying business leaving Aggreg8 running in the background. He checks back every now and then to see if his share prices have changed. If they have he frantically phones his broker and if they haven't he continues to go about his quantity surveying. Dave now has much more time on his hands as he doesn't have to log onto http://www.investors.com every few minutes he just checks Aggreg8 to see if there has been any updates. he also finds the archive very useful as he can see what a stock's price was a few days or weeks ago. Dave now meets all his deadlines and manages to keep an eye on the stock market. He's earning so much money now with his share sales and his project bonuses that he doesn't know what to do with it.

Non Goals
  • Aggreg8 will not run on any other browser other than Mozilla. This is a design feature of Aggreg8 as it allows the use of Aggreg8 on all platforms that Mozilla is available (currently Mozilla is available for Windows, MAC OS, and many UNIX/LINUX platforms).
  • Aggreg8 will not, as of yet, have a feature to allow posting of weblogs. This is an open issue as I would like to see in the future implementation of the blogger.com API to allow posting.
  • Aggreg8 will not have a facility to search RSS feeds although this too is an open issue and may appear in future versions, Aggreg8 may however have a few Feeds included as default.
  • Aggreg8 will not have any advanced indexing of archived feeds to aid searching. If searching of archives is implemented then it will be on content of archives only.
Usage

In this section I will give illustrations as to how a user would navigate through Aggreg8. There are six main reasons why a user might start Aggreg8.

  1. To view a feeds current content.

    To view the most recent update to a subscription you must access the Display screen by clicking on the Display tab. To choose which subscription you want displayed you must choose a category in the subscriptions pane. After choosing your category you will see a list of subscriptions that you have subscribed to. Choosing any one of these will display it's content in the display pane. A mock-up of the Display screen can be seen here.

  2. To subscribe to a new feed.

    To subscribe to a new feed you must firstly click on the Subscriptions tab. You can now see the subscriptions screen. To add a feed you must select the category or categories that you want to store the feed in. You do this by selecting one or more of the check boxes on the right hand side categories dialog. Once you have selected your category you must choose what download interval you wish to place on your new feed. If you choose automatic, the feed will be downloaded once daily or if an interval is specified in the feed itself, it will be downloaded according to that specification. If you wish to set the download interval yourself, choose the custom radio button, then set your download interval using the sliding bar. When you have completed all this enter the URI/address (URI=Uniform Resource Identifier) in the text box and press submit. That feed is now subscribed to. A mock-up of the Subscriptions screen can be seen here.

  3. To add a new category.

    To add a category you must firstly click on the Subscriptions tab. You can now see the subscriptions screen. To add a category to catalogue your subscriptions under you must enter the name of the new category in the text box below the current subscriptions pane. Once entered press Submit and the new category will be added. A mock-up of the Subscriptions screen can be seen here.

  4. To change a subscriptions download interval settings.

    To add a category you must firstly click on the Subscriptions tab. You can now see the subscriptions screen. To change the download interval settings for a subscribed feed simply click on the subscription you wish to edit in the current subscriptions pane. Once selected click on the "Edit" button on the right hand side of the Subscriptions screen under the add subscriptions dialogue. You will then be presented with a simple dialogue box where you can edit the current download interval settings of that feed. A mock-up of the Subscriptions screen can be seen here.

  5. To view archived feeds.

    To view archived feeds you must firstly click on the Archive tab. You are now presented with the Archive screen. To view archived feeds simply select the subscribed feed in the panel on the left side and you will be presented with it's archive in the archive pane on the right hand side. You will be able to see all archives of the feed here grouped first by month and then further by week. By selecting any one of these weeks you will shown all that feeds content from that week. This will be displayed in the Display screen described above and below. A mock-up of the Archive screen can be seen here . A mock-up of the Display screen can be seen here .

  6. To clean out archive.

    To view archived feeds you must firstly click on the Archive tab. You are now presented with the Archive screen. To clean out an archive simply select the archive from the archive pane to be deleted and press the "Delete Archive" button above the archive pane. A mock-up of the Archive screen can be seen here.

Screen by screen specification
Here I will describe the layout of each of the screens. There are three main windows or screens that make up Aggreg8. These are:
  1. That which is common to all three screens.
  2. Display screen.
  3. Subscription screen.
  4. Archive screen.

There are a few things that are common to all three screens. The top row of buttons on Aggreg8 are common to all screens. These are referred throughout as tabs. Using these tabs you can navigate through the three screens, Display, Subscriptions and Archive respectively. The other thing all three have in common is the Aggreg8 logo and the current time, both of which are displayed in the bottom left hand corner of all screens.

Display WindowDisplay Screen: On the left side of this screen you can see that all of the subscribed feeds are displayed. They are displayed in categories. These categories and the feeds that appear in them are specified by the user. Clicking on a category will display the feeds that are in that category, underneath it. Selecting one of these feeds will send the most recent content of that feed to the display pane which is on the right hand side. Above the Display pane there is a text field indicating which feed is currently being displayed in the display pane. In this text field there is also A time and date, this time and date refers to the last time that that feed was downloaded. The "Save To File" button and graphic beside this text field allow the user to save the current content of display pane to a file. This will be saved in XML (eXtensible Mark-up Language) format.

Subscriptions Window Subscriptions screen: is where the user adds and organises their RSS feed subscriptions. On the left side of this screen you can see that all of the subscribed feeds are displayed. They are displayed in categories. These categories and the feeds that appear in them are specified by the user. Clicking on a category will display the feeds that are in that category, underneath it. This is much like the left side of the Display screen. Once you select a feed you can edit or delete the settings for that feed by using the dialogue box on the bottom of the right side of the Subscriptions screen. There are two buttons in the dialogue, "Delete" and "Edit", allowing you to edit a feeds download interval settings or to delete the subscription completely. The Subscriptions screen serves two more functions, to add a category to group feeds under and the other function is the ability to subscribe to a new feed. The add category dialogue is under the categories/subscriptions pane. There is a text field and an "Add Category" button, once the name of your new category is entered simply click on the "Add Category" button to create the category. To subscribe to a new feed you use the pane on the right side. In this pane there is four parts, the explanation as to how to subscribe to a new feed, a box containing all categories with checkboxes along side, download interval settings dialogue and finally a text field to enter the address/URI of the to-be-subscribed-to feed. To subscribe to a new feed there are 3 simple steps,
1. Choose the category you wish to group the subscription under, you do this in the box containing all categories by checking the chosen categories check box.
2. Choose which the download interval settings, whether custom or automatic (these are both discussed here).
3. Enter the URI/Address (URI=Uniform Resource Identifier) in the text field and press the "Submit" button.

Archive Window The Archive screen allows the user to view all archived feeds and to alter archive settings. There are three main parts that make up the Archive screen, the categories/subscriptions pane on the left side that appears in both the Display screen and the Subscriptions screen, the archive pane on the right side and finally the edit delete archive dialogue under the categories/subscriptions pane. The categories/subscriptions pane does not serve the same purpose as it does on the Display screen, here it refers to archives for the subscription not to the subscription itself. Once a subscriptions archive is selected it's compete archive will appear in the archive pane. If an archive is selected in the categories/subscriptions pane you are able to edit or delete the complete archive for that subscription by using the edit/delete archive dialogue. As mentioned the archive pane displays the complete archive for the chosen subscription. The compete archive is broken down into months and then further broken down into weeks. You can delete any of these months or weeks by selecting the week/month and pressing the "Delete Archive" button above the archive pane. Double clicking on a week will display the weeks content in the Display screen.

Mock-ups
I have made three mock-ups of what I propose Aggreg8 will look like. The Mock-ups below are strictly mock-ups and are there only to give the reader a feel what Aggreg8 will look like.
 
Mock-ups
 
Display Window
Display
Subscriptions Window
Subscriptions
Archive Window
Archive
 
Mock-ups with explanations
 
Display Window
Display [with explanations]
Subscription Window
Subscriptions [with explanations]
Archive Window
Archive [with explanations]

Project Schedule

Milestones/intermediate objectives for project.
  1. 31st Jan 2003 - 16th Feb 2003
    As this project is being developed using new technologies and new languages a lot of time will be spent on research and prototyping. February will be spent carrying out this research. I will also review existing relevant technologies, their recent development and future roadmaps, support possibilities, etc. This research will also involve prototyping several aspects of the application.
  2. 16th Feb 2003 - 8th March 2003
    Work on Detailed Application Build Schedule. This will involve breaking down the development of the application into parts so as to further research and prototype/develop each of these parts separately.
  3. 8th March 2003 - 22nd March 2003
    Develop Prototype of application.
  4. 22nd March 2003 - 5th April
    Technical Spec draft v 0.1. This will involve documenting in detail all implementation aspects of the development process of Aggreg8.
  5. 5th April 2003 - 12th April 2003
    Application v 0.1.
  6. 12th April 2003 - 19th April 2003
    Technical Spec completion.
  7. 19th April 2003 - 26th April 2003
    Application v 1.0.
  8. 26th April 2003 5th May 2003
    Fine Tuning of cosmetics of application etc.
  9. 5th may 2003
    Freeze development.
A graphical representation of the above proposed schedule can be seen here or by clicking on the minimized version of the image below.

System Architecture

The architecture of the Aggreg8 application is simple:
It is a client based application that runs on Mozilla. Aggreg8 polls and downloads content from the specified feeds, This means polling and downloading from multiple sources. You can see in the diagram, the client machine requests updates and if an update is available, downloads the update to the clients instance of Aggreg8.

Resources

Web Resources
Non Web Resources
  • Creating Applications with Mozilla (O'Reilly).
Related links

Disclaimer

I hereby certify that the work presented and the material contained herein is my own except where explicitly stated references to other material are made.


Printer Friendly Version
Aggreg8.net RSS Feed

Technorati Profile || Aggreg8.net is kindly hosted by Redbrick and is owned by Philip Andreas Roche (webmaster) || © Philroche.net ||