Back to Parent

Outcome


Intention


Imagine this scenario: you and your friends just made a last-minute decision that you want to watch a movie together, and now you are struggling with what movie to watch. Sounds familiar? The struggle of finding a movie is real! According to Hick's law, the more options you have, the longer it takes to make a choice. With the attention to solve this problem, I created Movie Eva to recommend movies basing on your feelings or desired genre type - one movie at a time! 

Context


With the rapid development of Artificial Intelligence and deep machine learning, there is never a lack of movie recommender that can suggest movies base on users' behavior on the internet. However, the process of finding a movie online is laborious for me. Opening a browser, typing in keywords, clicking into a movie database website, rolling through pages on the websites, and debating on choices...this process is time-consuming. So I looked to shorten this process.

Shorten process
Show Advanced Options

Looking into zero-UI concepts, a chatbot will be a very suitable solution. I got some inspiration from the HuggingFace chatbot, a social AI featuring chit-chat with users, selfie trading, and character customization. The bot doesn't try to disguise itself as a human because it sometimes will provide choices of response for users, which does not resemble human texting conversation. However, this is a smart and effective way to guide the users in the interaction, especially if the bot is not able to handle out-of-range questions. 

Process


1. Identify Bot's Personality

I started out by giving the bot a personality, which will help me visualize its language and voice and the ways it will offer help to the users.

Bot personality worksheet
Show Advanced Options

2. Function Matrix

A function matrix helped me prioritize the features by the difficulty level. I ended up achieving most of the features in the chart, but I am still hoping to work on the follow-up conversation.

Function matrix
Show Advanced Options

3. Conversation Flow

The conversation flow visualized the interaction before I started coding. After drawing the flow, I did some usability testing by role-playing my bot with some classmates to test out the conversation. 

Conversation flow
Show Advanced Options

4. Connecting APIs

I looked into 2 APIs: Microsoft Face API and the Movie DB API. The former can analyze data such as emotion from images, and the latter is a movie database that offers multiple ways to extract a movie information. I am pulling these two APIs together because I tried to recommend movies by reading users' mood if they choose to send a selfie to the bot.

Show Advanced Options

Product


Movie Eva was a Ruby-based SMS bot with Sinatra framework, connected to Twilio and deployed through Heroku. It can receive images and text from the users, and reply with a movie recommendation accordingly.

Text convo whitebg
Show Advanced Options
Show Advanced Options

Reflection


1. More Usability Testing

How I decided to match different genre types to different emotions was to do a quick survey - I asked my friend to do the matching. The survey sample could have been bigger if I have more time so that the data would have been more accurate.


2. Better with Random Questions

I can dig deeper into the conversation. For example, "I feel" / "I am" + "{feeling}" can trigger a next step response such as "Why do you feel this way?"

In some usability testing, I observed that users would ignore my onboarding message and text things like "how are you doing?", "what's up" instead of following the instruction. When that happened, Movie Eva does not respond well. I will dedicate more time to polishing the conversation flow, and possibly implement the Dialogflow API. 


3. More Ways to Request a Movie

"I really like history movie. I wish I could just say 'Victoria' and it gives me a movie for that time period."

A user told me what feature she would like to see in my movie bot, and I agreed that the bot can be more versatile in terms of ways of searching. One user was trying to type in a movie's name and then realized the bot did not take name search.  Therefore, exploring how to use the "keyword" search of the movie API is my next step.

Drop files here or click to select

You can upload files of up to 20MB using this form.