User Testing

A - Description of your medium-fidelity prototype

The functionalities of our prototype are as follows: Users can input their availability to hangout on a calendar in 30 minute increments Users can input their phone number and set how many days they would like to be given plans in a week and the minimum number of days ahead of time they would like to be notified When the user submits their information, they will be texted activity ideas from our database of activities.

The code for the front end can be found in the schedule-selector/src folder in App.js and Form.js. The code for the back end can be found in the firebase/functions folder in the main.py file. The Github issues that address those functionalities are creating the calendar and storing the dates/times selected, inputting phone number and settings, creating activities database, and sending users activity ideas (the Github issues weren’t actually created, though). We chose to omit the other functionalities for our medium-fidelity prototype (other functionalities include adding friends and matching your availability with your friends).

B - Screenshot/photo of the prototype

G3 Calendar

User interface to specify social availability for the upcoming two weeks and provide a phone number to receive activity plans.

G6 text

Text message received by the user from Twilio with the desired number of activity plans.

C - Findings from the user testing sessions

We learned that the users want less friction when inputting their availability. We tested with 6 users. One user mentioned that it would be nice to have a baseline of times they are generally free (or not free) to make the process easier. Many users expressed suggestions for how to improve the UI of the overall calendar. A user said it would be helpful to highlight the day that was today A user said that they’d like a monthly calendar in which you can focus on a single week. While we liked this idea, we felt it would be too difficult to implement. Additionally, we felt people would forget to update their availabilities if they had a month’s worth of dates. Multiple users said it would be more intuitive to have seven days on the screen. We agree with this and will make those changes. We also hope to implement an arrow to traverse one week in advance. Users mentioned that it would be more intuitive if our calendars mentioned day of week. We plan to implement this. However, this may be slightly more difficult than anticipated since we used a module to build up our calendar feature.
A couple users suggested that they would like to specify whether they want indoor vs. outdoor activities for the week. We may consider introducing a simple preference quiz feature if time permits, however we thought that some users may enjoy having a diversity of activities depending on the time, day, and season.

They would like to have their general schedule repeat from week to week and also see the days of the week for each date and the current date. The users also wanted more information about each plan since they felt like some of the plans were too big and they wouldn’t end up actually doing them. This includes information in the text message about the day and time that the individual is free to do the given activity (we plan to implement this feature as it is important to the friends aspect of our design). Overall, they did think that the plans were useful and they would be inspired to do something, even if not exactly the plan we sent them. The findings are promising enough for us to go ahead with the current functionality. The users thought it was pretty and intuitive to add their availability and other information, though the UI could be improved upon. We will also continue to use texting to notify users of their plans since it is an effective way to communicate with users and once we add the functionality to add friends, it will also provide an easy group chat for them to communicate in, which we think will be effective. The next functionalities that we will implement in our prototype are the ability to login and create a profile. We will then allow users to add friends and match their availability with their friends and be sent plans for times when the user and their friend(s) are both available.