This document provides details on building a real-time discussion platform feature for UpGrad. It outlines objectives, target audience needs, key features like expert sessions, moderation, feedback. It also includes designs, KPIs, testing criteria and use cases. The core feature allows scheduled expert sessions on course topics where students can interact live and provide responses. Experts can view schedules, moderate discussions and provide feedback. The goal is to improve engagement through continuous, interactive discussions.
1. UpGrad Industry Project
Part II
___________________________________________________________________
Group members
Dattatrey Kulkarni (idattatrey@gmail.com)
Nisha Sashidharan (nisha_sas@hotmail.co.uk)
Ravikiran Sastry (ravikiran.sastry@gmail.com)
2. Industry Project 2 – UpGrad
Introduction 3
Objective 3
Product Roadmap 3
Technology Specifications 6
Applications and Data 6
Utilities 8
Product Requirement Document 9
Objective 9
Introduction 9
Target Audience 9
Need for Building the Product 10
Scope 10
Features 10
Expert Sessions 10
Session Moderation 11
Real-time Responses 11
Feedback and Rating 11
Designs 11
KPIs / Success Metrics 17
Testing / Acceptance Criteria 18
Functional Criteria 18
Non-functional criteria 19
Performance Criteria 19
Appendix 19
Feature Use Cases 19
Student 19
3. Guest Expert 19
UpGrad Student Mentor 20
Introduction
Part one of the UpGrad project saw us defining the new product. Right from competitor
research and user research analysis to prototyping and wireframing – we’ve structured the
enhancements required for providing an interactive and engaging discussion platform for
students opting for an online course.
Part 2 of this project is structured to capture all the finer details that will help in the execution
process.
Objective
The objective of this assignment is to create a product requirement document that will contain
all the necessary details to implement this project. Product roadmap, technology specifications
along with product analytics will be elucidated.
Note: This assignment assumes familiarity with the product solution proposed in Part 1 of the
assignment.
Product Roadmap
The first element in building a product roadmap is to prioritize the features that are necessary.
To do the same we looked at product prioritization matrix which considers the following
elements:
(a) Strategic Fit
(b) Economic Impact
(c) Feasibility
(d) User Impact
4. Product Roadmap
A real time discussion forum is at the core of the offering of this feature, and hence
development work on the same must happen first. Work on content creation and curation must
take place parallelly, since the feature hinges on successful participation from the industry.
Both of these activities have the highest Strategic Fit(a) and have the highest bearing on
Feasibility(c).
Registration and automated email notifications is prioritized next, as this helps determine
student interest prior to the session being conducted, and helps mitigate any guest expert
dissatisfaction arising from low user participation[User experience(d), also since this is cheap to
implement - Economic Impact(b)]. In parallel, the content team is to work on building
appropriate case studies that are relevant to the batch and topics being discussed. This is an
5. ongoing activity, to ensure that the content remains abreast with the latest subject and
industry evolution.
This marks the launch of v0.1 of the feature, composing the Minimum Viable Product(MVP)
of the feature.
The development of the mobile webpage follows next - this again is primarily owing to cost
considerations, where it is cheaper to build a mobile website than an app(b). On the website,
the features that are prioritized next include integration with site gamification, and building
summary statistics. This is expected to help user experience(d) to encourage them further to
participate in classroom discussions.
One of the pain points with the discussion format is that discussions would need to be limited
to text based case studies - which, while does work fine for largely qualitative subjects such as
Product Management, highly constraints case studies in quantitative subjects such as data
science and mathematics. The next feature prioritizations are geared towards solving this
problem. Specifically, we start with image attachments for situations where the discussion
requires representing something pictorially. This is followed by prioritizing equation and symbol
support to enable more mathematical discussions on the forum.
Next, in Q2, we prioritise “good to have” features that bolster discussions within a cohort, such
as tagging and replying to user replies. This enables long, contextual discussions among
multiple users, and impacts the Strategic Fit(a) and User Impact(d) parameters. On the mobile
front, development and integration with the mobile app is prioritized next. This helps with a
smoother user experience, native to the platform that the user is accessing the app on.
The Month 5 prioritized features include searching within previously conducted sessions so that
the students can build on their learnings from these discussions. We also work on embedding
course videos within the platform so that the students can tie their case opinions and learnings
to their course lessons. While both of these features impact the “User Impact” parameter
above(d), these are relatively deprioritized in the feature roadmap due to the relative cost(b)
and feasibility(c) of building these out.
On the mobile front, we build out the notifications module in Month 5, so students obtain
relevant, timely and actionable push notifications relating to discussion sessions. These are
tailored to serve as reminders and help with habit formation for the users to check the forums
more regularly[User Impact(c)].
The feature development till month 5 is rolled out as Version 0.2 of the product.
6. Technology Specifications
Applications and Data
Name Description Purpose
1. Express Web
framework
Express is a minimal and
flexible Node. js web
application framework
that provides a robust set
of features for the web
and mobile applications.
Front end development
2. Javascript JavaScript often
abbreviated as JS, is a
high-level, dynamic,
untyped, interpreted
run-time language. It is
client side programming.
Product feature
development.
3. Nginx web server NGINX is open source
software for web serving,
reverse proxying, caching,
load balancing, media
streaming, and more. In
addition to its HTTP server
capabilities, NGINX can
also function as a proxy
server for email (IMAP,
POP3, and SMTP) and a
reverse proxy and load
balancer for HTTP, TCP,
and UDP servers.
Web server to run application
7. 4. Jquery JavaScript UI jQuery is a lightweight,
"write less, do more",
JavaScript library. The
purpose of jQuery is to
make it much easier to use
Javascript on your
website.
jQuery takes a lot of common
tasks that require many lines
of Javascript code to
accomplish and wraps them
into methods that you can
call with a single line of code.
4. React.js UI libraries React makes it painless to
create interactive Ul’s.
Design simple views for
each state in your
application, and React will
efficiently update and
render just the right
components when your
data changes.
UI development
5. MySQL database MySQL is an open-source
relational database
management system
(RDBMS).
Data storage
6. Amazon 53 Cloud
storage
Amazon S3 is a web
service offered by Amazon
Web Services. Amazon S3
provides storage through
web services interfaces.
Store large amount of data
like video, images,
documents
etc.
7. amCharts JavaScript
graphics
Javascript/ HTML charts
and map data-visualization
libraries for websites and
applications. Fast and
responsive.
Charts and data
interpretation
8. Google Fonts API Access to thousands of
Google fonts
Content display and styling
8. 9. Socket.io JavaScript
framework
Socket.io is a Javascript
library for real-time web
applications. It enables
real-time, bi-directional
communication between
web clients and servers. It
has two parts: a
client-side library that runs
in the browser, and a
server-side library for
Node.js. Both components
have a nearly identical API.
Like Node.js, it is
event-driven.
Client server communication
10. Android Studio Android Studio contains
Gradle build support, Lint
tools, Pro«Guard
app-signing tools and
Template-based wizards
for common application
components.
Android application
development
Utilities
Name Description Purpose
1. Amazon Cloud Front Amazon CloudFront is a
global no 1 content
delivery network (CDN)
service that accelerates
delivery of your websites,
APIs, video content or
other web assets through
CDN caching.
Data Caching
9. 2. Amazon Route S3 Routing made easy for
VPC
hosted websites/web
apps
Domain Name System
management
3. GoogIe AnaIytics Google Analytics
Solutions offer free
enterprise analytics tools
to measure website, app,
digital and offline data to
gain customer insights.
Metrics and insights
4. Intercom analytics Customer messaging
apps for
sales, marketing, and
support,
connected on one
platform.
messaging
Product Requirement Document
A.Objective
Introduction
With there being several perks in the e-learning domain, there is however, a growing need to try and
provide an exceptional user experience to students enrolling for online courses. This project aims at
creating a seamless and intuitive product that will help students imbibe as much as they can while being
interactive at the same time.
Target Audience
Young working professionals (age range: 24-35) based in Indian cities are looking for quality
online education providers. Based on a survey conducted in part 1 of this project it was found
that the most working professionals choose an online course predominantly to upskill and
perform their job better. Adding a course completion certificate to their profile and embarking
on a new career path were also some of the reasons given.
10. Need for Building the Product
● Young working professionals are looking for a seamless and intuitive platform for online
courses
● Continuous engagement and interactivity is key to ensure quality user experience – an
enhanced discussion forum, expert-student and peer-to-peer interactions are vital
elements that need to be incorporated
B. Scope
The scope for this project is to ensure user engagement and interactivity. For this, we’ve
introduced a time based discussion session that will allow both the students and experts to
interact in real time on a topic.
This is a new feature altogether which can help students get a better understanding of a topic
and clear doubts right away. Features for this scope are:
Experts end:
● Experts can schedule new sessions based on their availability
● They can view their existing schedule and reschedule if necessary
● Real time discussion with students based on the topic of discussion – they can respond
and rate each response
● They can extend the session timing or end it at their end
● They can provide feedback once the session is done
Student’s end:
● They can join a session discussion based on their choice of topic
● They can view the expert’s profile and take a look at how many sessions he/she will be a
part of
● Interact with the expert while on a live session
● Upvote, bookmark and mark any question as favourite for further reference
● Provide feedback once the session is through
C. Features
Our suggested solution to all of these issues is setting up Timed Synchronous Discussion
Sessions with industry experts on the forums.
Expert Sessions
● Each session would be tied to the topic for the module due that week
● The sessions will be scheduled on a Saturday, a day before the assignment submission
for the course module, when presumably most users have already gone through the
course content
11. ● Each session would include a few open ended questions/case studies (related to the
course module) to which students could propose their answers
Session Moderation
● The session would be moderated by the industry expert, whose presence would
encourage students to participate, as well as lend credibility to the conversation
Real-time Responses
● The student responses will be in a real time chat stream – scrollable – where other
students can up-vote or bookmark particular responses
● The instructor can also appreciate certain responses by awarding them a star
Feedback and Rating
● Both students and experts can provide feedback via the portal
D.Designs
Based on the survey analysis and the usability testing that was conducted, a number of new
features have been added in order to ensure the discussion forum is the perfect engagement
and interactive platform.
To begin with we have the Home Screen that will display the live discussions in the top fold. It
will display the name of the session, the expert taking this session, along with the status of the
session. This section is an indication of what session is in progress should students want to join.
12. Home Page
Next we have the visiting expert profile page that is accessible from the “Discussions” tab on
the left navigation. Along with the expert’s profile, it also displays the sessions and dates for
which he/she will be holding a live discussion session. This snapshot of information will help
students gauge and prioritize on the session they would like to attend in the future.
Visiting Expert – Profile Page
13. The discussions page allows students to post questions based on the current live discussion
session.
Discussion Page
The guest expert can access their schedule and details based on a set of credentials created at
the admin end. Once logged in via their credentials, the expert can clearly see what session
have been planned. Based on their availability, they can reschedule an existing session and
schedule a new session.
14. Guest Expert – Landing View
This is a drilled down view of an ongoing discussion session from the expert’s view. The expert
can type a question based on the topic of discussion and view responses from the students.
Guest Expert – Answer View
From the student view, each student can view details of the discussion along with the Q&A’s
posted by other attending students.
15. Discussion Session – Student View (1)
Interactions between the expert and students can be seen on this screen. All the students who
are online and are tuned into the current discussion can respond to the expert’s questions.
Apart from that students can also up-vote, bookmark and mark any question as their favourite
as a reference.
16. Discussion Session – Student View (2)
Both experts and students can provide feedback once the discussion session concludes.
Instructor Feedback
17. Student Feedback
E. KPIs / Success Metrics
To optimize the conversion funnel for users in engaging with the discussion session feature, we
define and measure metrics through the user journey.
1. Weekly Active User of Discussion
Sessions
This metrics counts the number of users that
are participating in discussion sessions on an
ongoing basis(registration in a session / post a
response / join a session/bookmark a response
in a session etc). This is a measure of how much
users are engaging with the feature. This
number is expected to increase steadily to a
constant rate within a cohort.
2. Monthly User Retention This metric will track the user retention rate for
the discussion sessions. Given as ((CE - CN)/CS)
* 100, where CE = No of discussion session
users at end of period, CN = No of discussion
session users acquired during period, CS = No of
users at the start of period
18. 3. Discussion Session Key Task Adoption
Rate (Weekly)
This is given as the no of unique users who post
at least one response in a session, as a ratio of
Total # of users in the batch. This measures the
participation of the users in the discussion
session, and is expected to increase over time.
4. Average time spent in discussion forums This will be used to measure the average time
users are spending on discussion sessions. We
will also look at bifurcating the time spent in
searching the sessions and the time spent on
actual content reading and adding a new
response in the session. The
objective is to reduce the time to search
through the sessions and increase the time
spent on reading and posting in the sessions.
5. Avg # of responses per participant per
session.
This is a measure of how much active users
discuss in a session, and will also be useful as a
measure of the quality of the content. A good
discussion topic / case study is one that brings
forward different opinions and has users
posting responses multiple times in a session.
6. Guest Expert Engagement This metric will be used to track the activity of
mentor on the discussion forum. We will be
tracking new posts and messages, starred
responses and replies by experts on a per
session basis. This will be used to ensure that
experts are sufficiently engaged on the
platform.
F. Testing / Acceptance Criteria
1. Functional Criteria
- If the internet at one of the discussion participants gets disconnected, there should be
no loss of posted messages. The message should be posted as soon as the user
reconnects back, if said reconnection takes place while the session is still ongoing.
- A user cannot join more than one session at a given time.
19. 2. Non-functional criteria
- The overall design of the discussion session should be consistent with the style schemes
used on UpGrad.
3. Performance Criteria
- Time taken for a student response during an ongoing session to be posted after it is
inputted at the user’s end.
Appendix
Feature Use Cases
Student
- Discover upcoming sessions
- Register for a session
- Get an email / forum notification to join a session
- Reopen past sessions
- Join an ongoing discussion
- Exit a current discussion
- Reference an existing response in a discussion
- Bookmark a response
- Enter a response
- Delete a response
- See summary stats of the responses posted during the session(to know his/her overall
forum gamification score).
- Retrieve a bookmarked response
- Toggle upvote for response
- Search within previous discussions
Guest Expert
- Set up a new session
- View information regarding no of registered participants
- Start a session
- End a session
- Extend a session
20. - Star a response
- Report inappropriate response
- Reschedule a scheduled session
- Add question / discussion topic content
- Mute a rogue participant / Remove a participant from the discussion
- Cancel a scheduled session
- Obtain session summary statistics to ascertain student participation
UpGrad Student Mentor
- Schedule/Cancel/Reschedule session on behalf of the instructor
- Join an ongoing session