project-proposal-2024

We Finish

Abstract

A collborative writing where in everyone utilising the website is able to finish eachother sentences.

Author

Name: Josh Noble

Student number: 45820553

Functionality

When you open the website, you are presented with a randomly selected sentence in progress, and are asked to write the next word in the sentence. Instead of providing a word, you are able to end the sentence.
Once you do, the sentence remains on screen, and a new sentence in progress is collected and displayed below it. The original sentence updates live on screen as new words are added to it, and you are prompted to provide a word to the new sentence.
This repeats again, until you have contributed to 3 sentences, at which point you are able to write 3 words that serve as the beginning of a new sentence. again, this sentence remains on screen, and is updated live.
In a single session this cycle can be repeated until a limit is reached. Each word in each sentence on the screen can also be selected and marked as nonsense, at which point it will be removed from the sentence, and a new one will be requested to replace it. If a specific contributor is having lots of words marked as nonsense, or is marking a lot of words as nonsense, than they may be blocked from further contributions.
By providing constantly developing content and opportunities for feedback, we are able to amass significant screen time, which can be used to generate ad revenue. And ethically gather data which could be provided to large language models.

Scope

Quality Attributes

Security

The system must be able to detect and prevent access by bots and scammers, as no one will benfit from the experience if great deals of nonsense are injected into sentences.

Reliability

Users must be able to see their sentences being updated. The system must be able to prioritize sentences that are being viewed over ones that are not, and viewed sentences that are waiting for a contributor that is failing to provide input must be redirected to an active user instead.

Scalability

Regardless of load, the system must be able to take post requests from one user and feed them to viewers of that sentence rapidly, in order to convey the sense of liveness.

Evaluation

Security

Security can be evaluated by taking the percentage of total words posted that have been marked as nonsense in the words that have been contributed in the last day.

Reliability

Reliability can be evaluated by measuring the average time between updates across sentences that are being viewed, and the average time between contributions of various users.

Scalability

Scalability can be measured by taking the difference between the time when a post or update request is recieved, and the time that that new data is sent to the last viewer of a sentence.