# Team Plan H : Final Report
## Video Link
https://www.youtube.com/watch?v=bHqkPwePd-s&feature=youtu.be
## Representative Screenshots
**Home page** : Shows Routine Feeds divided by routine wrote by the user (*My Page*) and others (*Explore routines*)


**Routine Feed**
* Tags (time, level of difficulty, body parts used in routine, tags)
* Routine : action, time, info(text/image/video)


**Write Routine**
* Easy structure for writing routine
* Can attach piture and YouTube video link for detailed information


**Search Routines**
* Various search options (time, levle, body part, tags, title)

* Search Result

**Write review**
* Pentagon shape rating with specific standards
* Add some comment or suggestion

**Read Reviews**
* Reviews of each routine are shown with various filtering/sorting option, and upvoting/downvoting/report functions is supported

## Quality arguments
**Diverse, but still simple and easy**
PlanH supports almost every functions which a user expects from a crowd sourcing library. Any user can share one’s own routine, explore the library to discover interesting ones, throw a feedback to the routine and accept the feedback for improvement. Accessibility and usefulness was one of the most complimented parts at surveys after the deployment.
Currently, each routine is displayed by an individual card and components are differentiated by colors and lines. This UI feature helps users to easily find out what they want to see, such as focused body part and ratings.

In case of Korean users who are not familiar with English and a crowd sourcing library, tutorials are available in Korean language. Because pictures are provided for each steps in the tutorial, one would get used to the system very soon just by following the instructions. Moreover, a user can choose which languages (Korean/ English) he wants to read instructions in. All these conveniences locate at a conspicuous header bar.

**Supported by minor features**
Achievement of PlanH is supported by various additional functionalities. For a stranger to the website and a routine library, he can simply check his exercise level, which will be used at searching for a proper routine. Another example can be found at reviews. Away from one-way comment system, an original writer of a routine can reply comments, which derives more realistic conversation. Many other functions, such as auto-completion for searching keywords, are also implemented, which you are recommended to use personally.


**Eager discussion on the spot**
At the deployment stage, it was observed that anonymous users have actually participated in discussions on routines as expected. Some users actively suggested how they hoped the routine complemented. On the other hand, some other users without specific suggestion also took part in peer evaluation by grading in five fields developers already set: novelty, effectiveness, clarity of explanation, reasonable difficulty set, and if they might suggest the routine to others.

During COVID-19 pandemic situation, there have been a number of difficulties in exercise because social interaction was technically blocked. People could not discuss about recent routines and correction as they did before. PlanH brought those activities into internet environment that ensures contactless and safe interactions.
**Quality Control of the Library**
This routine library undergoes continuous quality control. As mentioned already, peer evaluation system plays an important role. In reality, lots of dummy routines without valuable information were generated and evaluated negatively by other users during the deployment period. Eventually, developers have deleted those to maintain value level of the whole library.
More than developers’ supervision, even users can help this process by report function. If one saw malicious replies, she can report them so that website managers can check at back-end database. Managers will see which replies at which routines are reported problematic and decide if they should take a measure or not for clean user experiences.

## Evaluation
We've gathered participants around us. We advertised on Kakaotalk chat rooms and directly asked for help. We also gathered online survey. There were total 19 survey replies. [Survey Link](https://docs.google.com/forms/d/e/1FAIpQLScO4_7c3gZEAeErFaK5Uox0MPDxrFUj9bfcjrLbUXtTBEfReg/viewform)

Survey results and analysis follows...
#### Routine Feeds
- What kind of routine did you try?

12 users tried routines that we've added.
Other 7 tried routines created by users.
- Did you like that routine?

3(15.8%) users were very satisfied with the routine. 3 out of 2 of them were our routine.
12(63.2%) of users were satisfied with the routine. 12 out of 6 were our routine.
4(21.1%) users were neutral. All of them were our routine.
Average rating was 3.83 out of 5 for our routine and 4.14 for user created routine. This proves that users did enjoy user created routine.
We also asked for additional comment. There were 11 comments, majority of them were about difficulty problems.
#### Routine Writing
- Did you write your routine?

9(47.4%) users did.
- What difficulties did you face?
4 complained about bugs(negative time, body part changing, tag changing, not submitting etc...) Others were about finding Youtube videos, effectiveness and limitations on delivering routines.
- If you didn't, what was the reason?

Most of them thought that they didn't have their own routine. They also thought that they didn't have expertise or writing routine was a burden.
#### Routine Searching
- Did you search for the routine?

9(47.4%) users used searching and 10(52.6%) users didn't.
- If you did, what were the difficulties?
3 complained about UI. There was a reply related to lack of routine. One reply said automatic suggestions should be provided.
- If you didn't, what was the reason?

44.4% of users said they didn't notice searching functionality and 11.1% of users said searching was too complicated. 33.3% of users said they could find routine they need without searching and 11.1% complained lack of routines.
#### Routine Review
- Did you review a routine?

14(70.6%) users reviewed routine and 5(29.4%) users didn't.
- If you did, what were the difficulties?
There were 2 complains about rating resets when editing review. Other replies said it was hard to find where to write a review and rating without writing comments/suggestions was not possible. There were both negative and positive feedbacks regarding multiple criteria for rating.
- If you didn't, what was the reason?

60% of users replied they were not motivated to write review. 40% replied that they didn't know what review they should write.
#### Overall Rating

From the result, we could see that majority of users (15.8% and 63.2%) were satisfied with the service.
We also gathered additional comments on our service. Most of them were related to UI, suggesting it should be more intuitive. Some reported bugs. Also they wanted more useful functionalities like timer or showing estimated calorie burn. Many thought the idea itself was nice and service was helpful.
In conclusion, most of the service worked well as we expected. Since we only managed to gather <20 users, it would have been better if we tested out with more users.
## Discussion
#### Participation
We had two groups of people for participation, one group was asked to write a survey which requires writing at least one routine and the other group was asked to freely use the site. Those time consuming and burdensome tasks such as writing routine showed less participation especially in the non-survey group, and those less time consuming tasks such as commenting and marking up and down showed more participation. We've thought of this issue from the beginning of the project and tried to make writing the routine as simple as possible, but it didn't show much effect as we expected.
#### Quality Control
Increasing more participation induces lack of quality control. We actually found many meaningless routine posts and had to manually delete them. Having suggestions separated from review was also our design choice to ensure the quality of the routines with crowd sourcing worked pretty well.
The overall platform was ran by non-experts and actual deployment showed that most routines written relied on pre-maid videos made by experts, which was different from our original intention.
#### Communication
Our major communication channel is review and suggestion part, with additional reply function. Although it serves functions similar to those in community websites, no active communication could occur. Enabling a chatting room between routine writer and user with suggestions could be an option to address differences and suggestions in real-time.
#### Networking
We've implemented the very basics of user profile, but we couldn't implement it well enough to support user profile image and other customizations. As thought at the beginning of our project, diverse user custom options related to the user's activity would have been helpful. We've utilized tags to sort and search the routines, but in the future work we expect users will do this job too.
#### Privacy
User profile is private, and we don't require any private information. Although this could be a good way to maintain privacy, it won't be effective in dealing with trolling. Since creating an account is so easy and there's no limitations, trollers could just make another account to continue trolling.
#### Ethics
The main issue with ethics would be copyright. We have spotted lots of routine simply linked already existing Youtube videos and organized the content of it. This could be more problematic since we keep all users anonymous. Other issues with ethics could occur during communication, such as blaming the user or even using curse words. Our current reporting system is passive, so it might not be able to deal with all problems reported.
#### Incentives
We need motivations for users to keep writing good routines on our platform. Our major incentives would be the review itself from other users, followed by customizable avatar (under development) representing activity. However, we don't think this is enough. Our future plan is to deploy advertisements and sharing the benefit with good writers and good reviewers, and make them as celebrity of your website. This would make not only the users who earn profit, but the others with ideas to be more active.
## Individual Reflection
#### Jisu Yim
What part did I contributed?
In low-fi prototype, I implemented searching page. In high-fi prototype, since I had some experience using react, I contributed for building the template implementing pages that shows routine feed, and login function and also help others part (e.g. design of review page) when they needed help. I also made video (scenario was written by other) by animaker.
What worked well and not?
Our team struggled when making the key concept at first, because we wanted to make unique and creative solution for exercising in pandemic situation. We did not have clear problem statement and solution at the beginning. However, we made great effort for making the prototypes. We could make high quality of our website by dividing works clearly and preceiving some feedbacks from Low-fi prototype. We could be selected as the best simulation team.
How did I overcome?
I was very disappointed when we get low score at first, and thought it was because of lack of communication among our team. Even though our discussion take long time, I tried to point out any uneasy points and try to debate with others. It was not easy at first, but through lots of discussion we could solve problems and make better solutions of our project.
What I learned?
I learned that simple and intuitive UI is very important to make people socially interact each other. It's becaues people would not even want to act self-motivated, if they feel stress for unclear design. We tried to make design look clear and good, and react template helped a lot to reduce that time. Also, implementing socially interacting platform is very exicting. I could watch users writing their own routines and following others one, give some feedbacks. Only the work we have done is functional part, and the others are all made by the active users. Thinking of perspective of users was hard but interesting in the same time.
#### Taehyung Kim
I've provided the idea of the project. During the project, I mainly addressed idea related issues such as application with the social computing skills, addressing and selecting functions to implement, etc. I've mainly worked on the writing part in the low-fi and high-fi prototype. I've voice recorded in the video and went through most of the report.
Making the overall idea suitable for the pandemic specific situation was one challenge. The other challenge was to utilize social computing skills on our idea. Functions like review and suggestions, keeping the writing simple as possible, profile and customizable avatar system were designed to meet these goals. Some of them did not work in the way we intended, some of them were not implemented due to time constraints, and some of them were redesigned due to problems found out during the deployment. For example, writing the routine was still not simple and intuitive enough for normal users to actively engage and express their idea. Customizable avatar system was not implemented due to time constraints, but was turned out to be necessary in the deployment.
We've managed to implement a great Hi-fi prototype with limited time and knowledge. I would like to thank Jisu and Jeongwoo for implementing great functions and hard contribution. Although we had a lot of functions that we wanted to implement, we managed to choose and focus on the essential ones, with regular meetings and agreement on the simple Firebase backend, which allowed us to complete the project in very efficient way.
I've learned that the hard works better than any other ideas. The hard work Jeongwoo has done in the review part made amazing output, considering it was Jeongwoo's first time with React. Although we had confusions regarding the topic during the project, confusions and collisions turned out to be necessary in the process of making better output. With various ideas thought out and chosen through, we could recognize those essential ideas that we had to implement, and was important in our project goal.
#### Myeongkyu Park
During the project, I have contributed to mainly visual aspects for presentations, prototypes, and the final website. For example, I prepared for fundamental design of low-fi prototype, which has been preserved until the final stage. Additionally, I have played a role as a programmer specifically to implement ‘search’ and ‘check my level’ functionality.
At the early stage of this term-long design project, our team was not evaluated well that much because of the reason that other teams also work on similar topics. Although our team really enjoyed the tasks, scoring low was the factor which hampered passion and progress the most. However, I and my teammates kept embracing feedbacks from the professor, TAs, and also peer students, and improving our project. When PlanH was finally selected for the excellent one by votes at the final presentation, we felt complimented more than any. I think this achievement was thanks to all team members’ eager participation to every detailed part and discussion during the whole project.
I have had more difficulty because this was my first time of web-based programming and all the tools we employed, but the overall progress of this project was very interesting. CS473 was the most well-fitting course in KAIST to me, which was the combination of designing and programming. As a designer, I have learned that arrangement of components which I was satisfied with can feel unfamiliar to someone else. As a programmer, learning new programming language (React, Java) and tools (AdobeXD, etc.) was very exciting.
#### Jeongwoo Park
I implemented the review part. Review is one of the important part in our project because it is where interaction between users mostly occurs so I focused on designing interaction aspects. Review part consists of comment, suggestion, rating submission/editing and reply from the routine writer. Users can post reviews and other users can see it and provide feedback by pressing like or dislike. Routine writer can pin nice or useful reviews to locate on top of the review list so that other users can see it. Reporting is also implemented to manage trolling. It provides user friendly functionality such as sorting by the rating, likes or filtering only comments or suggestions.
I think our team had outstanding teamwork during this project. No one was free-riding and everyone was eager to find jobs what they can do more. So from the perspective of contributions, it was hard working team and I believe there was no problem. The only part that did not worked out well was the project beginning. Even though we did our best, result was always lower than our expectations. This happened because there was differences in everyone's understanding, failed to create common ground.
To overcome this, we first had to build the common ground. We discussed more to build the concrete basis. Every time after we got the feedback from each milestone, we gathered up to improve it next time and tried to gather up many times as possible. Listening to others, discussing to check common ground frequently actually helped us to create better outputs.
I learned two things from this team project. First, I learned that discussing frequently really helps to keep project in orbit. Second, while implementing, I learned that there's lots of dependent functionalities which often needs to be adjusted with other team mates. So I learned that for team mates to understand my code easily, I should always keep code readability in mind. I will apply these in my future team projects.
For social computing, I learned that it is important for administrators to successfully guide initial activations as we saw from the case of “Stack Overflow”. Also user gathering is important but maintaining users motivated is even more important. I felt this while we are doing the deployment. As we came up with library of routines and to accumulate data, we need to gather users and keep them in this service longer. Which needs well organized initial guidance. For web based GUI implementation, I learned importance of intuitive UI. We had a problem of having functionalities or button designs that cannot be noticed at first sight. Users don't usually check manuals every time they use websites. I saw their behaviors, even future usages hugely biased by the design. Even if our services have good intentions and contents, it is no use if users cannot notice them. So UI should be appealing for users to keep them less tired finding how to do something.