PRE2020 4 Group7: Difference between revisions

From Control Systems Technology Group
Jump to navigation Jump to search
 
(82 intermediate revisions by 6 users not shown)
Line 33: Line 33:
For this Discord bot, there is a specific user group for which it is intentionally created. This group consists of students and teachers in general. The bot is created with the experience the group members have of online education at the Technical University of Eindhoven. This will be coupled with literature research to investigate what is needed for effective online education. The team hopes to create a Discord bot that is useful for most students and teachers.
For this Discord bot, there is a specific user group for which it is intentionally created. This group consists of students and teachers in general. The bot is created with the experience the group members have of online education at the Technical University of Eindhoven. This will be coupled with literature research to investigate what is needed for effective online education. The team hopes to create a Discord bot that is useful for most students and teachers.


The user’s needs of students and teachers are an important place to start thinking about what needs to be implemented into the Discord bot. This user group requires that the system is easy to use and creates multiple functionalities for interaction. Rehman et al. (2013) stated that according to lecturers and students, interactive aspects in lectures are very important for the understanding of the subject. Interaction is a positive factor for concentration and for rehearsing the information gained in the educational session. This information combined with the group members' experience of online education and the current limitations of Discord, gave a list of useful functionalities to implement into the Discord bot:
The user’s needs of students and teachers are an important place to start thinking about what needs to be implemented into the Discord bot. This user group requires that the system is easy to use and creates multiple functionalities for interaction. Rehman et al. (2013) stated that according to lecturers and students, interactive aspects in lectures are very important for the understanding of the subject. Interaction is a positive factor for concentration and for rehearsing the information gained in the educational session. This information combined with the group members' experience of online education and the current limitations of Discord, gave a list of useful functionalities to implement into the Discord bot which is visible in the functionality section.
* creating quizzes to test the students' knowledge;
 
* creating break-out rooms and dividing the students among these break-out rooms;
 
* calling a teacher to one of the break-out rooms;
 
* creating polls to quickly obtain the feedback of students;
 
* creating a break-timer for clarity in breaks;
 
* the ability for people to raise their hands;
 
* an easy way to share files with everyone;
 
* having one bot, that can split up into different channels;
 
* external bot control for ease of use for the teachers; and
 
* the ability to mute everyone except the main speaker.




Line 66: Line 46:
* a demo.
* a demo.


The final Discord bot is the final product that is delivered in this project and will become a real Discord bot available for use. While creating the Discord bot, the group will update a TU/e wiki page with information on the progress of the group and all information about the project. This wiki page will be updated weekly with the progress and information gained in that week and will be brought to a conclusion in the final week(s) of the project. To present the Discord bot to the public, a presentation is created which shows the whole project of the group. This will also include a demo that shows the use of the Discord bot in a simulated setting. Via this presentation and demo, it will be clear what the group did this project and what the final product is.  
The final Discord bot is the final product that is delivered in this project and will become a real Discord bot available for use. While creating the Discord bot, the group will update a TU/e wiki page with information on the progress of the group and all information about the project. This wiki page will be updated weekly with the progress and information gained in that week and will be brought to a conclusion in the final week(s) of the project. To present the Discord bot to the public, a presentation is created which shows the whole project of the group. This will also include a demo that shows the use of the Discord bot in a simulated setting. Via this presentation and demo, it will be clear what the group did this project and what the final product is.
 


= Setup =
= Setup =
Line 250: Line 229:




== Deliverables ==
== Functionalities==
A Discord Bot with the following functionalities:
The functionalities will be described using the MoSCoW method. This is a prioritization technique that helps with sorting requirements and functionalities in four different categories. “must have” functionalities which must be added to the final solution otherwise it will not function properly and not be a success. “should have” functionalities which should be added to the final solution if possible and have a high priority in the development process. “could have” functionalities which are desirable to have in the final solution but are not strictly necessary to implement so have a lower priority. “won’t have” functionalities which are currently not going to be implemented because of various reasons, but could be useful to consider in the future.
* Creating quizzes to test the students' knowledge;
 
* creating break-out rooms and dividing the students among these break-out rooms;
 
* calling a teacher to one of the break-out rooms;


* creating polls to quickly obtain the feedback of students;


* creating a break-timer for clarity in breaks;
Must haves:
* The discord bot must be able to run on multiple discord servers at the same time. This implies that the code behind the bot is placed on an active server that is always online and the data of different servers do not conflict with each other.


* the ability for people to raise their hands;


* an easy way to share files with everyone;
Should haves:
* The discord bot should give a speaker the ability to mute everyone in a voice channel except for the main speaker with a simple command or button press. This will make sure that no interruptions or surrounding sounds are played during the time that a speaker is talking. If necessary, the teacher can unmute certain students or teachers to give them the room to speak.
* The discord bot should give teachers the ability to create quizzes that will be sent to the students via a private message. The students will answer the quiz question via a reply message and the teacher will receive the answers and statistics about the answers. These results can be shared with the rest of the students and teachers. This can be used to test the knowledge of the students and help with understanding the information provided.
* The discord bot should give teachers the ability to create polls to quickly get information on the opinions or knowledge of the students. The difference with a quiz is that polls are answered in the general chat and visible for everyone. Answers that are sent in will directly be updated in the results. In polls, people can select multiple answers which is not possible in quizzes, where only one answer is possible. The polls can be used to get a quick overview of the groups’ opinions and will take less time to perform.
* The discord bot should give teachers the ability to split all the students into separate, new voice channels, so-called break-out rooms, in which students will be placed randomly. The teacher can decide how many break-out rooms are created and students will be evenly divided under the break-out rooms. When the teacher wants everyone back, he/she can close all the break-out rooms, this will put the students back in the main channel. These break-out rooms can be used during an educational activity, so students can discuss the information that was given or work together on a certain task.
* The discord bot should give students the possibility to call a teacher to a certain voice channel or break-out room. When a teacher is called to a certain voice channel, they will be put in a list that is only visible for teachers and the specific voice channel will be marked. In a specific text channel, a link will be found to the voice channel with a question, so the teacher does not have to search through all channels.  The teacher can see which voice channel was the first to ask for help and go to the voice channel to help. For all other teachers, it will now be visible that this voice channel is receiving help and can help someone else. A voice channel will be deleted from the list if it has been visited by a teacher.
* The discord bot should give everyone the ability to "raise their hands", meaning that they want to alert everyone that they want to say something. When someone raises their hand, they will be put in a list that is only visible by teachers. These teachers can then select the next person on the list to get their turn to say or do something. This person’s hand will directly be lowered and deleted from the list. Raising hands can be useful in conversations with many people to let the communication stay fluent.
* The discord bot should give teachers the ability to start a timer with a specific time and description. This timer will count down and send a message in the group to alert everyone when the timer is over. This can be used to mark how long a break will last, or when a quiz answer needs to be submitted.


* having one bot, that can split up into different channels;


* external bot control for ease of use for the teachers; and
Could haves:
* The discord bot could provide a platform and location where shared files will be located. This way the students and teachers can easily find the files that were shared during an educational activity.
* The discord bot could have the ability to be controlled by software that is separate from discord and has a stand-alone GUI. This software shall be able to control all possible actions which are usually only accessible by the use of commands in discord text channels. Using this external software, the discord bot will get an increase in ease of use and all functionalities of the bot are better visible.
* The discord bot could have the ability to enhance the number of people who can watch a shared screen and hear a speaker. In the current state of discord, only 50 people can be in a voice channel if someone is sharing their screen and/or have their camera on. When a student wants to join a voice channel that is already full, the bot will create a new voice channel and put the student in this voice channel. In this voice channel, the discord bot will live stream the shared screen and camera of the speaker in the main voice channel. The bot will also stream all the audio that is coming from this main channel. This can be used to have lectures or information sessions with a shared screen or camera and more than 50 people watching.
* The discord bot could have the ability to autonomously detect when toxic messages are being sent in one of the text channels of the server. The teachers will be notified about the message that is noted as toxic and they can decide if they want to take action against this message or user. This can decrease and spot the use of toxic language which is not wanted in an educational server.
* The discord bot could have the ability for teachers to create their quizzes before a lecture or educational activity starts. The teacher can just create a quiz before the lecture and send that quiz to the students with the use of a simple command. This makes it that teachers do not have to waste time during the educational activity to create the whole quiz from scratch.


* the ability to mute everyone except the main speaker.


Extra functionalities can be added to this list if time allows.
Won’t have:
* The discord bot won’t give teachers the ability to share their screen or camera on a stage channel. A stage channel is a newly added feature on discord that allows 1000 listeners to a specific group of speakers. Currently, it is not possible to share your screen or open your camera in a stage channel. However, the group sees massive potential in these new stage channels to run actual and full lectures with up to 1000 students. If stage channels get more functionalities, this bot should be able to work in stage channels effectively.


= USE assessment =
= USE assessment =
Line 280: Line 264:
As stated in the introduction, the user group for this project consists of teachers and students. At the moment that this project is running, the COVID-19 virus crisis is currently very active in the world. Due to COVID-19 social contact is limited to decrease the chances of the virus spreading even more. This resulted in a sudden change to online education and the use of online tools to host a range of educational activities. For the user group, it is optimal if the level of education online can stay on the same level as the level of education that was standard in an offline setting. This should be achieved with as much ease of use, so no confusion can form a bridge for understanding. Following the introduction, it might be that future education will be a hybrid of online and offline methods. When this is the case, it should be that the benefits of online education are enhanced and the problems decreased.
As stated in the introduction, the user group for this project consists of teachers and students. At the moment that this project is running, the COVID-19 virus crisis is currently very active in the world. Due to COVID-19 social contact is limited to decrease the chances of the virus spreading even more. This resulted in a sudden change to online education and the use of online tools to host a range of educational activities. For the user group, it is optimal if the level of education online can stay on the same level as the level of education that was standard in an offline setting. This should be achieved with as much ease of use, so no confusion can form a bridge for understanding. Following the introduction, it might be that future education will be a hybrid of online and offline methods. When this is the case, it should be that the benefits of online education are enhanced and the problems decreased.


[[File:table_with_problems.png|400px|thumb|Problems experienced by online instructors researched by Bakhmat et al. (2021)<ref name=sota01> Bakhmat, L., Babakina, O., & Belmaz, Y. (2021). Assessing online education during the COVID-19 pandemic: A survey of lecturers in Ukraine. Journal of Physics: Conference Series, 1840(1). https://doi.org/10.1088/1742-6596/1840/1/012050 </ref>]]
[[File:table_with_problems.png|400px|thumb|Figure 1: Problems experienced by online instructors researched by Bakhmat et al. (2021)<ref name=sota01> Bakhmat, L., Babakina, O., & Belmaz, Y. (2021). Assessing online education during the COVID-19 pandemic: A survey of lecturers in Ukraine. Journal of Physics: Conference Series, 1840(1). https://doi.org/10.1088/1742-6596/1840/1/012050 </ref>]]


The first image on the right shows the problems of online education according to online instructors with research by Bakhmat et al.(2021)<ref name=sota01> Bakhmat, L., Babakina, O., & Belmaz, Y. (2021). Assessing online education during the COVID-19 pandemic: A survey of lecturers in Ukraine. Journal of Physics: Conference Series, 1840(1). https://doi.org/10.1088/1742-6596/1840/1/012050 </ref>. Some of the problems cannot be helped with the use of software systems. For example, internet connection and computer competency cannot be fixed with software that the team is going to create. Only some problems can be remedied. Take a look at the fact that the quality of student work dropped together with stress and motivation. According to Rehman et al. (2013)<ref name=sota05> Rehman, R., Afzal, K., & Kamran, A. (2013). Interactive lectures: A perspective of students and lecturers. Journal of Postgraduate Medical Institute, 27(2), 152–156.</ref>, interactive aspects are important for understanding and interest of students in the information.  
The first image on the right shows the problems of online education according to online instructors with research by Bakhmat et al.(2021)<ref name=sota01> Bakhmat, L., Babakina, O., & Belmaz, Y. (2021). Assessing online education during the COVID-19 pandemic: A survey of lecturers in Ukraine. Journal of Physics: Conference Series, 1840(1). https://doi.org/10.1088/1742-6596/1840/1/012050 </ref>. Some of the problems cannot be helped with the use of software systems. For example, internet connection and computer competency cannot be fixed with software that the team is going to create. Only some problems can be remedied. Take a look at the fact that the quality of student work dropped together with stress and motivation. According to Rehman et al. (2013)<ref name=sota05> Rehman, R., Afzal, K., & Kamran, A. (2013). Interactive lectures: A perspective of students and lecturers. Journal of Postgraduate Medical Institute, 27(2), 152–156.</ref>, interactive aspects are important for understanding and interest of students in the information.  
An online platform can form easy interactive aspects like quizzes or polls about the information that will come up in the future or about the information out of the past. For teachers, it is important that making these quizzes and polls is convenient, such that they will not lose too much time doing this and can use the ones they made multiple times. For students, quizzes and polls must be user-friendly and they must be able to do them regularly to boost the student’s interest and understanding. This will result in taking in more information during educational activities, making time use more efficient and giving a higher chance of passing an exam.
An online platform can form easy interactive aspects like quizzes or polls about the information that will come up in the future or about the information out of the past. For teachers, it is important that making these quizzes and polls is convenient, such that they will not lose too much time doing this and can use the ones they made multiple times. For students, quizzes and polls must be user-friendly and they must be able to do them regularly to boost the student’s interest and understanding. This will result in taking in more information during educational activities, making time use more efficient and giving a higher chance of passing an exam.


[[File:table_with_benefits.png|400px|thumb|Benefits experienced by online instructors researched by Bakhmat et al. (2021)<ref name=sota01> Bakhmat, L., Babakina, O., & Belmaz, Y. (2021). Assessing online education during the COVID-19 pandemic: A survey of lecturers in Ukraine. Journal of Physics: Conference Series, 1840(1). https://doi.org/10.1088/1742-6596/1840/1/012050 </ref>]]
[[File:table_with_benefits.png|400px|thumb|Figure 2: Benefits experienced by online instructors researched by Bakhmat et al. (2021)<ref name=sota01> Bakhmat, L., Babakina, O., & Belmaz, Y. (2021). Assessing online education during the COVID-19 pandemic: A survey of lecturers in Ukraine. Journal of Physics: Conference Series, 1840(1). https://doi.org/10.1088/1742-6596/1840/1/012050 </ref>]]


The second image on the right shows the benefits of online education according to online instructors with research by Bakhmat et al.(2021). These benefits should be enhanced as much as possible to get the most out of the online aspects of education. Not all benefits can be enhanced by the use of software: they are mostly dependent on the teaching style of the teacher. Take for example the experience benefit of flexible hours or inviting experts. These are not software related, but nevertheless have advantages for online instructors in relation to their students.
The second image on the right shows the benefits of online education according to online instructors with research by Bakhmat et al.(2021). These benefits should be enhanced as much as possible to get the most out of the online aspects of education. Not all benefits can be enhanced by the use of software: they are mostly dependent on the teaching style of the teacher. Take for example the experience benefit of flexible hours or inviting experts. These are not software related, but nevertheless have advantages for online instructors in relation to their students.
Line 333: Line 317:
== Challenges ==
== Challenges ==
Unfortunately, there are some challenges to online education as well. Teachers should for example have certain technical skills to effectively teach in online learning environments <ref name=sota15>[6] Albrahim, F. A. (2020). Online teaching skills and competencies. Turkish Online Journal of Educational Technology-TOJET, 19(1), 9-20. </ref>. Other challenges are about the risks of cheating and plagiarism during online exams <ref name=sota10>[1] Fuller, P., & Yu, G. (2014). Lessons learned: online teaching adventures and misadventures. Journal of Social Sciences, 10(1), 33-38. </ref><ref name=sota14>[5] Gonzalez-Gonzalez, C. S., Infante-Moro, A., & Infante-Moro, J. C. (2020). Implementation of e-proctoring in online teaching: A study about motivational factors. Sustainability, 12(8), 3488. </ref> and the reduced motivation of students <ref name=sota23>[15] Nehme, M. (2010). E-learning and students' motivation. Legal Educ. Rev., 20, 223. </ref><ref name=sota29>[21] Abou El-Seoud, M., Taj-Eddin, I., Seddiek, N., El-Khouly, M., & Nosseir, A. (2014). E-learning and students' motivation: A research study on the effect of e-learning on higher education. International journal of emerging technologies in learning (iJET), 9(4), 20-26. </ref>. To make online meetings as effective as possible, online platforms such as Discord require a user-friendly design and should, by design, aid teachers in motivating their students.
Unfortunately, there are some challenges to online education as well. Teachers should for example have certain technical skills to effectively teach in online learning environments <ref name=sota15>[6] Albrahim, F. A. (2020). Online teaching skills and competencies. Turkish Online Journal of Educational Technology-TOJET, 19(1), 9-20. </ref>. Other challenges are about the risks of cheating and plagiarism during online exams <ref name=sota10>[1] Fuller, P., & Yu, G. (2014). Lessons learned: online teaching adventures and misadventures. Journal of Social Sciences, 10(1), 33-38. </ref><ref name=sota14>[5] Gonzalez-Gonzalez, C. S., Infante-Moro, A., & Infante-Moro, J. C. (2020). Implementation of e-proctoring in online teaching: A study about motivational factors. Sustainability, 12(8), 3488. </ref> and the reduced motivation of students <ref name=sota23>[15] Nehme, M. (2010). E-learning and students' motivation. Legal Educ. Rev., 20, 223. </ref><ref name=sota29>[21] Abou El-Seoud, M., Taj-Eddin, I., Seddiek, N., El-Khouly, M., & Nosseir, A. (2014). E-learning and students' motivation: A research study on the effect of e-learning on higher education. International journal of emerging technologies in learning (iJET), 9(4), 20-26. </ref>. To make online meetings as effective as possible, online platforms such as Discord require a user-friendly design and should, by design, aid teachers in motivating their students.


== Approaches ==
== Approaches ==
Line 342: Line 325:
Another aid that can be used during online communication is automatically taking minutes. Normally in meetings there is always one person taking notes, the minute-taker <ref name=sota19>[10] Gutmann, J. (2016). Taking minutes of meetings. Kogan Page Publishers. </ref>. This person creates a “summary” of the meeting for people who could not attend or people who want to read it once more afterwards. It takes practice before a person is capable of extracting the most important information from a conversation to add to a summary. Besides that this person must multitask as he is also participating in the meeting. This problem can be resolved using a tool not just for transcribing, but one that accurately takes minutes <ref name=sota20>[11] Liyanagunawardena, T. R. (2019). Automatic transcription software: good enough for accessibility? A case study from built environment education. In European Distance and E-Learning Network (EDEN) Conference Proceedings (No. 1, pp. 388-396). European Distance and E-Learning Network. </ref><ref name=sota21>[12] McGregor, M., & Tang, J. C. (2017, February). More to meetings: challenges in using speech-based technology to support meetings. In Proceedings of the 2017 ACM conference on computer supported cooperative work and social computing (pp. 2208-2220). </ref>.
Another aid that can be used during online communication is automatically taking minutes. Normally in meetings there is always one person taking notes, the minute-taker <ref name=sota19>[10] Gutmann, J. (2016). Taking minutes of meetings. Kogan Page Publishers. </ref>. This person creates a “summary” of the meeting for people who could not attend or people who want to read it once more afterwards. It takes practice before a person is capable of extracting the most important information from a conversation to add to a summary. Besides that this person must multitask as he is also participating in the meeting. This problem can be resolved using a tool not just for transcribing, but one that accurately takes minutes <ref name=sota20>[11] Liyanagunawardena, T. R. (2019). Automatic transcription software: good enough for accessibility? A case study from built environment education. In European Distance and E-Learning Network (EDEN) Conference Proceedings (No. 1, pp. 388-396). European Distance and E-Learning Network. </ref><ref name=sota21>[12] McGregor, M., & Tang, J. C. (2017, February). More to meetings: challenges in using speech-based technology to support meetings. In Proceedings of the 2017 ACM conference on computer supported cooperative work and social computing (pp. 2208-2220). </ref>.


One last approach for online communication focused on online as well as face-to-face learning. This way of teaching is called the hybrid educational model <ref name=sota26>[18] Villegas-Ch, W., Palacios-Pacheco, X., Román-Cañizares, M., & Luján-Mora, S. (2021). Analysis of Educational Data in the Current State of University Learning for the Transition to a Hybrid Education Model. </ref>. Even though online education has many advantages, direct interaction with the teacher creates personal ties that positively affect motivation of students. This results in students scoring higher grades. If all education and meetings were to be moved online, a means must be created to simulate direct contact between pupils and instructors as much as possible.  
One last approach for online communication focused on online as well as face-to-face learning. This way of teaching is called the hybrid educational model <ref name=sota26>[18] Villegas-Ch, W., Palacios-Pacheco, X., Román-Cañizares, M., & Luján-Mora, S. (2021). Analysis of Educational Data in the Current State of University Learning for the Transition to a Hybrid Education Model. </ref>. Even though online education has many advantages, direct interaction with the teacher creates personal ties that positively affect motivation of students. This results in students scoring higher grades. If all education and meetings were to be moved online, a means must be created to simulate direct contact between pupils and instructors as much as possible.


== Our solution ==
== Our solution ==
Line 351: Line 334:
Nonetheless, people should keep in mind that this is just a tool. The roles that instructors have in online teaching, for example, are even more important <ref name=sota13>[4] Martin, F., Budhrani, K., Kumar, S., & Ritzhaupt, A. (2019). Award-winning faculty online teaching practices: Roles and competencies. Online Learning, 23(1), 184-205. </ref>. This is mainly due to the fact that they are best capable of motivating their students <ref name=sota22>[13] Dörnyei, Z. (2018). Motivating students and teachers. The TESOL encyclopedia of English language teaching, 1-6. </ref>.  
Nonetheless, people should keep in mind that this is just a tool. The roles that instructors have in online teaching, for example, are even more important <ref name=sota13>[4] Martin, F., Budhrani, K., Kumar, S., & Ritzhaupt, A. (2019). Award-winning faculty online teaching practices: Roles and competencies. Online Learning, 23(1), 184-205. </ref>. This is mainly due to the fact that they are best capable of motivating their students <ref name=sota22>[13] Dörnyei, Z. (2018). Motivating students and teachers. The TESOL encyclopedia of English language teaching, 1-6. </ref>.  


The Discord bot can still be used to make online communication interesting. It offers many possibilities to make the class or meeting interactive, thus gaining the attention of the listeners better <ref name=sota27>[19] Ramadhan, A. (2021). Student’s Response Toward Utilizing Discord Application as an Online Learning Media in Learning Speaking at Senior High School. ISLLAC: Journal of Intensive Studies on Language, Literature, Art, and Culture, 5(1), 42-47. </ref><ref name=sota28>[20] Wulanjani, A. N. (2018, July). Discord Application: Turning a Voice Chat Application for Gamers into a Virtual Listening Class. In English Language and Literature International Conference (ELLiC) Proceedings (Vol. 2, pp. 115-119). </ref>.  
The Discord bot can still be used to make online communication interesting. It offers many possibilities to make the class or meeting interactive, thus gaining the attention of the listeners better <ref name=sota27>[19] Ramadhan, A. (2021). Student’s Response Toward Utilizing Discord Application as an Online Learning Media in Learning Speaking at Senior High School. ISLLAC: Journal of Intensive Studies on Language, Literature, Art, and Culture, 5(1), 42-47. </ref><ref name=sota28>[20] Wulanjani, A. N. (2018, July). Discord Application: Turning a Voice Chat Application for Gamers into a Virtual Listening Class. In English Language and Literature International Conference (ELLiC) Proceedings (Vol. 2, pp. 115-119). </ref>.
 
= Survey results =
The link to our survey:  https://forms.office.com/r/vR8z8uN8B3
 
== Quantitative analysis ==
[[File:functionalitiesRanked.png|400px|thumb|Figure 3: Ranking of functionalities by teachers and students]]
[[File:functionalitiesPlatforms.png|400px|thumb|Figure 4: Functionalities sorted by their importance, according to 40 students and 5 teachers. Additionally, it is indicated with colours whether or not these functionalities are supported by Teams, Zoom, Big Blue Button and Discord. Lastly, the score on the bottom is a sum of the coefficients of the green squares and 0.5 times the coefficients of the yellow squares.]]
[[File:discordBotImprovements.png|400px|thumb|Figure 5: An overview of the functions of Discord with professor Heinz, where the functionalities that they both don't (fully) have are left out.]]
In our survey, 40 students and 5 teaching staff members gave their opinions about the functionalities of different online platforms that can be used for online learning. Respondents were asked which platforms they have used frequently and which platform they like the best.
 
Platforms and the percentage of people that frequently use them:
 
{| class="wikitable" style="border-style: solid; border-width: 1px; vertical-align: bottom" cellpadding="5"
!style="text-align:left;"| Rank
!style="text-align:left;"| Platform
!style="text-align:left;"| Used by (%)
 
 
|-
| 1 || Microsoft Teams|| 96
|-
| 2 || Big Blue Button|| 60
|-
| 3 || Discord|| 51
|-
| 4 || Zoom|| 24
|-
| 5 || Other|| 4
|-
|}
 
 
Platforms ranked on how preferred they are:
 
{| class="wikitable" style="border-style: solid; border-width: 1px; vertical-align: bottom" cellpadding="5"
!style="text-align:left;"| Rank
!style="text-align:left;"| Platform
!style="text-align:left;"| Votes
 
 
|-
| 1 || Microsoft Teams|| 33
|-
| 2 || Discord|| 4
|-
| 2 || Big Blue Button|| 4
|-
| 4 || Zoom || 3
|-
| 5 || Other|| 1
|-
|}
 
Almost all of our respondents (96%) indicated that they frequently use Microsoft Teams, followed by Big Blue Button (60%) and Discord (51%). When only allowed to select 1 platform as their most preferred one, respondents almost unanimously chose for Microsoft Teams.
Moreover, we asked our respondents to indicate the educational value of a list of functionalities. In figure 3, we differentiated between students and teachers. For clarity, we highlighted the functions that occurred in the top 5 with a darker shade if they occurred in both top 5 lists, and a lighter shade if they occurred in only 1.
 
The top 5 functionalities are very similar, with the options for screen sharing, chatting, recording and raising hands occurring in both lists. Interestingly, the option to create break-out rooms is viewed as a must-have by teachers, whereas students rated this functionality quite low, which got it placed 15th.
 
In figure 4, all 19 functionalities are listed and sorted by the mean ranking of our 45 respondents. Moreover, it is indicated with colours whether or not these functionalities are supported in Microsoft Teams, Zoom, Big Blue Button and Discord. The scores on the bottom are calculated by adding up the mean rankings of the functionalities that are supported by the platform. For the yellow squares, we halved the ranking of the functionality in the summation.
 
The scores on the bottom are only based on the amount and type of functionality that the platform supports. The scores are therefore not overall scores, as they do not reflect perceptions on the interface or ease of use of the platform. For example, the scores of Zoom and Discord greatly differ, but this is not the case in figure 2, where Discord is more often chosen as the most preferred platform than Zoom.
 
Besides a clear winner, we also have found a clear loser: Discord. Apart from the two most important functionalities, screen sharing and chatting, Discord does not (fully) support many other functionalities. This can however be explained by the fact that Discord initially started as a gaming platform. During the COVID-19 pandemic, the platform rapidly changed, adding more and more functionalities for educational purposes. At the moment of writing, Discord is still adding such functions, such as a stage function, where 1 speaker can take the floor and have an audience consisting of up to 1000 people <ref name=quant1>Discord. (2021, May 20). Stage Channels FAQ. Retrieved from Discord: https://support.discord.com/hc/nl/articles/1500005513722-Stage-Channels-FAQ#h_01F22AKG1WM0JYC69N1JW22JBZ
 
</ref>. Up until now, Discord is mostly suitable for small sized educational settings, such as tutor meetings and instruction sessions. However, taking into account Discord’s recent shift in focus, it is to be expected that the platform will soon be suitable for lectures as well. Based on our survey, Discord might need to add a couple of more functionalities to win it from other platforms.
 
That is where professor Heinz comes into play. In figure 5, all functionalities that Discord in combination with our Discord bot has, are listed. We successfully implemented 7 functions that Discord did not yet (fully) support. Moreover, in contrary to ordinary Discord bots, we made all of our functions accessible by buttons, by means of an external GUI on a web page. According to the results of our survey, this is the sixth most important functionality, with a mean rating of 3.89. When we re-calculate the score from figure 5, we end up with an improved score of 42.71, which is almost double the original score. Although this is still lower than Microsoft Teams’ score, we believe that the design, accessibility and ease of use of Discord makes it a very attractive platform, maybe even better than Microsoft Teams when it is used in combination with professor Heinz. As Discord further develops itself into an online platform for educational purposes, aided by the functionalities and ease of use of professor Heinz, it may very well be the new Microsoft Teams.
 
== Qualitative analysis ==
[[File:teamsQualitative.png|400px|thumb|Figure 6: Schematic overview of what people like about Microsoft Teams.]]
[[File:discordQualitative.png|400px|thumb|Figure 7: Schematic overview of what people like about Discord.]]
Besides a quantitative analysis, we have also performed a qualitative analysis on the results of the open questions of our survey. We asked our respondents which functionalities made their preferred platform the best. From this, we created a clear overview in which we grouped their answers. We only got enough feedback to do this for Microsoft Teams and Discord.
 
The clear design of Microsoft Teams is what makes it accessible and easy to use. Moreover, respondents indicated that they like the interconnectivity between Microsoft programs. The fact that Teams supports many different functionalities, including the ones that were mentioned the most (file sharing and screen sharing), is also seen as a benefit. Respondents also indicated that teams is especially suitable for large groups.
 
Respondents indicated that Discord allows for easy information retrieval. This is mostly due to the ability of Discord to separate different information flows by means of different voice and text channels. This makes it simpler to find the information you are looking for. Respondents also indicated that meetings are always in the same place, which makes it easy to find them back. This is not always the case for Teams meetings. Furthermore, participants praised Discord for its good audio quality and its customizability through Discord bots.
 
We also asked our participants which functionality their preferred platform is still missing. According to our respondents, Microsoft Teams could benefit from a better interaction between teachers and students. They propose for example education-specific features like quizzes and polls. Some other functionalities that were mentioned were live pausing or adjusting the volume of specific people in the call (a functionality of Discord). It is also worth mentioning that half of the respondents left this question blank, which may indicate that they are not missing any functionality on Teams.
People that prefer Discord as an educational platform would like to see an improved file sharing system, where all files are in one place, and the option to record calls.
 
== Points of action ==
Based on the results of this survey, Discord would benefit a lot from the added functions that our Discord bot offers. This survey produced two new points of action for our group. 1) We should look for a way for our Discord bot to record calls and 2) We should look for a way to improve Discord’s file sharing system with our Discord bot. Both of these functionalities score high in the ranking, so we expect them to be very beneficial for the platform when implemented.
 
= Decision argumentation =
 
== API ==
Discord’s API can be used to make bots for Discord. The API is based on a HTTPS/REST layer for the general functions and a WebSocket connection for real-time updates from external sources. Next to the main API, there are various community made API’s which make the bridge from idea to feature much easier to implement. Namely, it is not required to send HTTP requests to the server making the overall architecture much less complex. The two commonly used API’s in the community are discord.js (node.js module), and Discord.Net (.NET Library). Though, since these are unofficial and thus not directly supported by Discord, both API’s do not include all functions given by the Discord API. We realized that a transition between the two API’s would mean a rework of all the progress, so a thorough comparison is very crucial at the start.
 
Regarding the basic features such as channel, role, and server management, both API’s support all the functionalities provided. The only functionality that Discord.Net seems to lack is in the voice channels. As of version 2.4.0, Discord.Net does not support features to receive audio from voice channels, whilst discord.js does. At this time we were unsure if we would use this feature, but we found no downsides to choose discord.js, which is why we ended up choosing this API. If there seems to be a feature missing from this API, there is always a possibility to use Discord’s API directly. The HTTP requests can be sent in JavaScript using an HTTP client called Axios, allowing both API’s be used simultaneously. Nearing the end of the project, Discord’s API received an update with the addition of interactive buttons in messages. The unofficial API’s were not updated yet to support these features, and such we ended up using Discord’s API to still be able to test the features.
 
== moderation system ==
The group decided to add a moderation system to detect toxic messages to the discord bot because toxic messages do not belong in an educational environment. For teachers in large educational activities, it can be hard to keep track of all the incoming messages and check if some are inappropriate. This moderations system will send the teacher a message if a message is seen as inappropriate according to seven different labels: identity attack, insult, obscene, severe toxicity, sexually explicit, threat, and toxicity. The teacher can then just click on the link to that message and decide what to do with the message.
 
For the moderation system, the group chose to use a model created by tensorflow.js. This is a text toxicity detection model which is trained on the Kaggle dataset. This is a dataset containing around 300.000 Wikipedia comments and if appropriate one of the seven labels. The Kaggle dataset is created by Jigsaw and Google in a toxic comment classification challenge three years ago where people could try to create a text toxicity detection model to win a prize. The tensorflow.js model is not perfect but it can do what it is supposed to do. The group wanted to use the perspective API created by Google, which is a professionally created machine-learning algorithm to detect toxic comments and is also used by companies like “The Wall Street Journal”. However, perspective API is not free to use so the group chose the tensorflow.js text toxicity detection while it was created with the help of the perspective API team. If the discord bot would be professionally used, then upgrading to perspective API is a definite improvement to the system.
 
== timer ==
The group decided to add a timer to the discord bot because in educational activities it is not uncommon to have students do some tasks, for instance, a quiz or a break, for a specific amount of time. With a timer, the teacher and the students know how much time is left and when the time is over.
 
For the timer function, the group chose to use the ms package to get the input from a discord message and easytimer.js to handle the timer itself. Ms was used because this package can change numbers with their unit into milliseconds directly, for instance, 1m is converted to 60000ms which is equal to 1 minute. This input is then given to easytimer.js to start a countdown timer. Easytimer.js is chosen because this is a simple but accurate timer package with easy implementation into JavaScript.
 
== commercial opportunities with the bot ==
If this discord bot is done and functions properly, it might be interesting to look at commercial opportunities with this end product. There are a few ways to earn money with a discord bot. It is not standard for discord bots to be created to earn money with, usually, discord bots are created for the general public to use.
The first option is that the discord bot has a separate feature that allows people to directly donate money to the makers of the bot. This could make a lot of money if people donate or no one donates money and the bot owner does not get anything.
A second option that a discord bot development team can be hired by a company to upkeep, improve and use the discord bot. This way the development team of the bot will constantly get money to make sure that the discord bot is always online and working to the best of its abilities. This also includes adding features that might be wanted, or update the bot changes are made to discord itself.
A third option is adding advertisements in the bot which randomly pop up in a discord server. Companies can pay the development team to make advertisements pop up in discord servers where the discord bot is active. This will give a new platform for companies to place advertisements but might decrease user satisfaction due to people generally not liking advertisements.
A fourth option have people pay before they can add the discord bot to a server but afterward, they can use the discord bot freely.
Currently, the discord bot will have none of these features and will only be created to show the possibilities of discord bots and educational platforms. If companies show interest in the discord bot in the end, then the group will have to discuss with this company what the options are in terms of financing.
 
== stage channels ==
The group decided to not do anything with stage channels because they are at this moment not useful in an education platform. Stage channels are voice channels where only specific people are allowed to speak and there can be up to 1000 listeners. This is way more than the 50 people that can be in a standard video call. However, it is at this moment not possible to share your screen or activate your webcam in a stage channel. This is necessary for a lecture so at this moment stage channels are not helpful in an educational activity. The group does see potential in the new discord feature and expects discord to add camera and screen share abilities to stage channels. When this happens, it might be interesting to see if the discord bot can get new features that could be useful in stage channel lectures.
 
= Process updates =
In this section, the group will put information on what the group worked on during the weeks. This will include information on what failed and what was successful. This section can be used as a guide through the approach of this group to create an educational discord bot.
 
== week 1 ==
Week 1 consisted of brainstorming for a good and viable idea which the group could use for the rest of the project. The group had multiple ideas but in the end, chose to go with creating an educational discord bot. The group divided tasks on writing the introduction and state-of-the-art section, and for creating planning. One person was put on doing research on creating a discord bot so the group could start on the right coding platform in the next week.
 
In this week, all the setups were made to be ready to perform as a team for the whole course; this included creating a shared google drive for documents and a timesheet, a discord server for meetings and group work, a Trello board for planning purposes, and a GitHub for working together on code.
 
== week 2 ==
Week 2 consisted of everyone getting used to creating bots using javascript with discord.js. Everyone gathered information on creating discord bots and created their own bot. In the second part of the week, every group member chose one functionality to do research and work on. One group member also focused on putting the text from the shared google drive on the TU/e wiki. This lead to the team creating a good starting wiki and working on 5 functionalities for the discord bot: starting a timer, making break-out rooms, making quizzes, calling teachers to a break-out room, and raising hands.
 
== week 3 ==
Week 3 consisted of the first versions of certain functionalities. The timer functionality was able to create a countdown timer. The quiz functionality was able to ask questions in a private message to students but not receive answers. The mute functionality was able to mute everyone except the person who used the command. The calling teacher functionality was able to create private voice channels for students to ask for the help of teachers. The raising hands functionality was able to let people raise their hands with the use of commands, put these in a list, and let the teachers use them. The group started improving these functionalities further and started working on creating the break-out room functionality. In this week, this functionality was already able to create break-out rooms and place students into them.
 
In this week, the group had their first meeting with their supervisor and he told the group useful advice. One of the points which was spoken about with the supervisor was creating a survey to get some insight in what actual users would like in an educational platform. The group directly created a survey and had it ready to be sent to students and teachers.
 
Survey link: https://forms.office.com/r/vR8z8uN8B3
 
== week 4 ==
This week started with a meeting with our supervisor, who told us that the functionalities should be better typed out so no one can understand them differently than how they are meant. The group also needed to add information on why certain decisions were made, to help other people who would like to continue on the same path as this research. The feedback on the questionnaire was that it was good and he noted some improvements to make the survey better. After the meeting, all the group members used their own networks to spread the questionnaire to students. Teachers were reached by sending emails with the question of filling in a small questionnaire to improve discord as a platform for educational purposes. The hope is that teachers and students find the research topic intriguing and are willing to spend some time filling in the questionnaire.
 
The rest of the week, work was done in researching and improving functionalities.
The research was done on the topic of an autonomous system to implement in the discord bot, this resulted in the decision to add an autonomous toxicity detection system. This system would flag toxic chat messages so teachers can decide if they should take action with these messages. This research resulted in the decision to either fully make a new moderation system or create an already created moderations system, which will be put as a question to the supervisor. Research was also done on external software connected to the discord bot to control the functionalities. This research made it clear that it is possible to do this and a small external system was set up that could send messages in a discord server.
 
In terms of improving, the quiz functionality made big improvements and it resulted in the fact that private answers of the students will be sent back to the teacher. The teacher can then place the results in the chat so everyone can see the results. These results are accompanied by a bar chart to make it easy to ready for everyone. The asking for the help of a teacher functionality was improved by adding groups to the system, so multiple students can join a question channel if they have the same question. Making it that the teacher does not have to answer the same question multiple times. Furthermore, the group worked on putting the bot on a server that is always running. This is the first step in making sure that the bot will always be usable and can be used by everyone who wants to use it.
 
== week 5 ==
Like the previous weeks, this week started with a meeting with our supervisor. He told us that it is important to add more information to the wiki about everything we are doing, why we are doing it, and especially why it is needed. Information that is needed to be on the wiki: what do all education platforms already have, how do we improve on discord and other platforms, what results came out of the survey and why did we make all our decisions. The supervisor also made some interesting comments about challenging ourselves and trying to get the most out of our application.
 
For this week, the group analyzed the survey and created interesting plots and tables on which information can be gathered about functionalities in educational platforms. The survey analysis also provided interesting information on how much discord is improved as an educational system with the inclusion of our bot. All of the information has not yet been discussed in a meeting this week, so what actions will follow after the new information will be discussed in the next week.
 
Next to working with the survey, the group also worked on improving the discord bot itself. This week the group added a chat moderation system that alerts the teacher if a toxic message has been send and the external application to control the discord bot became functioning. This external application cannot control all actions of the bot and is still in development at this stage. The group also worked on putting all the separate discord bot features in one bot and putting this bot on an active server. This should be done by next week making the bot fully active and usable. Next week, there will also be put some extra focus on adding more information and argumentation to the wiki. This was postponed until next week because everyone was still in the middle of coding their features. From next week forward everyone will start adding argumentation about why their created functionality is created in that way it is.
 
== week 6 ==
This week, the focus was put on improving the backend structure of the discord bot. A lot of work and research was done on the topic of putting the discord bot on an always active server which is suited to have te bot running on multiple discord servers at the same time. It was important for the server to be able to work with all our functionalities and the biggest struggle the group had this week was that slash commands should be able to work. Eventually, the group found a website that lets people run their code on a free server and to make this fully possible with the discord bot it was needed to create a database with MongoDB to store server-specific information.
 
The group further worked on adding information to the wiki about the choices made during the project, and some work was put into improving/making features. A new feature currently under development is a system that puts all send links in location and all send files in one location, so they are easy to find. There is also still a lot of work put into improving the separate GUI to control the discord bot. This GUI is currently able to select a text channel where the command needs to be send to and is able to activate a lot of the commands currently possible in the bot. In the end, all features and commands will be accessible with use of the GUI.
 
During the meeting with our supervisor this week, we provided him with an update on where we are currently at with the project. The supervisor told us that progress sounds good and said that we should seek as much challenge as we can to create the best product possible.


= Time tables =
= Time tables =
Line 364: Line 497:


|-
|-
| Benji van den Brand || 1328255 || 2 || Meeting(3.5h)  
| Benji van den Brand || 1328255 || 7.5 || Meeting(3.5h), research (1h), research Discord bot possibilities in Python (3h)
|-
|-
| Delorean Canlon || 1225364 || 9 || Meeting(3.5h), create planning (0.5h), State of the Art (5h)
| Delorean Canlon || 1225364 || 9 || Meeting(3.5h), create planning (0.5h), State of the Art (5h)
|-
|-
| Nout Prins || 0917546 || 7  || Meeting(3.5h), create planning (2.5h), research(1h)
| Nout Prins || 0917546 || 7  || Meeting(3.5h), create planning (2.5h), research(1h),
|-  
|-  
| Wouter Tulp || 1325833 || 10 || Meeting(3.5h), research(3h), planning(0.5h), wiki(0.5h), writing(2.5h)
| Wouter Tulp || 1325833 || 10 || Meeting(3.5h), research(3h), planning(0.5h), wiki(0.5h), writing(2.5h)
Line 385: Line 518:


|-
|-
| Benji van den Brand || 1328255 || 2 || Meeting(3h)
| Benji van den Brand || 1328255 || 6 || Meeting(3h), editing wiki (1.5h), rewrite Discord bot with JavaScript (1.5h)
|-
|-
| Delorean Canlon || 1225364 || 14.5 || Meeting (3h), research of Discord bot with JavaScript (3.5h), coding bot (4h),
| Delorean Canlon || 1225364 || 14.5 || Meeting (3h), research of Discord bot with JavaScript (3.5h), coding bot (4h),
Line 407: Line 540:


|-
|-
| Benji van den Brand || 1328255 ||  ||  
| Benji van den Brand || 1328255 || 14 || Meeting (2.5h), implement features for the Discord bot (11.5h)
|-
| Delorean Canlon || 1225364 || 10.75 || Meeting (2.75h), research of Discord bot with JavaScript (1h), coding bot (4h),
creating survey (3h)
|-
| Nout Prins || 0917546 || 7h || Meeting (1.25h), research to backend and database (2h), Implementing,
|-
| Wouter Tulp || 1325833 || 10.5 || Meeting (4h), Making survey (1h), coding bot (4h), Improving Wiki(1.5h)
|-
| Rens Vogels || 1378384 || 8.5 || Meeting (3h), coding bot (5.5h)
|-
|}
 
== Week 4 ==
{| class="wikitable" style="border-style: solid; border-width: 1px; vertical-align: bottom" cellpadding="5"
!style="text-align:left;"| Name
!style="text-align:left;"| Student ID
!style="text-align:left;"| Hours worked
!style="text-align:left;"| <br> Tasks done
 
 
|-
| Benji van den Brand || 1328255 || 1.25 || Meetings(1.25h)
|-
| Delorean Canlon || 1225364 || 13.25 || Meetings(2.25h), research for web interface (8.5h), coding bot (2.5h)
|-
| Nout Prins || 0917546 || 13 || Meetings(2.5h), Research for backend, different data base options etc(4h), Debugging code(3h), Writing code(3.5h)
|-
| Wouter Tulp || 1325833 || 10.25 || Meetings(2.25h), Research(3h), Writing and editing the wiki(3h), Survey(2h)
|-
| Rens Vogels || 1378384 || 11.5 || Meetings(2.5h), coding bot(9h)
|-
|}
 
== Week 5 ==
{| class="wikitable" style="border-style: solid; border-width: 1px; vertical-align: bottom" cellpadding="5"
!style="text-align:left;"| Name
!style="text-align:left;"| Student ID
!style="text-align:left;"| Hours worked
!style="text-align:left;"| <br> Tasks done
 
 
|-
| Benji van den Brand || 1328255 || 5.5h || Meetings (2h), Coding bot (3.5h)
|-
| Delorean Canlon || 1225364 ||  ||  
|-
| Nout Prins || 0917546 ||  ||
|-
| Wouter Tulp || 1325833 || 9.5h || Meetings (2h), Coding bot (4.5h), Research (2.5h), Wiki updates (0.5h)
|-
| Rens Vogels || 1378384 || 18h || Meetings (2h), coding bot (6h), survey analysis (6h), update Wiki (4h)
|-
|}
 
== Week 6 ==
{| class="wikitable" style="border-style: solid; border-width: 1px; vertical-align: bottom" cellpadding="5"
!style="text-align:left;"| Name
!style="text-align:left;"| Student ID
!style="text-align:left;"| Hours worked
!style="text-align:left;"| <br> Tasks done
 
 
|-
| Benji van den Brand || 1328255 || 11.5h || Meetings (2.5h), research (1h),  editing wiki (0.5h), coding bot (7.5h)
|-
|-
| Delorean Canlon || 1225364 || 7.75 || Meeting (1.25h), research of Discord bot with JavaScript (1h), coding bot (4h),
| Delorean Canlon || 1225364 || ||  
creating survey (1.5h)
|-
|-
| Nout Prins || 0917546 ||   ||  
| Nout Prins || 0917546 || ||  
|-  
|-  
| Wouter Tulp || 1325833 || ||  
| Wouter Tulp || 1325833 || 8.5h || Meetings (2.5h), coding bot (3.5h), research (1.5h), editing wiki(1h)
|-
|-
| Rens Vogels || 1378384 || ||  
| Rens Vogels || 1378384 || 7h || Meetings (3.5h), coding bot (3.5h)
|-
|-
|}
|}

Latest revision as of 02:32, 31 May 2021

Group members

Name Student ID
Benji van den Brand 1328255
Delorean Canlon 1225364
Nout Prins 0917546
Wouter Tulp 1325833
Rens Vogels 1378384

Introduction

Due to the COVID-19 crisis, a lot of the current education was forced to be given online. This evolution in education gave views into the world of online communication and its possibilities. These new views lead to speculation about the future of learning and about which parts of education could be moved to an online environment. Online or offline events, meetings, and lectures have their pros and cons, so it is logical that discussions are held about either offline or online activities. Some predictions go towards a hybrid form of education in the future, which features both online and offline aspects (Villegas-Ch, 2021)[1]. This would mean that online education would remain a big part of the education in the future, therefore improvements in online education will be useful for now and the future.

Many different platforms can be used for online education and every platform differs in their way of usages and strengths. One example of a platform is Discord, which has 140 million monthly active users (Curry, 2021)[2] and is a known platform for teenagers and young adults because of its use for gaming. However, Discord use is not limited to gaming and it is a platform with potential for other forms of online communication such as business meetings and online learning. Discord is an effective and practical application that can also be run on a phone if needed (Ramadhan, 2021)[3]. According to research by Wulanjani (2018)[4], most students gave positive responses and feedback towards Discord for a virtual listening class.

In this project, this research group will try to improve the application of Discord by adding an educational bot. Discord allows the addition of custom programmed bots which can have a lot of functionalities. Bots can make certain actions that usually take a lot of time or are impossible, very easy. A Discord bot can therefore be created to help teachers with certain tasks in online education to make it easier and more effective. This creates the objective for this course, creating a Discord bot with a multitude of useful functionalities to improve the educational use of Discord.

For this Discord bot, there is a specific user group for which it is intentionally created. This group consists of students and teachers in general. The bot is created with the experience the group members have of online education at the Technical University of Eindhoven. This will be coupled with literature research to investigate what is needed for effective online education. The team hopes to create a Discord bot that is useful for most students and teachers.

The user’s needs of students and teachers are an important place to start thinking about what needs to be implemented into the Discord bot. This user group requires that the system is easy to use and creates multiple functionalities for interaction. Rehman et al. (2013) stated that according to lecturers and students, interactive aspects in lectures are very important for the understanding of the subject. Interaction is a positive factor for concentration and for rehearsing the information gained in the educational session. This information combined with the group members' experience of online education and the current limitations of Discord, gave a list of useful functionalities to implement into the Discord bot which is visible in the functionality section.


At the end of the project, the group will have four deliverables:

  • the final Discord bot;
  • a TU/e wiki page;
  • a presentation; and
  • a demo.

The final Discord bot is the final product that is delivered in this project and will become a real Discord bot available for use. While creating the Discord bot, the group will update a TU/e wiki page with information on the progress of the group and all information about the project. This wiki page will be updated weekly with the progress and information gained in that week and will be brought to a conclusion in the final week(s) of the project. To present the Discord bot to the public, a presentation is created which shows the whole project of the group. This will also include a demo that shows the use of the Discord bot in a simulated setting. Via this presentation and demo, it will be clear what the group did this project and what the final product is.

Setup

Approach

During the project the Scrum framework will be used. Scrum is a technique used in projects for small groups. Scrum meetings will be held twice a week. To keep track of the progress that has been made, a Trello board will be created. This board is updated weekly.

Scrum is about starting a project by doing it. It is not exactly known what the deliverables are at the start of the project. That is why a list of implementations has been created that the team strives for. The team will start working on the listed features and find ways to implement these features along the way.

There will be four sprints, with every sprint lasting two weeks. The sprints consist of these stages:

1. research and planning;

2. implementation stage;

3. implementation stage 2; and

4. finalising deliverables.

After every sprint, the sprint is reviewed and notes are taken for improvements during future sprints. In this way any difficulties are likely to be resolved and the project can finish smoothly.

Weekly tasks

When What Who
Week 1 Brainstorming & planning All
26/4 Week 2 Start sprint 1. Finish SotA Finish USE analysis research Discord bots. First planning finished. SotA (Rens, Delorean) Discord bot research (Benji) USE(Wouter, Nout) Planning(Nout)
29/4 Week 2.2 Finish - Setup environment/Setup Github, link bot account to github. Get the bot running. Start - Investigating how to implement functionalities. All
3/5 Week 3 Update wiki with Introduction Planning and SotA Investigate how to implement functionalities, Finish dividing who implements what Meeting lambert End Sprint 1 Planning phase Start sprint 2: Early implementation phase All
6/5 Week 3.2 Complete plan with list of implementations. and an idea of how to start implementing those. Implemented at least 2 functionalities. All
10/5 Week 4 Finished: Implemented at least 4 functionalities, updated wiki All
13/5 Week 4.2 Finished Implementing 6 functions All
17/5 Week 5 End Sprint 2 Finished Implementing 8 functions Start Sprint 3: 2nd phase of implementing features. All
20/5 Week 5.2 Finished with implementing all 10 functions All
24/5 Week 6 Room for finishing touches and or implement extra idea's. All
27/5 Week 6.2 Room for finishing touches All
31/5 Week 7 Start with presentation + demo All implementations are completely implemented. End sprint 3 Start Sprint 4: Finalising deliverables All
3/6 Week 7.2 All
7/6 Week 8 All
10/6 Week 8.2 Hand in presentation + demo All
14/6 Week 9 Finishing wiki page. End Sprint 4 All


Functionalities

The functionalities will be described using the MoSCoW method. This is a prioritization technique that helps with sorting requirements and functionalities in four different categories. “must have” functionalities which must be added to the final solution otherwise it will not function properly and not be a success. “should have” functionalities which should be added to the final solution if possible and have a high priority in the development process. “could have” functionalities which are desirable to have in the final solution but are not strictly necessary to implement so have a lower priority. “won’t have” functionalities which are currently not going to be implemented because of various reasons, but could be useful to consider in the future.


Must haves:

  • The discord bot must be able to run on multiple discord servers at the same time. This implies that the code behind the bot is placed on an active server that is always online and the data of different servers do not conflict with each other.


Should haves:

  • The discord bot should give a speaker the ability to mute everyone in a voice channel except for the main speaker with a simple command or button press. This will make sure that no interruptions or surrounding sounds are played during the time that a speaker is talking. If necessary, the teacher can unmute certain students or teachers to give them the room to speak.
  • The discord bot should give teachers the ability to create quizzes that will be sent to the students via a private message. The students will answer the quiz question via a reply message and the teacher will receive the answers and statistics about the answers. These results can be shared with the rest of the students and teachers. This can be used to test the knowledge of the students and help with understanding the information provided.
  • The discord bot should give teachers the ability to create polls to quickly get information on the opinions or knowledge of the students. The difference with a quiz is that polls are answered in the general chat and visible for everyone. Answers that are sent in will directly be updated in the results. In polls, people can select multiple answers which is not possible in quizzes, where only one answer is possible. The polls can be used to get a quick overview of the groups’ opinions and will take less time to perform.
  • The discord bot should give teachers the ability to split all the students into separate, new voice channels, so-called break-out rooms, in which students will be placed randomly. The teacher can decide how many break-out rooms are created and students will be evenly divided under the break-out rooms. When the teacher wants everyone back, he/she can close all the break-out rooms, this will put the students back in the main channel. These break-out rooms can be used during an educational activity, so students can discuss the information that was given or work together on a certain task.
  • The discord bot should give students the possibility to call a teacher to a certain voice channel or break-out room. When a teacher is called to a certain voice channel, they will be put in a list that is only visible for teachers and the specific voice channel will be marked. In a specific text channel, a link will be found to the voice channel with a question, so the teacher does not have to search through all channels. The teacher can see which voice channel was the first to ask for help and go to the voice channel to help. For all other teachers, it will now be visible that this voice channel is receiving help and can help someone else. A voice channel will be deleted from the list if it has been visited by a teacher.
  • The discord bot should give everyone the ability to "raise their hands", meaning that they want to alert everyone that they want to say something. When someone raises their hand, they will be put in a list that is only visible by teachers. These teachers can then select the next person on the list to get their turn to say or do something. This person’s hand will directly be lowered and deleted from the list. Raising hands can be useful in conversations with many people to let the communication stay fluent.
  • The discord bot should give teachers the ability to start a timer with a specific time and description. This timer will count down and send a message in the group to alert everyone when the timer is over. This can be used to mark how long a break will last, or when a quiz answer needs to be submitted.


Could haves:

  • The discord bot could provide a platform and location where shared files will be located. This way the students and teachers can easily find the files that were shared during an educational activity.
  • The discord bot could have the ability to be controlled by software that is separate from discord and has a stand-alone GUI. This software shall be able to control all possible actions which are usually only accessible by the use of commands in discord text channels. Using this external software, the discord bot will get an increase in ease of use and all functionalities of the bot are better visible.
  • The discord bot could have the ability to enhance the number of people who can watch a shared screen and hear a speaker. In the current state of discord, only 50 people can be in a voice channel if someone is sharing their screen and/or have their camera on. When a student wants to join a voice channel that is already full, the bot will create a new voice channel and put the student in this voice channel. In this voice channel, the discord bot will live stream the shared screen and camera of the speaker in the main voice channel. The bot will also stream all the audio that is coming from this main channel. This can be used to have lectures or information sessions with a shared screen or camera and more than 50 people watching.
  • The discord bot could have the ability to autonomously detect when toxic messages are being sent in one of the text channels of the server. The teachers will be notified about the message that is noted as toxic and they can decide if they want to take action against this message or user. This can decrease and spot the use of toxic language which is not wanted in an educational server.
  • The discord bot could have the ability for teachers to create their quizzes before a lecture or educational activity starts. The teacher can just create a quiz before the lecture and send that quiz to the students with the use of a simple command. This makes it that teachers do not have to waste time during the educational activity to create the whole quiz from scratch.


Won’t have:

  • The discord bot won’t give teachers the ability to share their screen or camera on a stage channel. A stage channel is a newly added feature on discord that allows 1000 listeners to a specific group of speakers. Currently, it is not possible to share your screen or open your camera in a stage channel. However, the group sees massive potential in these new stage channels to run actual and full lectures with up to 1000 students. If stage channels get more functionalities, this bot should be able to work in stage channels effectively.

USE assessment

This project will be analyzed using the User, Society, Enterprise (USE) approach. With this method, it will be highlighted how all the separate aspects in USE relate to this project.

User

As stated in the introduction, the user group for this project consists of teachers and students. At the moment that this project is running, the COVID-19 virus crisis is currently very active in the world. Due to COVID-19 social contact is limited to decrease the chances of the virus spreading even more. This resulted in a sudden change to online education and the use of online tools to host a range of educational activities. For the user group, it is optimal if the level of education online can stay on the same level as the level of education that was standard in an offline setting. This should be achieved with as much ease of use, so no confusion can form a bridge for understanding. Following the introduction, it might be that future education will be a hybrid of online and offline methods. When this is the case, it should be that the benefits of online education are enhanced and the problems decreased.

Figure 1: Problems experienced by online instructors researched by Bakhmat et al. (2021)[5]

The first image on the right shows the problems of online education according to online instructors with research by Bakhmat et al.(2021)[5]. Some of the problems cannot be helped with the use of software systems. For example, internet connection and computer competency cannot be fixed with software that the team is going to create. Only some problems can be remedied. Take a look at the fact that the quality of student work dropped together with stress and motivation. According to Rehman et al. (2013)[6], interactive aspects are important for understanding and interest of students in the information. An online platform can form easy interactive aspects like quizzes or polls about the information that will come up in the future or about the information out of the past. For teachers, it is important that making these quizzes and polls is convenient, such that they will not lose too much time doing this and can use the ones they made multiple times. For students, quizzes and polls must be user-friendly and they must be able to do them regularly to boost the student’s interest and understanding. This will result in taking in more information during educational activities, making time use more efficient and giving a higher chance of passing an exam.

Figure 2: Benefits experienced by online instructors researched by Bakhmat et al. (2021)[5]

The second image on the right shows the benefits of online education according to online instructors with research by Bakhmat et al.(2021). These benefits should be enhanced as much as possible to get the most out of the online aspects of education. Not all benefits can be enhanced by the use of software: they are mostly dependent on the teaching style of the teacher. Take for example the experience benefit of flexible hours or inviting experts. These are not software related, but nevertheless have advantages for online instructors in relation to their students.

Other benefits can be increased using certain software or a different educational platform. Some platforms can be used on mobile devices which boosts mobility and therefore the ease of use. It is also important for an online education platform to have clear controls: it should not make education harder than it currently is. The focus should be on learning and on the information in the activity, not on figuring out how the system works.

Last but not least, a platform should be able to give students the space to work individually and ask for help if necessary. This will boost self-development and individualism which are important benefits of online education.

Keeping in mind the benefits and problems of online education, the Discord education platform with the use of a bot should try to achieve as much of the previously named points as useful for education.

Starting with the problems, one of the most important points named is that interactive aspects need to be added so the users can stay interested, motivated and boost their understanding. This will be done by adding a functionality to the bot to be able to create quizzes and polls. The teacher can directly and easily test information or get feedback. Better understanding decreases the workload because less self-studying is needed. Furthermore, more interest in the information will make people stay focused on the activity which will in its place boost motivation. The benefits should be enhanced using Discord with the bot, starting with a simple fact, Discord has a mobile application that allows the user to do everything that he/she could do on a computer. This increases the benefit of mobility.

Moreover, Discord has simple controls which, after one session, will be clear for the long run. The bot will work with simple commands as well and the teacher will have a clear list of commands integrated into the system. Hence, the bot will provide help in achieving what the teacher wants. Lastly, Discord allows a lot of different channels where students can be divided into. The bot will be able to create separate break-out rooms and divide the students into break-out rooms. The students can also choose their break-out room and ask for help from the teacher in their break-out room. This provides self-development and individualism in the platform which is two of the benefits of online education.

Society

The Discord bot is going to create a better experience for and an easier way to set up online learning. If our project is successful at doing this, it will create benefits for multiple stakeholders in society. Currently our society is dealing with the COVID-19 crisis. This crisis forced all education to be conducted online. Research by Dorn et al. (2020)[7] shows significant learning loss. And even higher learning loss in lower income classes.

The bot will help universities and other education instances to lower the learning losses. Their teachers will have an easier time setting up and maintaining a free online environment to teach their students. The tools provided by the bot will help them engage and teach students more effectively, and make discord a viable online software for teaching. For the students in lower income classes this is great as no extra cost will be made, as creating a Discord account is free.

Within a society education is often the backbone. The government will benefit greatly from better education. Research done by Baum, S. et al. (2013)[8] found that people with higher education on average make 20% more money than people without. In turn the government will generate more taxes and the average GDP will go up, which will help the whole country.

Online education is more scalable than the classic in-person education form. You can stream a lecture to thousands of students online at a time. But a thousand students will not fit in a single lecture hall. This would make it possible to host cheaper education for more people from all over the world. It will create opportunities for students that are unable to afford housing close to the university or are currently unable to afford university at all.

The one problem that arises with online teaching is that student-teacher interaction will be less. Our Discord bot will have tools to help with this.

Enterprise

The USE aspect of enterprise of this project can be looked at from two perspectives. First, for companies, it is important to get new employees with modern knowledge into their company. For all companies, it is therefore important that students that come out of schools have enough and novel information to enrich the company. Due to the COVID-19 pandemic, a lot of education is online. The level of education should still be the same or better as before to provide companies with suitable options for hiring. In the future, there might come hybrid teaching and this should also be of the same level or better as before. The Discord bot could provide a platform with all the tools present for giving students knowledge and maybe even improving the level of education. This would increase the number of suitable students for future hiring. This makes companies improve and grow.

Secondly, on the work floor of companies, there is also a need for platforms that can be used for online meetings, workgroups, and educational sessions. According to Lilly (2021)[9], 60% of the UK working citizens are working from home. This means that they require an online platform to work from. Companies need to choose platforms that will fill all their needs. These needs will vary from company to company, but in this project one valuable option is provided. Using the educational bot on the Discord platform could be useful. This is for multiple reasons:

  • companies also need to host educational courses to get their employees up to all the state-of-the-art knowledge from the work field. The platform created in this project is created for educational uses so following all the points from previous sections, this platform will be very useful for educational courses in companies;
  • meetings and workgroups can also be done on this Discord platform with the use of the bot. Not all functionalities will be useful, but there are still some helpful utilities. Polls, raising hands, sharing files, break-out rooms, and muting everyone except the speaker could provide help in meetings and workgroups. Discord itself is a useful platform for meetings while it has a lot of customization to create the perfect online environment for a meeting or workgroup. Speech or video channels can be used to talk with each other and text channels can be useful for sharing information; and
  • Discord is an easy-to-use program and this is needed because not everyone in a company has equal knowledge of technology.

With these possibilities, enterprises could benefit from the Discord educational platform bot.

State of the Art

The past decades, the advent of online communication tools have made virtual meetings more and more popular. Besides the possibility to communicate with friends or strangers over the web, it is now also possible to have formal meetings in an online setting. The last few years, universities have started to provide an increasing proportion of their education via the web to their students [10]. The effects thereof have been studied extensively, for example on increasing the motivation of students in this online learning environment [11][12]. Furthermore, research has been done on the best practices of E-learning, combining the perspectives of both academic staff members and students [13][14][15]. The current COVID-19 pandemic has accelerated the transition from an offline to an online work environment, increasing the number of meetings per person with no less than 12.9 percent [16]. Luckily, the world was somewhat prepared for this virtual venture, since many online platforms, such as Microsoft Teams, Zoom and Discord were already available. In this project, the focus is on the Discord, an online platform originally designed as a social gaming platform. The past two years, Discord has developed itself into a multipurpose tool with education as one of its main functions [17].

Although the need for offline education is becoming a larger issue as the pandemic continues and many are eager to go back to in-person get-togethers, it is plausible that online meetings will have a larger role in our society than they had before the pandemic. Because, as the scientific world has discovered, online meetings have many advantages [18][19][20].

Challenges

Unfortunately, there are some challenges to online education as well. Teachers should for example have certain technical skills to effectively teach in online learning environments [21]. Other challenges are about the risks of cheating and plagiarism during online exams [22][23] and the reduced motivation of students [11][12]. To make online meetings as effective as possible, online platforms such as Discord require a user-friendly design and should, by design, aid teachers in motivating their students.

Approaches

Even before Corona, several approaches have been studied to improve both online teaching and online meetings.

Showing only the slides to the audience is proven to be not very effective [24]. Instead, different tools exist to help engage students during these online meetings. This can be through quizzes, polls or links to external websites. Furthermore there exist video tools focussed on user friendliness. This may help students or meeting participants who are not so familiar with online communication yet.

Another aid that can be used during online communication is automatically taking minutes. Normally in meetings there is always one person taking notes, the minute-taker [25]. This person creates a “summary” of the meeting for people who could not attend or people who want to read it once more afterwards. It takes practice before a person is capable of extracting the most important information from a conversation to add to a summary. Besides that this person must multitask as he is also participating in the meeting. This problem can be resolved using a tool not just for transcribing, but one that accurately takes minutes [26][27].

One last approach for online communication focused on online as well as face-to-face learning. This way of teaching is called the hybrid educational model [28]. Even though online education has many advantages, direct interaction with the teacher creates personal ties that positively affect motivation of students. This results in students scoring higher grades. If all education and meetings were to be moved online, a means must be created to simulate direct contact between pupils and instructors as much as possible.

Our solution

Our group has created a new tool to help businesses and schools with online communication. This tool is in the form of a Discord bot with commands that can improve the experience of online communication.

Multiple Discord bots have already been made in the past to create better working experiences. Requirements for such bots were, for example, that the bot should have a simple prefix and simple to use commands [29]. Moreover, a documentation for each command and its features must be provided. This all supports the idea that operating the bit must be as simple as possible, hence creating a better user experience. Our own Discord bot is therefore also focused on ease of use. Besides that it has many functionalities that may help the users.

Nonetheless, people should keep in mind that this is just a tool. The roles that instructors have in online teaching, for example, are even more important [30]. This is mainly due to the fact that they are best capable of motivating their students [31].

The Discord bot can still be used to make online communication interesting. It offers many possibilities to make the class or meeting interactive, thus gaining the attention of the listeners better [32][33].

Survey results

The link to our survey: https://forms.office.com/r/vR8z8uN8B3

Quantitative analysis

Figure 3: Ranking of functionalities by teachers and students
Figure 4: Functionalities sorted by their importance, according to 40 students and 5 teachers. Additionally, it is indicated with colours whether or not these functionalities are supported by Teams, Zoom, Big Blue Button and Discord. Lastly, the score on the bottom is a sum of the coefficients of the green squares and 0.5 times the coefficients of the yellow squares.
Figure 5: An overview of the functions of Discord with professor Heinz, where the functionalities that they both don't (fully) have are left out.

In our survey, 40 students and 5 teaching staff members gave their opinions about the functionalities of different online platforms that can be used for online learning. Respondents were asked which platforms they have used frequently and which platform they like the best.

Platforms and the percentage of people that frequently use them:

Rank Platform Used by (%)


1 Microsoft Teams 96
2 Big Blue Button 60
3 Discord 51
4 Zoom 24
5 Other 4


Platforms ranked on how preferred they are:

Rank Platform Votes


1 Microsoft Teams 33
2 Discord 4
2 Big Blue Button 4
4 Zoom 3
5 Other 1

Almost all of our respondents (96%) indicated that they frequently use Microsoft Teams, followed by Big Blue Button (60%) and Discord (51%). When only allowed to select 1 platform as their most preferred one, respondents almost unanimously chose for Microsoft Teams. Moreover, we asked our respondents to indicate the educational value of a list of functionalities. In figure 3, we differentiated between students and teachers. For clarity, we highlighted the functions that occurred in the top 5 with a darker shade if they occurred in both top 5 lists, and a lighter shade if they occurred in only 1.

The top 5 functionalities are very similar, with the options for screen sharing, chatting, recording and raising hands occurring in both lists. Interestingly, the option to create break-out rooms is viewed as a must-have by teachers, whereas students rated this functionality quite low, which got it placed 15th.

In figure 4, all 19 functionalities are listed and sorted by the mean ranking of our 45 respondents. Moreover, it is indicated with colours whether or not these functionalities are supported in Microsoft Teams, Zoom, Big Blue Button and Discord. The scores on the bottom are calculated by adding up the mean rankings of the functionalities that are supported by the platform. For the yellow squares, we halved the ranking of the functionality in the summation.

The scores on the bottom are only based on the amount and type of functionality that the platform supports. The scores are therefore not overall scores, as they do not reflect perceptions on the interface or ease of use of the platform. For example, the scores of Zoom and Discord greatly differ, but this is not the case in figure 2, where Discord is more often chosen as the most preferred platform than Zoom.

Besides a clear winner, we also have found a clear loser: Discord. Apart from the two most important functionalities, screen sharing and chatting, Discord does not (fully) support many other functionalities. This can however be explained by the fact that Discord initially started as a gaming platform. During the COVID-19 pandemic, the platform rapidly changed, adding more and more functionalities for educational purposes. At the moment of writing, Discord is still adding such functions, such as a stage function, where 1 speaker can take the floor and have an audience consisting of up to 1000 people [34]. Up until now, Discord is mostly suitable for small sized educational settings, such as tutor meetings and instruction sessions. However, taking into account Discord’s recent shift in focus, it is to be expected that the platform will soon be suitable for lectures as well. Based on our survey, Discord might need to add a couple of more functionalities to win it from other platforms.

That is where professor Heinz comes into play. In figure 5, all functionalities that Discord in combination with our Discord bot has, are listed. We successfully implemented 7 functions that Discord did not yet (fully) support. Moreover, in contrary to ordinary Discord bots, we made all of our functions accessible by buttons, by means of an external GUI on a web page. According to the results of our survey, this is the sixth most important functionality, with a mean rating of 3.89. When we re-calculate the score from figure 5, we end up with an improved score of 42.71, which is almost double the original score. Although this is still lower than Microsoft Teams’ score, we believe that the design, accessibility and ease of use of Discord makes it a very attractive platform, maybe even better than Microsoft Teams when it is used in combination with professor Heinz. As Discord further develops itself into an online platform for educational purposes, aided by the functionalities and ease of use of professor Heinz, it may very well be the new Microsoft Teams.

Qualitative analysis

Figure 6: Schematic overview of what people like about Microsoft Teams.
Figure 7: Schematic overview of what people like about Discord.

Besides a quantitative analysis, we have also performed a qualitative analysis on the results of the open questions of our survey. We asked our respondents which functionalities made their preferred platform the best. From this, we created a clear overview in which we grouped their answers. We only got enough feedback to do this for Microsoft Teams and Discord.

The clear design of Microsoft Teams is what makes it accessible and easy to use. Moreover, respondents indicated that they like the interconnectivity between Microsoft programs. The fact that Teams supports many different functionalities, including the ones that were mentioned the most (file sharing and screen sharing), is also seen as a benefit. Respondents also indicated that teams is especially suitable for large groups.

Respondents indicated that Discord allows for easy information retrieval. This is mostly due to the ability of Discord to separate different information flows by means of different voice and text channels. This makes it simpler to find the information you are looking for. Respondents also indicated that meetings are always in the same place, which makes it easy to find them back. This is not always the case for Teams meetings. Furthermore, participants praised Discord for its good audio quality and its customizability through Discord bots.

We also asked our participants which functionality their preferred platform is still missing. According to our respondents, Microsoft Teams could benefit from a better interaction between teachers and students. They propose for example education-specific features like quizzes and polls. Some other functionalities that were mentioned were live pausing or adjusting the volume of specific people in the call (a functionality of Discord). It is also worth mentioning that half of the respondents left this question blank, which may indicate that they are not missing any functionality on Teams. People that prefer Discord as an educational platform would like to see an improved file sharing system, where all files are in one place, and the option to record calls.

Points of action

Based on the results of this survey, Discord would benefit a lot from the added functions that our Discord bot offers. This survey produced two new points of action for our group. 1) We should look for a way for our Discord bot to record calls and 2) We should look for a way to improve Discord’s file sharing system with our Discord bot. Both of these functionalities score high in the ranking, so we expect them to be very beneficial for the platform when implemented.

Decision argumentation

API

Discord’s API can be used to make bots for Discord. The API is based on a HTTPS/REST layer for the general functions and a WebSocket connection for real-time updates from external sources. Next to the main API, there are various community made API’s which make the bridge from idea to feature much easier to implement. Namely, it is not required to send HTTP requests to the server making the overall architecture much less complex. The two commonly used API’s in the community are discord.js (node.js module), and Discord.Net (.NET Library). Though, since these are unofficial and thus not directly supported by Discord, both API’s do not include all functions given by the Discord API. We realized that a transition between the two API’s would mean a rework of all the progress, so a thorough comparison is very crucial at the start.

Regarding the basic features such as channel, role, and server management, both API’s support all the functionalities provided. The only functionality that Discord.Net seems to lack is in the voice channels. As of version 2.4.0, Discord.Net does not support features to receive audio from voice channels, whilst discord.js does. At this time we were unsure if we would use this feature, but we found no downsides to choose discord.js, which is why we ended up choosing this API. If there seems to be a feature missing from this API, there is always a possibility to use Discord’s API directly. The HTTP requests can be sent in JavaScript using an HTTP client called Axios, allowing both API’s be used simultaneously. Nearing the end of the project, Discord’s API received an update with the addition of interactive buttons in messages. The unofficial API’s were not updated yet to support these features, and such we ended up using Discord’s API to still be able to test the features.

moderation system

The group decided to add a moderation system to detect toxic messages to the discord bot because toxic messages do not belong in an educational environment. For teachers in large educational activities, it can be hard to keep track of all the incoming messages and check if some are inappropriate. This moderations system will send the teacher a message if a message is seen as inappropriate according to seven different labels: identity attack, insult, obscene, severe toxicity, sexually explicit, threat, and toxicity. The teacher can then just click on the link to that message and decide what to do with the message.

For the moderation system, the group chose to use a model created by tensorflow.js. This is a text toxicity detection model which is trained on the Kaggle dataset. This is a dataset containing around 300.000 Wikipedia comments and if appropriate one of the seven labels. The Kaggle dataset is created by Jigsaw and Google in a toxic comment classification challenge three years ago where people could try to create a text toxicity detection model to win a prize. The tensorflow.js model is not perfect but it can do what it is supposed to do. The group wanted to use the perspective API created by Google, which is a professionally created machine-learning algorithm to detect toxic comments and is also used by companies like “The Wall Street Journal”. However, perspective API is not free to use so the group chose the tensorflow.js text toxicity detection while it was created with the help of the perspective API team. If the discord bot would be professionally used, then upgrading to perspective API is a definite improvement to the system.

timer

The group decided to add a timer to the discord bot because in educational activities it is not uncommon to have students do some tasks, for instance, a quiz or a break, for a specific amount of time. With a timer, the teacher and the students know how much time is left and when the time is over.

For the timer function, the group chose to use the ms package to get the input from a discord message and easytimer.js to handle the timer itself. Ms was used because this package can change numbers with their unit into milliseconds directly, for instance, 1m is converted to 60000ms which is equal to 1 minute. This input is then given to easytimer.js to start a countdown timer. Easytimer.js is chosen because this is a simple but accurate timer package with easy implementation into JavaScript.

commercial opportunities with the bot

If this discord bot is done and functions properly, it might be interesting to look at commercial opportunities with this end product. There are a few ways to earn money with a discord bot. It is not standard for discord bots to be created to earn money with, usually, discord bots are created for the general public to use. The first option is that the discord bot has a separate feature that allows people to directly donate money to the makers of the bot. This could make a lot of money if people donate or no one donates money and the bot owner does not get anything. A second option that a discord bot development team can be hired by a company to upkeep, improve and use the discord bot. This way the development team of the bot will constantly get money to make sure that the discord bot is always online and working to the best of its abilities. This also includes adding features that might be wanted, or update the bot changes are made to discord itself. A third option is adding advertisements in the bot which randomly pop up in a discord server. Companies can pay the development team to make advertisements pop up in discord servers where the discord bot is active. This will give a new platform for companies to place advertisements but might decrease user satisfaction due to people generally not liking advertisements. A fourth option have people pay before they can add the discord bot to a server but afterward, they can use the discord bot freely. Currently, the discord bot will have none of these features and will only be created to show the possibilities of discord bots and educational platforms. If companies show interest in the discord bot in the end, then the group will have to discuss with this company what the options are in terms of financing.

stage channels

The group decided to not do anything with stage channels because they are at this moment not useful in an education platform. Stage channels are voice channels where only specific people are allowed to speak and there can be up to 1000 listeners. This is way more than the 50 people that can be in a standard video call. However, it is at this moment not possible to share your screen or activate your webcam in a stage channel. This is necessary for a lecture so at this moment stage channels are not helpful in an educational activity. The group does see potential in the new discord feature and expects discord to add camera and screen share abilities to stage channels. When this happens, it might be interesting to see if the discord bot can get new features that could be useful in stage channel lectures.

Process updates

In this section, the group will put information on what the group worked on during the weeks. This will include information on what failed and what was successful. This section can be used as a guide through the approach of this group to create an educational discord bot.

week 1

Week 1 consisted of brainstorming for a good and viable idea which the group could use for the rest of the project. The group had multiple ideas but in the end, chose to go with creating an educational discord bot. The group divided tasks on writing the introduction and state-of-the-art section, and for creating planning. One person was put on doing research on creating a discord bot so the group could start on the right coding platform in the next week.

In this week, all the setups were made to be ready to perform as a team for the whole course; this included creating a shared google drive for documents and a timesheet, a discord server for meetings and group work, a Trello board for planning purposes, and a GitHub for working together on code.

week 2

Week 2 consisted of everyone getting used to creating bots using javascript with discord.js. Everyone gathered information on creating discord bots and created their own bot. In the second part of the week, every group member chose one functionality to do research and work on. One group member also focused on putting the text from the shared google drive on the TU/e wiki. This lead to the team creating a good starting wiki and working on 5 functionalities for the discord bot: starting a timer, making break-out rooms, making quizzes, calling teachers to a break-out room, and raising hands.

week 3

Week 3 consisted of the first versions of certain functionalities. The timer functionality was able to create a countdown timer. The quiz functionality was able to ask questions in a private message to students but not receive answers. The mute functionality was able to mute everyone except the person who used the command. The calling teacher functionality was able to create private voice channels for students to ask for the help of teachers. The raising hands functionality was able to let people raise their hands with the use of commands, put these in a list, and let the teachers use them. The group started improving these functionalities further and started working on creating the break-out room functionality. In this week, this functionality was already able to create break-out rooms and place students into them.

In this week, the group had their first meeting with their supervisor and he told the group useful advice. One of the points which was spoken about with the supervisor was creating a survey to get some insight in what actual users would like in an educational platform. The group directly created a survey and had it ready to be sent to students and teachers.

Survey link: https://forms.office.com/r/vR8z8uN8B3

week 4

This week started with a meeting with our supervisor, who told us that the functionalities should be better typed out so no one can understand them differently than how they are meant. The group also needed to add information on why certain decisions were made, to help other people who would like to continue on the same path as this research. The feedback on the questionnaire was that it was good and he noted some improvements to make the survey better. After the meeting, all the group members used their own networks to spread the questionnaire to students. Teachers were reached by sending emails with the question of filling in a small questionnaire to improve discord as a platform for educational purposes. The hope is that teachers and students find the research topic intriguing and are willing to spend some time filling in the questionnaire.

The rest of the week, work was done in researching and improving functionalities. The research was done on the topic of an autonomous system to implement in the discord bot, this resulted in the decision to add an autonomous toxicity detection system. This system would flag toxic chat messages so teachers can decide if they should take action with these messages. This research resulted in the decision to either fully make a new moderation system or create an already created moderations system, which will be put as a question to the supervisor. Research was also done on external software connected to the discord bot to control the functionalities. This research made it clear that it is possible to do this and a small external system was set up that could send messages in a discord server.

In terms of improving, the quiz functionality made big improvements and it resulted in the fact that private answers of the students will be sent back to the teacher. The teacher can then place the results in the chat so everyone can see the results. These results are accompanied by a bar chart to make it easy to ready for everyone. The asking for the help of a teacher functionality was improved by adding groups to the system, so multiple students can join a question channel if they have the same question. Making it that the teacher does not have to answer the same question multiple times. Furthermore, the group worked on putting the bot on a server that is always running. This is the first step in making sure that the bot will always be usable and can be used by everyone who wants to use it.

week 5

Like the previous weeks, this week started with a meeting with our supervisor. He told us that it is important to add more information to the wiki about everything we are doing, why we are doing it, and especially why it is needed. Information that is needed to be on the wiki: what do all education platforms already have, how do we improve on discord and other platforms, what results came out of the survey and why did we make all our decisions. The supervisor also made some interesting comments about challenging ourselves and trying to get the most out of our application.

For this week, the group analyzed the survey and created interesting plots and tables on which information can be gathered about functionalities in educational platforms. The survey analysis also provided interesting information on how much discord is improved as an educational system with the inclusion of our bot. All of the information has not yet been discussed in a meeting this week, so what actions will follow after the new information will be discussed in the next week.

Next to working with the survey, the group also worked on improving the discord bot itself. This week the group added a chat moderation system that alerts the teacher if a toxic message has been send and the external application to control the discord bot became functioning. This external application cannot control all actions of the bot and is still in development at this stage. The group also worked on putting all the separate discord bot features in one bot and putting this bot on an active server. This should be done by next week making the bot fully active and usable. Next week, there will also be put some extra focus on adding more information and argumentation to the wiki. This was postponed until next week because everyone was still in the middle of coding their features. From next week forward everyone will start adding argumentation about why their created functionality is created in that way it is.

week 6

This week, the focus was put on improving the backend structure of the discord bot. A lot of work and research was done on the topic of putting the discord bot on an always active server which is suited to have te bot running on multiple discord servers at the same time. It was important for the server to be able to work with all our functionalities and the biggest struggle the group had this week was that slash commands should be able to work. Eventually, the group found a website that lets people run their code on a free server and to make this fully possible with the discord bot it was needed to create a database with MongoDB to store server-specific information.

The group further worked on adding information to the wiki about the choices made during the project, and some work was put into improving/making features. A new feature currently under development is a system that puts all send links in location and all send files in one location, so they are easy to find. There is also still a lot of work put into improving the separate GUI to control the discord bot. This GUI is currently able to select a text channel where the command needs to be send to and is able to activate a lot of the commands currently possible in the bot. In the end, all features and commands will be accessible with use of the GUI.

During the meeting with our supervisor this week, we provided him with an update on where we are currently at with the project. The supervisor told us that progress sounds good and said that we should seek as much challenge as we can to create the best product possible.

Time tables

Week 1

Name Student ID Hours worked
Tasks done


Benji van den Brand 1328255 7.5 Meeting(3.5h), research (1h), research Discord bot possibilities in Python (3h)
Delorean Canlon 1225364 9 Meeting(3.5h), create planning (0.5h), State of the Art (5h)
Nout Prins 0917546 7 Meeting(3.5h), create planning (2.5h), research(1h),
Wouter Tulp 1325833 10 Meeting(3.5h), research(3h), planning(0.5h), wiki(0.5h), writing(2.5h)
Rens Vogels 1378384 9 Meeting(3.5h), State of the Art(5,5)

Week 2

Name Student ID Hours worked
Tasks done


Benji van den Brand 1328255 6 Meeting(3h), editing wiki (1.5h), rewrite Discord bot with JavaScript (1.5h)
Delorean Canlon 1225364 14.5 Meeting (3h), research of Discord bot with JavaScript (3.5h), coding bot (4h),

proofreading and editing written text (1h), editing wiki (3h)

Nout Prins 0917546 8 Meeting (3h), Planning (1.5h), USE analysis (2.5h), Research Discord Bot (2h)
Wouter Tulp 1325833 9.5 Meeting (3h), Discord bot tutorials (3h), Discord bot timer functionality (3.5h)
Rens Vogels 1378384 10.5 Meeting (1.5h), research Discord Bot (2.5h), coding bot (6.5h)

Week 3

Name Student ID Hours worked
Tasks done


Benji van den Brand 1328255 14 Meeting (2.5h), implement features for the Discord bot (11.5h)
Delorean Canlon 1225364 10.75 Meeting (2.75h), research of Discord bot with JavaScript (1h), coding bot (4h),

creating survey (3h)

Nout Prins 0917546 7h Meeting (1.25h), research to backend and database (2h), Implementing,
Wouter Tulp 1325833 10.5 Meeting (4h), Making survey (1h), coding bot (4h), Improving Wiki(1.5h)
Rens Vogels 1378384 8.5 Meeting (3h), coding bot (5.5h)

Week 4

Name Student ID Hours worked
Tasks done


Benji van den Brand 1328255 1.25 Meetings(1.25h)
Delorean Canlon 1225364 13.25 Meetings(2.25h), research for web interface (8.5h), coding bot (2.5h)
Nout Prins 0917546 13 Meetings(2.5h), Research for backend, different data base options etc(4h), Debugging code(3h), Writing code(3.5h)
Wouter Tulp 1325833 10.25 Meetings(2.25h), Research(3h), Writing and editing the wiki(3h), Survey(2h)
Rens Vogels 1378384 11.5 Meetings(2.5h), coding bot(9h)

Week 5

Name Student ID Hours worked
Tasks done


Benji van den Brand 1328255 5.5h Meetings (2h), Coding bot (3.5h)
Delorean Canlon 1225364
Nout Prins 0917546
Wouter Tulp 1325833 9.5h Meetings (2h), Coding bot (4.5h), Research (2.5h), Wiki updates (0.5h)
Rens Vogels 1378384 18h Meetings (2h), coding bot (6h), survey analysis (6h), update Wiki (4h)

Week 6

Name Student ID Hours worked
Tasks done


Benji van den Brand 1328255 11.5h Meetings (2.5h), research (1h), editing wiki (0.5h), coding bot (7.5h)
Delorean Canlon 1225364
Nout Prins 0917546
Wouter Tulp 1325833 8.5h Meetings (2.5h), coding bot (3.5h), research (1.5h), editing wiki(1h)
Rens Vogels 1378384 7h Meetings (3.5h), coding bot (3.5h)

References

  1. Villegas-Ch., W., Palacios-Pacheco, X., Roman-Cañizares, M., & Luján-Mora, S. (2021). Analysis of Educational Data in the Current State of University Learning for the Transition to a Hybrid Education Model. Applied Sciences, 11(5), 2068. https://doi.org/10.3390/app11052068
  2. Curry, D. (2021, March 22). Discord Revenue and Usage Statistics (2021). Businessofapps. https://www.businessofapps.com/data/discord-statistics/
  3. Ramadhan, A., & Albaekani, A. K. (2021). STUDENT’S RESPONSE TOWARD UTILIZING DISCORD APPLICATION AS AN ONLINE LEARNING MEDIA IN LEARNING SPEAKING AT SENIOR HIGH SCHOOL. ISLLAC : Journal of Intensive Studies on Language, Literature, Art, and Culture Volume, 5(1). https://doi.org/10.1088/1751-8113/44/8/085201
  4. Wulanjani, A. N. (2018). Discord Application:Turning a Voice Chat Application for Gamers into a Virtual Listening Class. 2nd English Language and Literature International Conference (ELLiC), 2, 115–119.
  5. 5.0 5.1 5.2 Bakhmat, L., Babakina, O., & Belmaz, Y. (2021). Assessing online education during the COVID-19 pandemic: A survey of lecturers in Ukraine. Journal of Physics: Conference Series, 1840(1). https://doi.org/10.1088/1742-6596/1840/1/012050
  6. Rehman, R., Afzal, K., & Kamran, A. (2013). Interactive lectures: A perspective of students and lecturers. Journal of Postgraduate Medical Institute, 27(2), 152–156.
  7. Dorn, E., Hancock, B., Sarakatsannis, J., & Viruleg, E. (2020). COVID-19 and student learning in the United States: The hurt could last a lifetime. McKinsey & Company.
  8. Baum, S., Ma, J., & Payea, K. (2013). Education pays 2013. The College Board.
  9. Lilly, C. (2021). Working from home (WFH) statistics 2021. Finder. https://www.finder.com/uk/working-from-home-statistics
  10. [16] Alqahtani, A. Y., & Rajkhan, A. A. (2020). E-learning critical success factors during the covid-19 pandemic: A comprehensive analysis of e-learning managerial perspectives. Education Sciences, 10(9), 216.
  11. 11.0 11.1 [15] Nehme, M. (2010). E-learning and students' motivation. Legal Educ. Rev., 20, 223.
  12. 12.0 12.1 [21] Abou El-Seoud, M., Taj-Eddin, I., Seddiek, N., El-Khouly, M., & Nosseir, A. (2014). E-learning and students' motivation: A research study on the effect of e-learning on higher education. International journal of emerging technologies in learning (iJET), 9(4), 20-26.
  13. [22] Alhabeeb, A., & Rowley, J. (2018). E-learning critical success factors: Comparing perspectives from academic staff and students. Computers & Education, 127, 1-12.
  14. [23] Szpunar, K. K., Khan, N. Y., & Schacter, D. L. (2013). Interpolated memory tests reduce mind wandering and improve learning of online lectures. Proceedings of the National Academy of Sciences, 110(16), 6313-6317.
  15. [24] Clark, R. C., & Mayer, R. E. (2016). E-learning and the science of instruction: Proven guidelines for consumers and designers of multimedia learning. john Wiley & sons.
  16. [3] DeFilippis, E., Impink, S. M., Singell, M., Polzer, J. T., & Sadun, R. (2020). Collaborating during coronavirus: The impact of COVID-19 on the nature of work (No. w27612). National Bureau of Economic Research.
  17. [25] https://discord.com/
  18. [2] Porpiglia, F., Checcucci, E., Autorino, R., Amparore, D., Cooperberg, M. R., Ficarra, V., & Novara, G. (2020). Traditional and virtual congress meetings during the COVID-19 pandemic and the post-COVID-19 era: is it time to change the paradigm?. European Urology, 78(3), 301.
  19. [8] Vladoiu, M., & Constantinescu, Z. (2020, December). Learning During COVID-19 Pandemic: Online Education Community, Based on Discord. In 2020 19th RoEduNet Conference: Networking in Education and Research (RoEduNet) (pp. 1-6). IEEE.
  20. [17] Price, M. (2020). Scientists discover upsides of virtual meetings.
  21. [6] Albrahim, F. A. (2020). Online teaching skills and competencies. Turkish Online Journal of Educational Technology-TOJET, 19(1), 9-20.
  22. [1] Fuller, P., & Yu, G. (2014). Lessons learned: online teaching adventures and misadventures. Journal of Social Sciences, 10(1), 33-38.
  23. [5] Gonzalez-Gonzalez, C. S., Infante-Moro, A., & Infante-Moro, J. C. (2020). Implementation of e-proctoring in online teaching: A study about motivational factors. Sustainability, 12(8), 3488.
  24. [7] Davis, N. L., Gough, M., & Taylor, L. L. (2019). Online teaching: advantages, obstacles and tools for getting it right. Journal of Teaching in Travel & Tourism, 19(3), 256-263.
  25. [10] Gutmann, J. (2016). Taking minutes of meetings. Kogan Page Publishers.
  26. [11] Liyanagunawardena, T. R. (2019). Automatic transcription software: good enough for accessibility? A case study from built environment education. In European Distance and E-Learning Network (EDEN) Conference Proceedings (No. 1, pp. 388-396). European Distance and E-Learning Network.
  27. [12] McGregor, M., & Tang, J. C. (2017, February). More to meetings: challenges in using speech-based technology to support meetings. In Proceedings of the 2017 ACM conference on computer supported cooperative work and social computing (pp. 2208-2220).
  28. [18] Villegas-Ch, W., Palacios-Pacheco, X., Román-Cañizares, M., & Luján-Mora, S. (2021). Analysis of Educational Data in the Current State of University Learning for the Transition to a Hybrid Education Model.
  29. [9] Axelsson, E., & Fathallah, A. (2018). Rin Tohsaka–a Discord Bot for Community Management.
  30. [4] Martin, F., Budhrani, K., Kumar, S., & Ritzhaupt, A. (2019). Award-winning faculty online teaching practices: Roles and competencies. Online Learning, 23(1), 184-205.
  31. [13] Dörnyei, Z. (2018). Motivating students and teachers. The TESOL encyclopedia of English language teaching, 1-6.
  32. [19] Ramadhan, A. (2021). Student’s Response Toward Utilizing Discord Application as an Online Learning Media in Learning Speaking at Senior High School. ISLLAC: Journal of Intensive Studies on Language, Literature, Art, and Culture, 5(1), 42-47.
  33. [20] Wulanjani, A. N. (2018, July). Discord Application: Turning a Voice Chat Application for Gamers into a Virtual Listening Class. In English Language and Literature International Conference (ELLiC) Proceedings (Vol. 2, pp. 115-119).
  34. Discord. (2021, May 20). Stage Channels FAQ. Retrieved from Discord: https://support.discord.com/hc/nl/articles/1500005513722-Stage-Channels-FAQ#h_01F22AKG1WM0JYC69N1JW22JBZ