|
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.
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.
|
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),
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
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.
-
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.
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.
- 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.
- 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.
- 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.
- 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.
- 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
.
- 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.
Here I will describe the layout of each of the screens.
There are three main windows or screens that make up Aggreg8. These are:
- That which is common to all three screens.
- Display screen.
- Subscription screen.
- 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 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 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.
|
|
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.
|
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
|
|
|
|
|
|
|
|
|
Mock-ups with explanations
|
|
|
|
|
|
Milestones/intermediate objectives for project.
- 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.
- 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.
- 8th March 2003 - 22nd March 2003
Develop Prototype of application.
- 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.
- 5th April 2003 - 12th April 2003
Application v 0.1.
- 12th April 2003 - 19th April 2003
Technical Spec completion.
- 19th April 2003 - 26th April 2003
Application v 1.0.
- 26th April 2003 5th May 2003
Fine Tuning of cosmetics of application etc.
- 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.
|
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.
|
Web Resources
Non Web Resources
-
Creating Applications with Mozilla (O'Reilly).
Related links
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.
|