A communication app for Stanford's CS 247 class.
When brainstorming for ideas for our project, we first thought of different types of communication. That naturally led us to think of various barriers to communication, like differing languages to lack of engagement. We also tried to think of a few techonologies we wanted to incorporate, though that didn't really play much into the next phase of brainstorming.
Once the flow of our ideas started to slow, we chose three broad topics to focus on and brainstormed more specific ideas within those categories. Interestingly, ideas seemed to come quicker this time. Maybe it was because we had "warmed up," or maybe because more specific topics inspire better. Either way, we eventually settled on an idea (or a combination of ideas) from each of the three topics. We chose to consider pursuing the following three:
In introductory and intermediate CS classes, such as CS 110 and CS 107 at Stanford, office hours are frequently over-subscribed and inefficient. Though there are online forums like Piazza, students with less experience in CS often need someone to look at and walk through their code with them, like a TA at office hours. However, the ad-hoc ordering and organization at office hours wastes time and causes students to be passed over.
Students in large introductory CS classes with a high student-to-instructor ratio
Students are often not comfortable asking what might be perceived to be a "stupid" question, or admitting they are stuck on an assignment. Though many students at office hours might have the same question or problem, the TA often has to answer it to each student individually. Were students able to communicate their status with the homework more easily, getting help on CS homework could be much more efficient and appealing. There should be an app for this.
The lifestyles of these individuals place them in environments in which meeting new people is both expected and often holds high stakes (i.e. networking events, conferences, dorms, classes, etc.). However, this high-stakes activity is at odds with their natural disposition, leaving them constantly negotiating between the fear of missing out and their own social anxieties and fears.
Students and young professionals with social anxiety
Students and young professionals with social anxiety need a method to meet new people in a way that is more suited to their perspective on social interaction. The fear of anticipated communication in these situation needs to be lowered through some means that speaks to the apprehension of these individuals. We hope to make an app that can do so, possibly by pairing people that will "click" who are at the same event.
It's a sad truth that those closest to us are the ones we argue with most often. Conflict with a loved one can be a difficult obstacle to overcome. It is often accompanied with feelings of pride, guilt, misunderstanding, and frustration, all of which impede the resolution of the conflict.
Couples or close friends in conflict.
Conflict with a loved one is often accompanied with feelings of pride, guilt, misunderstanding, and frustration, all of which impede the resolution of the conflict. Many times, the parties in the conflict need to be understood more than they need to be right. We seek to construct an app that can facilitate the expressing and understanding of both sides of a conflict, so that it may be easier to resolve.
When took a close look at the ideas we had picked out, we decided that none of the three would necessarily be a good fit for this class. Although they targeted problems and needs that require solutions, they either couldn't be completed within the time constraints of this class, or would be far too difficult to user test in our current situation.
We decided to pick three new ideas to focus on that we believe are much more doable, as well as more directed towards the theme of the class.
A product comparable to classroom forums, like Piazza, this app would allow students to ask questions and give answers as annotations to a lecture video. As the student watches the video, he or she can pause the video and insert a question at that time marker. Other students can then answer the question, and later review it as they rewatch the lecture.
When the time comes after a long day at the library to walk home alone, it can be frightening. People often pull out their cell phone even if they aren't talking to anyone just to give the appearance of not being alone. This both discourages attackers, as well as gives comfort to the one walking alone. We aim to create a tool that improves this experience. Using the communication tools afforded by a smartphone, we believe an app can both make a person feel safer as they walk alone as well as more effectively discourage would-be attackers.
When groups brainstorm, they usually run into two different bottlenecks. First, no matter how many people they have, they either run out of markers or run out whiteboard space. Their ability to write all of their ideas is limited by the physical constraints of writing on a whiteboard. Second, after they manage to write down a portion of the raw ideas that were in their mind, there's no easy way to organize the ideas. At best, one can erase and rewrite an idea, putting it where they want it. We've thought of creating an app that would be a virtual whiteboard for those involved in a brainstorming session. Each person would connect through their tablet or phone, and they'd be able to contribute to and collaboratively organize the ideas as they go.
The user will be able to view questions added to the lecture video and their corresponding answers in a sidebar. The user will have the option to toggle between questions that pertain to his/her place in the video and all questions in the video. Further, there will functionality to search the questions or order them by various filters such as popularity or time proximity in this sidebar.
The video stream bar will feature visual markers, much like the annotation markers on SoundCloud, to indicate the presence of questions/comments added at certain points in the video.
We felt that the above two mechanisms for viewing questions allow users to easily survey helpful questions, both in the case when they are looking to find a specific question at a certain point in the video or when generally looking to get a glimpse of doubts/discussions.
A user will be able to submit a question at any point in the video by clicking a button on the video controls, upon which a submission form will show up on the bottom bar of the screen. He/she will be able to submit a question by incorporating rich media such as screenshots with annotation and/or Khan Academy style video annotation.
A user will be able to click to add an answer to a particular question in the sidebar, upon which a form appears in the bottom bar for submitting an answer. The same functionality for incorporating rich media as described above would be available.
We felt that this video/screenshot annotation system facilitates easier and more rich online learning in that it places the classroom discussion within the context of the class material itself and further enables more learning-oriented (as opposed to answer-driven) communication.
Users will have the ability to upvote/downvote answers to questions.
There will be a system for structuring or labeling the video content in time blocks, serving as streamlined tags for generated questions. This would make distilling one's own question and discovering relevant question/answer pairs at a certain point in the video far easier. Further, it could help inform the instructor on the topics that students are most confused about. This concept labeling could either be sourced by students or instructors.
Based on factors like when the user pauses a lot or replays the content, intelligent prompts could be given to the student to view or create questions around the concept corresponding to the time block. Further, based on factors like a lack of pausing during certain time blocks and history of contributions, prompts can be made to "expert" users on certain topics after they complete the video.
Questions that have been asked on the video are shown to the user in the "Question Sidebar" with a title and time stamp. Questions and answers can each be clicked to display the detailed view of each.
Ask Question/Add Answer:
An "Ask Question" button is located on the video controls bar, displaying a basic form for submitting the title and detail of the question. An "Add Answer" button is located on each question's detail page. Clicking this will also display a basic form for submitting the title and detail of the user's answer.
Video embedding and controls have been built.
All the underlying infrastructure (fronted & backend) of the code has been built.
We gave high priority to the development of a rich annotation system, but as it requires all the functionality in the layer beneath it (video, questions, answers) to have been built first and is itself a large and complex feature, we are still in the process of completing it. We have made progress in developing this feature, and plan to have it completed for next week's user testing. However, for the purposes of in-class pilot studies, we feel that the ability to embed and interact with even text questions and answers directly in the stream of the video allows users to experience the rich, contextualized classroom learning we are hoping to deliver.
Complete Annotation Capabilities
Add User Accounts
Add Time Proximity Filters for Viewing Questions
Add Concept Clustering/Tags
Add Intelligent Prompts
We are interested in helping students of online classes build a virtual learning community and make watching lecture videos a more enjoyable experience. Specifically, we are targeting current offerings of Stanford classes with online components. Through previous interviews with students and teaching staff of online classes (e.g. current offerings of CS 155 and CS 110), we've come to the following conclusions:
We hypothesize that:
We would like to find out:
We reached out to professors of two current SCPD classes (CS 110 and CS 155) who helped us reach out to their SCPD students. We recruited local students and TA’s from both classes via email, Piazza, and going to office hours. We also recruited several HCI expert users from the CS 247 teaching staff and students for critiques.
So far, we have:
We conducted our expert user studies on Thursday and Friday and have since pivoted and clarified our focus. During our expert user studies, we asked each user to:
For our student user studies, we plan to ask each user to:
After our first round of user interviews, we decided to narrow our focus to SCPD students and decided to pivot from our original idea based on the interesting needs we learned through their feedback and insights.
That is, the overwhelmingly similar set of needs expressed by all the SCPD students we interviewed was the following: they felt a sense of isolation and, only having piazza and instructor office hours, there was a middle ground of casual, peer interaction that was missing from their classroom experience. They expressed that they needed peer connections for casual assignment help through live and organic interaction.
Considering this fact that students had a greater need for communication around an assignment than lecture videos and a greater need for live, casual interaction rather than formal question & answers, we have moved away from our original idea of a lecture video based forum towards a tool for connecting and corresponding with peers over the course of an assignment.
The following list contains the comprising features of our new idea and maps them to the driving insights from our SCPD interviews:
We have built a basic implementation of the timeline that consists of the various milestones. This timeline is the home page that the user lands on, and serves as a navigation bar at the bottom of the screen as they move to other pages. Since we don't have user profile pictures at the moment, we are displaying the users who are on each milestone on the individual milestone pages rather than on the milestone timeline.
The framework for individual milestones, each consisting of relevant resources and communication threads and a register of who is "on that milestone" has been implemented. A form allowing users to add new milestones must be created. Further, this framework must be expanded to allow for multiple assignments per account.
We have enabled group chat with whoever is online and on that specific milestone. However, private chat has not been implemented.
We have allowed for basic "pinning" of posts from a chat, which will then appear in a tab on the milestone page.
Built basic functionality for uploading resources. We might aim to enable partial screenshots and/or annotations of these resources in addition.
Allow for uploading of documents on chat.
Basic Login System