nus forum contract documentstevenha/cs3226/group04.pdf · nus forum contract document abstract...

16
04-ChatBox-Forum1 v1.0 NUS FORUM NUS FORUM Contract Document Abstract Current IVLE forums, used for class participation grading and discussion, are inadequate for faculty and student users. Furthermore, Stack Overflow-like forums are hard to clone, expensive, and set up by the lay user. NUS Forums aims to bring crowd-driven forums to the student community. Definitions App: The mobile app being developed. Developer(s): NUS Forums, Inc., comprising of the following members: TONG HAOWEN JOEL FAN JIAHUAN LIN ZICHAO WU SHUANG DOAN XUAN LOC NGUYEN Domain: The Universal Resource Locater identifying the NUS Forums App. 1 / 16

Upload: others

Post on 19-Mar-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: NUS FORUM Contract Documentstevenha/cs3226/group04.pdf · NUS FORUM Contract Document Abstract Current IVLE forums, used for class participation grading and discussion, are inadequate

04-ChatBox-Forum1 v1.0 NUS FORUM

NUS FORUM

Contract Document

Abstract

Current IVLE forums, used for class participation grading and discussion, are inadequate

for faculty and student users. Furthermore, Stack Overflow-like forums are hard to

clone, expensive, and set up by the lay user.

NUS Forums aims to bring crowd-driven forums to the student community.

Definitions

App: The mobile app being developed.

Developer(s): NUS Forums, Inc., comprising of the following members:

TONG HAOWEN JOEL

FAN JIAHUAN

LIN ZICHAO

WU SHUANG

DOAN XUAN LOC NGUYEN

Domain: The Universal Resource Locater identifying the NUS Forums App.

1 / 16

Page 2: NUS FORUM Contract Documentstevenha/cs3226/group04.pdf · NUS FORUM Contract Document Abstract Current IVLE forums, used for class participation grading and discussion, are inadequate

04-ChatBox-Forum1 v1.0 NUS FORUM

Client: Prof. Steven Halim (CS3226 Professor)

Contract: The binding document being signed between the Developers and Client.

CS3226: The course taken at the National University of Singapore.

Services: Any task or series of tasks done by the Developer on request from the Client, or

as part of fulfilling a request from the Client

Product: Any code, images, markup, scripts, content created by the Developer while

performing Services

Intangibles: Knowledge about solutions to problems, methods, or designs

Roles: Positions including, but not limited to, the following definitions:

UI Developer: Team member concerned but not limited to the User Experience, User

and System Design, of the Boxchat App.

Process Flow Developer: Team member concerned with but not limited to the overall

flow, user onboarding, and participation process development of the Boxchat App.

Marketing Lead: Team member concerned with the development of the website.

Code Developer: Team member concerned with but not limited to the framework of the

project

List of core features

1. The App shall include, but not be limited to, the following features: 2. Authentication, accounts and roles

a. Single-sign-on authentication of users b. The provision of forums for exchange of ideas c. The provision of roles for each forum comprising, but not limited to, the

administrators (faculty), and users (students). d. The provision of a LIVE, reactive website driven by data.

2 / 16

Page 3: NUS FORUM Contract Documentstevenha/cs3226/group04.pdf · NUS FORUM Contract Document Abstract Current IVLE forums, used for class participation grading and discussion, are inadequate

04-ChatBox-Forum1 v1.0 NUS FORUM

3. Forums a. The provision of voter-backed forums, such that questions can be easily

answered by peers, or the professor. b. The ability by each user to vote up, and vote down, once, per user. c. The creation of forums by all users, such that users will be able to add

other administrators, and students, to the module. 4. Question viewing / interaction engagement

a. The provision of an answer section for all users. b. The provision, and specially formatted display for the answers from an

administrator. c. The provision of a live editor supporting a valid form of markup shorthand,

including but not limited to Markdown. d. The provision of an onboarding front page

5. The App will primarily customized to benefit the NUS student and staff

community, but will scale to other users upon completion the duration of CS3226 Academic Year 2015/2016.

6. The Developers shall reserve the right to rescind the feature, prior to, during and

after the duration of CS3226.

Technological Details

1. The technological implementation, herein referred to as the stack, shall comprise, but not be limited to, the following:

a. NodeJS b. Javascript c. HTML5 d. HTML5 variable interpolating: Spacebars e. Frontend / backend framework: MeteorJS / Iron-Cli f. Package Manager: AtmosphereJS

i. Packages on AtmosphereJS g. NoSQL Database: MongoDB h. CSS Markup Preprocessor: SCSS i. CSS Framework: Semantic UI

2. The development of the App shall include, but not be limited to, the usage of the

following: a. VirtualBox

3 / 16

Page 4: NUS FORUM Contract Documentstevenha/cs3226/group04.pdf · NUS FORUM Contract Document Abstract Current IVLE forums, used for class participation grading and discussion, are inadequate

04-ChatBox-Forum1 v1.0 NUS FORUM

b. Vagrant c. Ubuntu Linux Operating System

3. The deployment of the App shall include, but not be limited to, the usage of the

following: a. Docker LXC

4. The App shall be hosted on either of, or a sum of, the following:

a. Meteor Galaxy b. Amazon AWS / S3 c. Digital Ocean

User Needs and Targeted user profiles

1. The personas identified through usage, and user stories, may include but not be limited to the following:

2. Professor (User and Admin):

a. Uses system at all times during course of work, particularly during the onset of semester periods for facilitating class discussion, and participation.

b. During off-peak times, uses system for collaboration between other faculty, and discussion.

3. Student (User) a. Uses system during onset of semester, for group formulation, class

discussion and class participation, and to seek help from faculty. 4. TA (sub-Admin and User)

a. Uses system at all times during course of work, particularly during the onset of semester periods for facilitating class discussion, and participation.

5. The user stories may be included, by discretion of the Developers, and

implemented in either of part, or whole.

6. User stories are detailed in Appendix 1. Most of the Developers, and feedback from classes and classmates suggest that the current IVLE forum does not meet their needs, such as:

(1) Inappropriate use of UI widgets (e.g. buttons for notices) (2) Improper, dishonest displays and buttons (Back button navigates back to main

4 / 16

Page 5: NUS FORUM Contract Documentstevenha/cs3226/group04.pdf · NUS FORUM Contract Document Abstract Current IVLE forums, used for class participation grading and discussion, are inadequate

04-ChatBox-Forum1 v1.0 NUS FORUM

thread) (3) Long threads, inability to view responses to a thread at a glance (4) IVLE notifications do not adequately notify users of email, heavy reliance on email

notifications

Competitor Analysis

1. The following competitors are detailed herein:

a. Piazza i. Course-management ecosystem for classes

ii. Supports asking questions iii. Targeted mainly at handling ecosystem of modules iv. However, interface similar to email threads; presence established in

North America and does not appear strong in Singapore. b. Stack Overflow

i. Supports mainly crowd-sourced replies and forums ii. Encourages community exchanges, and community driven

responses iii. Rewards users who actively contribute through asking and

answering questions. iv. However, approval of forum topics are lengthy and involve a

crowd-funded approval; closed sourced; clones not easy to start for a layman and troublesome to deploy on separate server / paid.

v. Does not support school-driven forums, spanning duration of a single semester module.

c. IVLE Forums i. Current existing forum for NUS

ii. Dishonest interface (buttons misleading, tabs and flows inappropriate, updates do not show up appropriately, viewing threads require opening and closing one by one), inappropriate use of UIs, lack of UI consideration, uses Bootstrap but not mobile-friendly.

Comparative Advantage over competitors

1. Our forum uses two-way data binding, enabling us to deliver lightweight,

responsive and reactive solutions easily.

5 / 16

Page 6: NUS FORUM Contract Documentstevenha/cs3226/group04.pdf · NUS FORUM Contract Document Abstract Current IVLE forums, used for class participation grading and discussion, are inadequate

04-ChatBox-Forum1 v1.0 NUS FORUM

2. Free for users, and anyone can start a forum and invite others a. Anyone can start a forum and invite others to participate.

3. Heavily UI-driven, innovations intended to push envelope: a. The Development Team is UI-heavy, enabling us to do concentrate on

continuous research on improving the UI envelope and writing effective code and execution.

4. Niche presence in NUS / Singapore / IVLE. 5. We will continuously strive to gain continuous feedback from our Beta users, to

improve the App.

Beta Testers

We have sourced for at least four faculty wishing to test the module. Our beta testers may include the following:

1. Dr. Steven Halim (Faculty, SoC) 2. Dr. Soo Yuen Jien (Faculty, SoC) 3. A/P Alex Mitchell (Faculty, CNM) 4. Ms Chiang Jing Ying (TA, CNM)

6 / 16

Page 7: NUS FORUM Contract Documentstevenha/cs3226/group04.pdf · NUS FORUM Contract Document Abstract Current IVLE forums, used for class participation grading and discussion, are inadequate

04-ChatBox-Forum1 v1.0 NUS FORUM

Timeline

Week Mon Tues Wed Thur Fri Sat

10 Contract v1.0 due

Consult Beta Testers on mockups; further refinement if necessary

Iteration 1 Full site to be up, with base functionalities (Frontend / backend)

11 Front-end DUE Alpha Testing to begin Round 0 Gather feedback on real system by Beta testers

CS3226 Quiz Marketing campaign to be drafted, online social media accounts prepared Begin transitioning site to LIVE server

Iteration 2 Improved site to be due

Beta testing to begin Round 1

12 Full-site DUE Marketing campaign (print Ads, door to door knocking) to begin

Collation of feedback (Google Forms by Marketing Team) Iteration 3 Improved site to be due, with additional improvements.

Feedback from Beta Testers Round 2

13 Internal Presentation

Iteration 4 Improved site to be due, with additional improvements.

Reading STEPS PRESENTATION 20/3

7 / 16

Page 8: NUS FORUM Contract Documentstevenha/cs3226/group04.pdf · NUS FORUM Contract Document Abstract Current IVLE forums, used for class participation grading and discussion, are inadequate

04-ChatBox-Forum1 v1.0 NUS FORUM

Mockups / Flow

Terminology Forums: Highest structure inside which different questions can be posted. Posts: Questions that are posted in the forum; being listed at the forum landing

page. Responses: Responses to the main question of a post; being listed at the post

landing page. Comments: Comments to the responses; being displayed under the specific

response. Replies: Replies to the comments; being displayed together with the comments;

highlighting the name of user whose comment you are replying to. Relationship by displaying hierarchy:

Forums > Posts > Responses > Comments = Replies Pages

● Profile/home page ○ Subscribed forums ○ Owned forums ○ Recommended forums ○ Responses & comments & replies to me ○ Link to all my posts ○ Link to all my responses & comments & replies

● Forum landing page ○ Form description/details ○ Posts by latest reply time ○ Post creation button ○ Relevant forums

● Forum creation page ○ Title ○ Textarea ○ Preview ○ Tags ○ ? Relevant forums

● Post landing page ○ Main question ○ All responses ○ Comments under responses ○ Response textarea (at the end of page, default is responding to the main

question) ○ Commenting & replying button (besides comments, replying to the specific

8 / 16

Page 9: NUS FORUM Contract Documentstevenha/cs3226/group04.pdf · NUS FORUM Contract Document Abstract Current IVLE forums, used for class participation grading and discussion, are inadequate

04-ChatBox-Forum1 v1.0 NUS FORUM

comment or response or reply) ● Post creation page

○ Similar to forum creation page ● Sign in/sign up page

Example 1: Sign in/sign up page

Example 2: Forum landing page

9 / 16

Page 10: NUS FORUM Contract Documentstevenha/cs3226/group04.pdf · NUS FORUM Contract Document Abstract Current IVLE forums, used for class participation grading and discussion, are inadequate

04-ChatBox-Forum1 v1.0 NUS FORUM

Link to design: https://boxchat.mybalsamiq.com/mockups/4310412.png?key=acef2cb4b0cad0e41599b539444d9e8432ed1c6a

10 / 16

Page 11: NUS FORUM Contract Documentstevenha/cs3226/group04.pdf · NUS FORUM Contract Document Abstract Current IVLE forums, used for class participation grading and discussion, are inadequate

04-ChatBox-Forum1 v1.0 NUS FORUM

Page Flow

11 / 16

Page 12: NUS FORUM Contract Documentstevenha/cs3226/group04.pdf · NUS FORUM Contract Document Abstract Current IVLE forums, used for class participation grading and discussion, are inadequate

04-ChatBox-Forum1 v1.0 NUS FORUM

Roles

1. The Developers shall be assigned to, but not limited to, the following roles:

TONG HAOWEN JOEL (Code Developer)

FAN JIAHUAN (Process Flow Developer)

LIN ZICHAO (UI Developer)

WU SHUANG (UI Developer)

DOAN XUAN LOC NGUYEN (UI Developer)

2. Roles may be reassigned, in accordance with a ⅔ agreement of the team.

Domain name

3. The domain name of the App shall include, but not be limited to, the following domains: http://www.nusforums.com http://www.nusforum.com

4. The Developers shall reserve the right to use, in whole or in part, the domains as

provisioned in this contract, prior to, during and after the duration of the CS3226 module.

Intellectual Property

1. The Developers shall retain the full rights to all copyrights, documents, code, branding and marketing pertaining to the App being developed, before, during and after the duration of CS3226.

2. The Developers shall retain full rights to reuse, market, and redeploy code, in full

or in part thereof, pertaining to the development of the App, prior to, during or

12 / 16

Page 13: NUS FORUM Contract Documentstevenha/cs3226/group04.pdf · NUS FORUM Contract Document Abstract Current IVLE forums, used for class participation grading and discussion, are inadequate

04-ChatBox-Forum1 v1.0 NUS FORUM

after the duration of CS3226.

3. The Developers will disclose code with the client, during the duration of CS3226 Academic Year 2015/16.

Renumeration

1. The App shall be used to fulfill course requirements for the Developers, during the duration of CS3226 Academic Year 2015/2016.

2. No monetary remuneration of any form shall be awarded by the Client to the

Developers during the duration of CS3226.

Termination

1. Each party shall give 7 days prior notice, prior to termination of the agreement.

2. Prior termination of the contract must be acknowledged by both the Client, and a

⅔ majority of Developers.

3. Changes to the contract must be acknowledged by the Client and Developers, and this contract shall be rendered void in the event of termination.

Adapted in part from the following: https://www.docracy.com/8770/copyright-ownership-and-license-agreement https://www.docracy.com/7079/development-service-contract https://www.smashingmagazine.com/2013/04/legal-guide-contract-samples-for-designers/

13 / 16

Page 14: NUS FORUM Contract Documentstevenha/cs3226/group04.pdf · NUS FORUM Contract Document Abstract Current IVLE forums, used for class participation grading and discussion, are inadequate

04-ChatBox-Forum1 v1.0 NUS FORUM

Appendix 1 ✔   Must have $    Better to have %   Have if have time ⚇   Not to have ☨☨☨☨☨☨  Professor 

1. ✔As a professor, I want to create a forum, so that i can allow students to discuss 2. ✔As a professor, i want to create a forum effortlessly, so that i don't waste time 3. ✔As a professor, i want to keep track of how students are participating, so that i can 

give marks accordingly 4. ✔As a professor / TA, I want to see the student’s ranking in terms of the number of 

posts so that I know who are participating the most 5. ✔As a professor, i want to be able to add TA and students effectively, so that they can 

participate in the forum 6. $ As a professor, i want to see what are the most popular questions, so that i can tailor 

the course subsequently 7. $ As a professor, i want to have a contact, so that i can double use the information i 

entered 8. $ As a professor, i want to make sure the forum is alive, so that my students can receive 

email notification upon creation and updates 9. $ As a professor, i want to be able to pin, so that i can prioritise the questions 10. $ $ As a professor or TA, i want to mark the correct answer, so that others can refer to it 11.  12. $ As a professor/ TA, I want to see which students has the most CORRECT answers so 

that I know which students contribute meaningfully to the discussion (instead of smoking) 13. % As a professor, i want to add a short audio, so that i can explain the question more 

clearly. 14. % As a professor, i want to see all the post histories of some student, so that i can mark 

accordingly 15. % As a professor, i want to how active my TA is in this forum, so that i can check how 

TAs have been doing for their duty   Student 

16.✔As a humanities student, I wish to be able to markup my text using (what you see is what you get) WYSIWYG intuitive buttons so that I am able to stylize text effectively without using Markdown. 

17.✔As a student, I want to know how many comments and threads I have posted, so that I am able to gauge my level of class participation. 

18.✔As a student, i want to follow a question, so that i can get updates about the question 

14 / 16

Page 15: NUS FORUM Contract Documentstevenha/cs3226/group04.pdf · NUS FORUM Contract Document Abstract Current IVLE forums, used for class participation grading and discussion, are inadequate

04-ChatBox-Forum1 v1.0 NUS FORUM

19.✔As a student, i want to follow a post or a response, so that i can get updates about this response 

20.✔As a student, i want to unsubscribe the reminder, so that i wont receive the “junk email” anymore. 

21.✔As a student, I want to be notified when someone has posted a reply to my post. 22.✔As a student, I want to be notified only when there is a CORRECT answer to my 

question post. 23.✔As a student, I wish to see the current modules I am participating in, so that I can 

browse to them quickly. 24.✔As a student, I wish to use some sort of Single­Sign­On (SSO) login, so that I do not 

have my account tied to school and can use them things outside of school. 25.✔As a student I can comment under others’ answers, so that I can further clarify my 

doubts. 26.✔As a student I can upload images to my post, so that I can explain my thoughts better. 27.✔As a student, i want to see what is popular and recent i both questions and labels, so 

that i can study more effectively 28.✔As a student, i want to view my history, so i know what posts i have viewed 29. $ As a student, I want to have visual cues to see comments in threads so that I am able 

to respond effectively to the threads, without refreshing. 30. $ As a person, I want to be able to reply on the same page without pressing the reply 

button, so that I can be quicker replying to the main post and be less irritated. 31. $ As a student, I want to have a reply button on all posts so that I can quote / reply to the 

current post. 32. $ As a student, I wish for labels to be color tabbed so that I can use visual cues to 

search for answers directly.  33. $ As a student, I wish to have a feature to insert emoticons, so that the forum becomes 

more lively. 34. $ As a student, I wish to use my Facebook Gravatar, so that others recognize me easily. 35. $ As a student, I wish to be able to get some badges for answering questions of others, 

so that I get a sense of ownership of forum and self­accomplishment. 36. $ As a student I can select the best answer from the responses to my post, so that I can 

tell others which answer really solved the problem (different from prof/TA) 37. $ As a student/professor I can view the graphical representation of statistics (number of 

responses etc.), so that the website is more user friendly for me. 38. $ As a student, i want to search only for the question (search by thread name), but not 

for the answer 39. $ As a student, i want to search for the question that has been answered correctly so 

that i can learn efficiently. 40. $ As a student, i want to follow the professor or TA, so i can get update whenever they 

reply 41. % As a student, I wish to be able to get my badges from other modules, so that I am able 

to carry these over to my current module. 

15 / 16

Page 16: NUS FORUM Contract Documentstevenha/cs3226/group04.pdf · NUS FORUM Contract Document Abstract Current IVLE forums, used for class participation grading and discussion, are inadequate

04-ChatBox-Forum1 v1.0 NUS FORUM

42. % As a humanities student, I want to have some hints to learn Markdown so that I am able to type Markdown if necessary. 

43. %  As a student, I want to know how many comments my friends have posted so that I am not posting too little / too many comments in the forum. 

44. %  As a student, I wish to be able to create my own forums as well, so that I can use them for archiving my project group discussions as well. 

45. % As a student I can follow other users, so that I can learn from his other answers. 46. % As a student, i want to find the related questions, so that i can study more effectively 47. % As a student, i want to be able to type in LaTeX, so that i can format my question and 

answer effectively 48. % As a student, i want to be able to use markdown, so that i can format my question and 

answer effectively 49. % As a student, I want to be able to post a DISCUSSION topic or QUESTION topic 50.⚇As a student, I wish to have control on threads I have posted, and the tabs, so that I 

can delete threads effectively.  TA 

51. %  As a TA, i want to search the questions that have not been answered, so that i can answer the question 

52. %  As a TA, i want to be able to highlight some post to professors, so professors don’t have to check forum everyday and still help to answer important concepts

16 / 16