User Testing

Medium-Fidelity Prototype Description

The two functionalities we implemented were importing Canvas assignments through a Canvas calendar link and creating a new to-do (along with marking it complete). For the importing functionality, we provided the user with the CSE481 calendar link. As of right now, all the code is still in one file, GetItDone.py, which is sectioned off into corresponding sections of code marked by comments, one for to-dos and one for importing assignments. The corresponding Github issues are #1: Importing Canvas assignments and #5: update todo creation in database.

For the other functionalities, we omitted the reminder function and the ability to edit a to-do item. We mocked the usage of dates so that when creating a new to-do, the date would automatically be set to a specific date no matter what the test user typed in. We also mocked the creation of the channels we want (#general, #reminder, #to-do, #bot) and the action of joining the server (we just had testers use one of our accounts on our laptop).

The Prototype

The introduction message that we mocked into a /setup command.

1

Using the /import command to import assignments from Canvas, and using the /assignments command to view all imported assignments.

2

Using the /help command to view a detailed description of how to use each command.

3

Using /new to create a new to-do and /todos to view todos.

4

Findings

Through our user testing sessions, we learned that the information we are providing is not very clear, especially for users who are not familiar with Discord bots. One of the feedbacks that we received was to create a more comprehensive welcome message, to help users get started and familiarized with Discord bots. Many of our testers also pointed out things that we were already planning on implementing but just hadn’t yet, like setting a specific time when assigning a new to-do and providing a template for the date format (YYYY-MM-DD) that our bot will recognize. One tester also pointed out that our /assignments command should have more functionality, like only displaying the next assignment that’s due or displaying previously due assignments the group might be completing late, so we will look into adding optional parameters to our commands to help accommodate this. While our commands were not perfectly implemented at the time, we will still move forward with the main functionality we have so far, as our testers found potential in the usefulness of our bot.

From these sessions, we also found a number of bugs that we didn’t catch while creating the prototype. One of the issues is the inconsistency between the /help message and how the bot was implemented. Another issue was with importing assignments with Canvas, where users can repeatedly import the same assignments from one class causing the bot to be unable to process the many assignments.

Next, we will fix the bugs that we discovered through our user testing and implement the rest of the functionalities we have been envisioning, most notably the remind function and the ability to edit to-dos. We will also need to integrate the imported assignments into our database, as right now the assignments are stored in the bot’s memory, which is cleared when the bot turns off. Doing so should also help solve our aforementioned bug with duplicated assignments. Finally, we will also improve on our already completed commands and add quality-of-life changes as we see fit.