Start Of The Requirements

Okay, here goes. This is the start of the requirements that I have gathered/made up/learnt that the next version of AJAXTagger should achieve. I am finding it quite hard to get the requirements down, so I think the best thing to do is to break them down in functional areas. My application should really achieve all of these for it to be a success (in my terms anyway).

Features of the application


  1. The application must be able to tag journal entries easily.

  2. The application must be able to find related information about tags so that the user can decide if to use them or not.

  3. The application must be able to find related articles on the users site.

  4. The application must be able to find related blogs.

  5. The application must be able to find related websites.

  6. The application must be able to find related articles on any particular web site.

  7. The application must provide the user with searches related to the subject via a variety of search providers.

  8. The application must provide the user with all the search results (where possible) in one simple feed.

  9. The application must be able to find images related to an article for inclusion.

  10. The application must be able to extract items that could be used to help associate schemes.

  11. The application must be able to pull an article from either a site or a blogging system such as blogger.

  12. The application must be able to save an article to either a site or email system.

  13. The application must make a minimal number of round trips to the server.

  14. The system must be able to determine when a client can perform work that the server needs not.

UI


  1. The user must be aware of all the data that is entered on to the system

  2. The user must be required to do as little work as possible.

  3. The user must be able to see the results of editing straight away

  4. The user must be able to hide information that they do not require

  5. The UI must not interfere with the results the user requires

  6. The user must be able to see the results of their actions immediatly

Business Logic Client Side


  1. The application's logic must not cause the browser to be stalled.

  2. The application must be able to access data across domains if needed but be able to fall back to server side proxy scripts.

  3. The application must function in IE6 and IE7.

  4. The application must function in Firefox.

  5. All Business Logic must be performant in Firefox

  6. All Business Logic must be performant in IE6 and IE7

  7. The system must be created in such a way that new functionality can be added easily

  8. The system must be created in such a manner that adding new search engines and results sections is straight forward.

  9. The system must be created in such a way that it can be easily maintained

  10. The system must be able to handle errors

  11. The system must be able to handle broken communication

  12. The system must be able to manage chained events, one action causing another action causing another etc

  13. The system must be able to handle multiple data requests at any one time

  14. The system must be able to prioritze system events that require access to external data sources so that not too many requests happen at once

Business Logic Server Side


  1. Any logic that is done on the server should be as short as possible

  2. Any logic done on the server must be performed in as secure a manner as possible

Data Access


  1. Data should not need to be stored on the server

  2. Data may be stored in cookies so that the user doesn't have to enter

  3. Direct access to external data sources will be as short as possible

  4. Direct access to external data sources may be cached

  5. Direct access to external data sources will fail gracefully if errors occur

Known External Dependancies


  1. Amazon

  2. Yahoo

  3. MSN

  4. Google

  5. Ebay

  6. FindOry

  7. Flickr

  8. Alexa

  9. Wikipedia

Known Internal Dependencies


  1. No Root Access to server

  2. Bandwidth constraints

  3. HTML Interface

  4. Javascript

  5. XmlHTTPrequest

  6. Internet Explorer 6 & 7

  7. Firefox

Technorati Tags
[feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed], [feed]

Wikipedia Documents
Rss (file Format) - Wikipedia, The Free Encyclopedia ,Web Feed - Wikipedia, The Free Encyclopedia ,Wikipedia: Search Engine ,Search Algorithm - Wikipedia, The Free Encyclopedia ,Weblog - Wikipedia, The Free Encyclopedia ,Internet Explorer - Wikipedia, The Free Encyclopedia ,Proxy Server - Wikipedia, The Free Encyclopedia ,Wikipedia: Ajax ,Mozilla Firefox - Wikipedia, The Free Encyclopedia ,Business Rules - Wikipedia, The Free Encyclopedia ,Aspect (computer Science) - Wikipedia, The Free Encyclopedia ,Automated Business Process - Wikipedia, The Free Encyclopedia ,Cookie - Wikipedia, The Free Encyclopedia ,Alexa Internet - Wikipedia, The Free Encyclopedia ,Yahoo! - Wikipedia, The Free Encyclopedia ,Tag Cloud - Wikipedia, The Free Encyclopedia