Design Specification - HomeDivision/Choreless GitHub Wiki

Problem Statement

Chores are a never ending task in home life and are often overlooked when living with others. This can lead to frustration between housemates due to an untidy living space. Working with housemates about who is responsible for each chore can be difficult, and may result in uncompleted chores. Some of such difficulties include: coordinating and distributing chores between housemates, recalling which chores each housemate must complete every day, and incentivizing housemates to complete undesirable or tedious chores.

Current systems like physical chore charts or permanent chore assignments do not provide options for automatically reminding housemates about their chores. There is also the fundamental problem in initiating a chore system to begin with. We interviewed five college students who lived in dormitories and apartment complexes, and found that all of them do not currently have a system in place for coordinating chores with roommates. A primary factor for the lack of a system was the tedious workload to start a system, therefore causing it to be postponed indefinitely. One of our interviewees also stated that it felt awkward starting a system after living with their roommates for a few months, especially if they are on a short lease. Finally, a common trend among our interviewees was that the task of having to confront roommates who did not complete their assigned chores was so uncomfortable that they would often end up doing that roommate’s chore for them.

Our goal is to develop a platform that will support cooperation between housemates to make completing chores easier. A digital system allows for the collection of data on chore completion and the recognition of trends within households and roommates. First, the platform will be designed to ensure that the work effort for a household to set up and maintain their chore system will be minimal. Second, we aim to provide users the ability to be notified about upcoming chores in order to increase personal accountability in the hopes that all members of a household are accomplishing their chores on time. Finally, we will incentives users to complete chores by implementing a weekly goal system.

Design Solution

Setup

The setup page is the landing page for the website and describes the goal of Choreless. It will encourage new users to register for an account and that existing users should login to see their chore dashboard. This page is meant to detail what our service does and to advertise our product to new users.

Login and Registration Page

This screen shows what the login page of the web application would look like. Overall, it is a very standard login screen which requires an email and password to login. The registration page would look almost identical to the login page with an extra field to re-type the password. The login and registration pages should be easy to find and navigate to allow users to painlessly make an account.

Create Group

This page shows how to create a group within the web application. This is the only screen that a new user sees when they first log in. The menu on the left cannot be interacted with during this process. Each user will belong to a group and can assign, be assigned, or complete chores within that group. This page would be how a user can create an entirely new group for their household. Creating a new group consists of creating a name for the group as well as a password for new members to join the group. Groups will have a unique URL for the group (such as choreless.io/group/example) and thus must have a unique name upon creation. If a group’s name is not unique when the name field loses focus from the user, the website will display that they must choose a new name. When a group is successfully created, it will change the page to the group settings page for the new group.

Edit Group

This page is for managing an already created group. On the main group settings page, administrators of the group can set a group-wide chore point goal (which will override individual point goals) as well as inviting new members and change the group passcode. On the left-hand sidebar, normal users can see the members of the group that they are in.

If a user is an administrator of the group, they will have the option to select members of the groups and access individual settings for the selected user in the group. Within the setting of an individual member, admins can set personal chore point goals (if the group-wide goal has not been enabled) as well as promote or remove the member. This is because not every member may be able to do the same amount of chores or if the roommates reached an agreement outside of chores. This adds a level of flexibility to the users for extraneous circumstance.

Add Chore

This page shows how a member of a group can manage the chores that can be assigned or completed within a group. The current list of chores can be selected from the left-hand menu and new chores can also be created from this menu. This content of the page specifically shows what it would look like to edit a chore and some of the different options that can be set for a chore. Of note, the effort level can be set here, which determines the amount of weekly chore points that it would be worth. This value defaults to medium which is worth 2 points. The other two options are small chore, worth 1 point, and large chore, worth 3 points. Along with this, chores can be designated as either weekly or monthly chores which combined with occurrences will determine how many times/how often the chore will appear on the chore dashboard. Finally, this page will have the functionality to remove a chore if it is no longer needed by the group.

Weekly Calendar

This view shows how assigning chores will work. The week of the month is displayed on top. Each chore appears as cards on the right hand side and can be added to the chart in the middle. If there are multiple of the same chore for the week, a small number appears on the top right of the card. Users can only self-assign chores, they cannot assign chores for other group members. The column for the current day of the week is highlighted, along with the user’s row. A chore is assigned by dragging the chore from the right over to the highlighted row in the calendar.

The weekly progress bar below the calendar shows three things. First, the overall weekly goal, which is determined by the administrator of the group in the “My Group” tab. Second, a light color representing the potential total points the user can get by completing the chores. This is determined by the chores on the user’s row. Lastly, the dark color represents the user’s current progress, determined by the chores that are marked as completed.

When all of a particular chore gets assigned for the week, seven instances of dishes for example, the transparency of the chore card on the right reduces, indicating that the card is no longer interactable. Once all of the chores are assigned, a black overlay appears over the right-hand menu, and a text will explain that all the chores have been assigned for the week.

Clicking on a chore in the calendar will pop-up a menu with a couple of action buttons next to the chore. Here, the user can mark the chore as complete, or remove it from their row. They can also remove the chore by dragging it back to the right-hand Chores menu. Once a chore is marked as done, the card will change to a darker color, and a check mark will appear on it. A chore on a future day cannot be marked as done. In this case, the transparency of the “Mark done” button is reduced, and cannot be interacted with.

Monthly Calendar

This view displays a monthly view on chores. Group member are displayed as columns, and the chore cards are displayed and behave the same way as the weekly view. The user drag and drop the chore card from the right to their respective column indicated by a light background color, and can be marked as completed or removed from the column by interacting with the small pop-up menu that is activated by clicking on the chore card.

A monthly chore counts towards the points for the current week only. This means that marking a monthly chore as completed cannot count towards a past weekly progress goal, or a future goal. This also applies to the potential total point indicator in the weekly progress bar. If a monthly chore remains uncompleted from one week to the next, the potential total point of the new weekly progress bar will not start at zero, but at the point value for the monthly chore.