Comment news blah (Score -1, Offtopic) 232
TOTO
A Distributed Annotation System
for the
World Wide Web
TABLE OF CONTENTS
INTRODUCTION 3
TEAM MEMBERS 3
PROJECT MANAGEMENT STRUCTURE 3
OVERVIEW, SCOPE AND PURPOSE OF THE SYSTEM 3
MEASURABLE ORGANIZATIONAL VALUE 4
DESCRIPTION 4
REQUIREMENTS 8
FEATURES 9
Distributed Network 9
Reputation System 9
Web User Interface 9
NON-FEATURES 9
Constraints 10
INTERFACES 10
CHANGE LOG AND EXPECTED CHANGES 11
CONTINGENCIES 13
MEASUREMENTS 13
ORIGINAL GANTT CHART 14
CURRENT GANTT CHART (AS OF 01-29-2004) 14
CURRENT QFD MEASUREMENT 14
FUNCTION POINTS 15
VALUE ADJUSTED FUNCTION POINTS 17
Value Adjustment Factor 17
COCOMO 17
PERFORMANCE MEASUREMENTS 18
Toto's Page-Serving 18
Toto's revised Page-Serving: 19
GLOSSARY 20
REFERENCES 20
Introduction
Revision: 1.0
Author: Ellen C. Matchey
Team Members
Phil DePetro
Chris Guarino
Dan Kopko
James Light
Doug Malnati
Ellen C. Matchey
Jae Park
Mike Postaski
Asif Siddiqui
Project Management Structure
Overview, Scope and Purpose of the System
Phil DePetro
The purpose of this project is to create a distributed web-annotation system that will allow users to comment on webpage content and have this content be viewed by other users using the system (comments would be in-lined with the webpage text). A targeted use of this system is to counterbalance rightwing and leftwing bias in the media. Through the use of this system users would be able to make comments on news-websites, such as CNN.com, in an anonymous fashion if they feel the news articles are biased in some way. With this growing popularity of this system and feedback on web content, the reporters would eventually be prompted to respond to the users.
On the technical side, this system seeks to create a software package that provides access to a distributed network. This package would act as a proxy server that would modify web pages to show comments presented by other users on the network. It would also allow the user to add his/her own comments into the distributed share.
Comments will be displayed based on a distributed reputation as well as users personal preferences. Requests for comment/reputation information will be handled with the intent to conceal both the requester and the source of the data as much as possible.
The creator of the project (the project manager) devised it as an attempt to mitigate the bias, inaccuracies, and neglect of information he saw in news coverage. The rest of the team shares the same sentiment.
Measurable Organizational Value
Dan Kopko
To provide the Internet public with an intuitive interface by which they can make and share textual annotations and commentary for any website.
Description
Ellen C. Matchey
Currently, Toto allows a user to change and add-to the text on web pages accessible through the user's localhost using the Mozilla browser. It also highlights unaltered text in purple and changed text in green.
As shown in Figure 1, the current architecture consists of a Toto proxy that sits between the browser and the Internet listening for requests (i.e. to get a new website or to post changes). Once a request is made, an HTTP Relay thread is created to take care of the thread. If the thread is a request to view a new page (figure 2), the webpage is broken down into several components that isolate the text as shown in figure 4. Then the text in the website is checked against the database to see if any changes/comments have been added (figure 2). If changes were found the text is replaced by text in the database and highlighted with green, otherwise it is displayed unchanged highlighted in purple. If there is a request for a new change to text on a website (figure 3), a key for the text is created. Then, both the key and the changed text are stored on a mySQL database on the user's computer. Next time this website is accessed by the user, keys for the text will be generated, checked against the database, and when there is a match the original text will be replaced by the one stored in the database. Toto is being developed in Java and uses a mySQL database.
The goal is to alter this system to have a distributed architecture, a reputation system, be compatible with other popular browsers. The distributed architecture will allow comments/content to be distributed between users, eliminating the problem of bandwidth use that would arise from all the content being stored on a single server. The reputation system will ensure (or at least try) that comments posted by users are reputable (i.e. they are not spam, inappropriate or irrelevant information).
Another goal of the system is to have a friendly, easy-to-understand, and non-intrusive user interface. Time permitting, some considerations include having an option to turn off in-lined comments if the user chooses not to view them. In addition, changes to layout/look/style of how comments appear are also being considered.
Figure 1 - Toto Architecture
Figure 2 - Request Content (HTTP GET)
Figure 3 - Submit Comment (via HTTP POST)
Figure 4 - Breakdown of Webpage Content
Requirements
Doug Malnati
There are 3 top-level requirements comprising our project, each supporting sub-features of our project. The 3 elements include a distributed network, a reputation system and web user interface.
Features
Distributed Network
An underlying strength of our system is its lack of dependence on a centralized server. The distributed network is comprised of many Toto nodes running on the Internet. The nodes will have the intelligence to form efficient routes to and from a requester node and the requested data. Comments (main form of data that is sent and requested on the network) will be stored in databases on each Toto node. These comments will have an upper size limit of 1 kilobyte. Each node stores a subset of all comments in the network, and is therefore part of what is termed a "distributed store". A bound on the distributed network is its per-node bandwidth and connection utilization. Most users operate on a modem (28.8 Kbps) and this should saturate their connection but should not interfere with normal web browsing.
Reputation System
A reputation system will be in place to ensure that participants in the system will be faced with a significantly smaller chance of encountering "spam" or otherwise abusive posts. Peer reviews of another user's posts are associated with that user in the form of a reputation. A good reputation gives posts more visibility, while a poor reputation yields contributions seen less frequently. The pseudonyms used by members of the Toto network are anonymous in regard to their real-life identity. They are however associated with their posts the cryptographically sound procedure of "signing" the posts.
Web User Interface
The users' interface to the Toto system will be implemented through a web interface. The uses of the system make a browser-based interface the obvious choice. Users will be able to post and view comments on web content through an intuitive interface. Also, users will have the ability to cease seeing comments without withdrawing from the Toto network. Compatibility with IE, the dominant web browser, is a necessity.
Non-Features
TOTO
A Distributed Annotation System
for the
World Wide Web
TABLE OF CONTENTS
INTRODUCTION 3
TEAM MEMBERS 3
PROJECT MANAGEMENT STRUCTURE 3
OVERVIEW, SCOPE AND PURPOSE OF THE SYSTEM 3
MEASURABLE ORGANIZATIONAL VALUE 4
DESCRIPTION 4
REQUIREMENTS 8
FEATURES 9
Distributed Network 9
Reputation System 9
Web User Interface 9
NON-FEATURES 9
Constraints 10
INTERFACES 10
CHANGE LOG AND EXPECTED CHANGES 11
CONTINGENCIES 13
MEASUREMENTS 13
ORIGINAL GANTT CHART 14
CURRENT GANTT CHART (AS OF 01-29-2004) 14
CURRENT QFD MEASUREMENT 14
FUNCTION POINTS 15
VALUE ADJUSTED FUNCTION POINTS 17
Value Adjustment Factor 17
COCOMO 17
PERFORMANCE MEASUREMENTS 18
Toto's Page-Serving 18
Toto's revised Page-Serving: 19
GLOSSARY 20
REFERENCES 20
Introduction
Revision: 1.0
Author: Ellen C. Matchey
Team Members
Phil DePetro
Chris Guarino
Dan Kopko
James Light
Doug Malnati
Ellen C. Matchey
Jae Park
Mike Postaski
Asif Siddiqui
Project Management Structure
Overview, Scope and Purpose of the System
Phil DePetro
The purpose of this project is to create a distributed web-annotation system that will allow users to comment on webpage content and have this content be viewed by other users using the system (comments would be in-lined with the webpage text). A targeted use of this system is to counterbalance rightwing and leftwing bias in the media. Through the use of this system users would be able to make comments on news-websites, such as CNN.com, in an anonymous fashion if they feel the news articles are biased in some way. With this growing popularity of this system and feedback on web content, the reporters would eventually be prompted to respond to the users.
On the technical side, this system seeks to create a software package that provides access to a distributed network. This package would act as a proxy server that would modify web pages to show comments presented by other users on the network. It would also allow the user to add his/her own comments into the distributed share.
Comments will be displayed based on a distributed reputation as well as users personal preferences. Requests for comment/reputation information will be handled with the intent to conceal both the requester and the source of the data as much as possible.
The creator of the project (the project manager) devised it as an attempt to mitigate the bias, inaccuracies, and neglect of information he saw in news coverage. The rest of the team shares the same sentiment.
Measurable Organizational Value
Dan Kopko
To provide the Internet public with an intuitive interface by which they can make and share textual annotations and commentary for any website.
Description
Ellen C. Matchey
Currently, Toto allows a user to change and add-to the text on web pages accessible through the user's localhost using the Mozilla browser. It also highlights unaltered text in purple and changed text in green.
As shown in Figure 1, the current architecture consists of a Toto proxy that sits between the browser and the Internet listening for requests (i.e. to get a new website or to post changes). Once a request is made, an HTTP Relay thread is created to take care of the thread. If the thread is a request to view a new page (figure 2), the webpage is broken down into several components that isolate the text as shown in figure 4. Then the text in the website is checked against the database to see if any changes/comments have been added (figure 2). If changes were found the text is replaced by text in the database and highlighted with green, otherwise it is displayed unchanged highlighted in purple. If there is a request for a new change to text on a website (figure 3), a key for the text is created. Then, both the key and the changed text are stored on a mySQL database on the user's computer. Next time this website is accessed by the user, keys for the text will be generated, checked against the database, and when there is a match the original text will be replaced by the one stored in the database. Toto is being developed in Java and uses a mySQL database.
The goal is to alter this system to have a distributed architecture, a reputation system, be compatible with other popular browsers. The distributed architecture will allow comments/content to be distributed between users, eliminating the problem of bandwidth use that would arise from all the content being stored on a single server. The reputation system will ensure (or at least try) that comments posted by users are reputable (i.e. they are not spam, inappropriate or irrelevant information).
Another goal of the system is to have a friendly, easy-to-understand, and non-intrusive user interface. Time permitting, some considerations include having an option to turn off in-lined comments if the user chooses not to view them. In addition, changes to layout/look/style of how comments appear are also being considered.
Figure 1 - Toto Architecture
Figure 2 - Request Content (HTTP GET)
Figure 3 - Submit Comment (via HTTP POST)
Figure 4 - Breakdown of Webpage Content
Requirements
Doug Malnati
There are 3 top-level requirements comprising our project, each supporting sub-features of our project. The 3 elements include a distributed network, a reputation system and web user interface.
Features
Distributed Network
An underlying strength of our system is its lack of dependence on a centralized server. The distributed network is comprised of many Toto nodes running on the Internet. The nodes will have the intelligence to form efficient routes to and from a requester node and the requested data. Comments (main form of data that is sent and requested on the network) will be stored in databases on each Toto node. These comments will have an upper size limit of 1 kilobyte. Each node stores a subset of all comments in the network, and is therefore part of what is termed a "distributed store". A bound on the distributed network is its per-node bandwidth and connection utilization. Most users operate on a modem (28.8 Kbps) and this should saturate their connection but should not interfere with normal web browsing.
Reputation System
A reputation system will be in place to ensure that participants in the system will be faced with a significantly smaller chance of encountering "spam" or otherwise abusive posts. Peer reviews of another user's posts are associated with that user in the form of a reputation. A good reputation gives posts more visibility, while a poor reputation yields contributions seen less frequently. The pseudonyms used by members of the Toto network are anonymous in regard to their real-life identity. They are however associated with their posts the cryptographically sound procedure of "signing" the posts.
Web User Interface
The users' interface to the Toto system will be implemented through a web interface. The uses of the system make a browser-based interface the obvious choice. Users will be able to post and view comments on web content through an intuitive interface. Also, users will have the ability to cease seeing comments without withdrawing from the Toto network. Compatibility with IE, the dominant web browser, is a necessity.
Non-Features