Project Reflection

Rationale

My goal was to create a chatbot that provides users with different methods of coping with stress. The purpose of this project was to entertain, appease, and/or distract audiences through technology.

Risks, Challenges, and Opportunities

While the code free bot building method was rewarding in many ways, it also limited features that were crucial to my initial goal. First, the user was unable to actually “chat” with the bot. I noticed during trials that people naturally attempted to type their responses to the bot’s prompts. Second, Gupshup limited the number of options that I could propose in a single prompt. It also limited the number of characters for each response option. This was difficult to work around because more characters were needed in order for the conversation to sound like natural human interaction.

Despite these flaws, the code-free method allowed for success that I probably wouldn’t have achieved through coding myself. One bonus was the ability to link to resources and embed images. This enabled more creative conversational directions, like the red pill/blue pill ultimatum. It also allowed me to include visual aids for the mental health resources StressBot would provide to troubled users.

If I had to attempt this project again, I would try using Gupshup’s programming template. I think this would help me become more comfortable with coding and also allow me to create an actual chat bot without the character limits.

Resources

In addition to Gupshup, I used many different resources for this project. The goal was to provide ways to cope with stress and other related mental health issues in a digital context. I found a lot of great GIFs on Tumblr. I also found a ton of white noise/relaxing videos on YouTube that StressBot could link to. There were many informative websites that I gathered facts, tips and interactive exercises from that the bot provided as well.

Schedule

My initial schedule left me with a week of navigating/researching Gupshup and stress relief techniques, but this just didn’t happen as soon as I would’ve liked. I did manage to create an outline on time, but because I didn’t have enough resources or experience to thoroughly plan, I stopped relying on it. I researched the stress relief techniques and learned how to build the bot as I actually worked on it.

Outcomes

I’m happy with my end result; I attempted everything I could with the code-free method and I can continue adding more to it if I’d like. Because the decision to add and develop the “I’m OK” response wasn’t made until later on in the process, I feel like that half of the bot lacks variety. The “Not Good” response leads to a lot of the information and resources that I had in mind when I started this project.

I think I could have made the bot much more complex had I stuck to my schedule, but the direction I took ultimately led me to learn more about the function bots provide to humans. I discovered a lot of great online self-help resources while trying to build StressBot. I think that housing these resources in a personalized Messenger bot could benefit a lot of people who struggle with the problems I addressed. However, I don’t feel that what I created could be considered a “chat bot” because the user does not get a response by typing whatever they want.

Executive Summary

I created a Facebook Messenger bot that provides different methods of stress relief to entertain or help audiences. Through attempting this, I became accommodated with Gupshup, learned more about online mental health resources, and successfully published a bot to social media. Exploring Gupshup allowed me to realize that while there are many different ways to build a bot, each method has its own strengths and weaknesses. Because I fell a little off schedule, some areas of StressBot were not as complex as others. While the code free method had its limitations, it allowed me to quickly and efficiently build a bot that could potentially help people.

Send StressBot a message here.

 

Another Progress Report

At this point, I’m experimenting with the possibilities this bot format offers. I began my project with the idea that I wanted it to be primarily useful, which it is, but it’s also become a cluster of different things.

In examples, the Gupshup flow builder is used for customer service-like interactions. This was great for my initial goal of providing relaxation resources to the user, but it quickly became too impersonal and robotic. This has been a huge challenge for me. The flow of conversation started to resemble, “Want to see this? Click here. Done? Go back to Main Menu.” This changed once I started allowing other people to test the bot.

progress report 4

After I had a substantial amount of images, links, and different conversational directions, I published the bot to Facebook and asked a few friends to test it. In attempts to shock and surprise them, I took the time to leave little notes in random places. If they messaged the bot and clicked an option I hadn’t yet developed, the bot would respond with cuss words or funny GIFs.

This resulted with more memorable, human-like interactions and has left me with a better idea of what I want the bot’s “personality” to be like. Instead of sticking to a rigid self-help/informative format, I’ve started adding a lot of playful, miscellaneous items and resoures

Progress Report

Once I had a general idea of the resources my stress relief bot would provide to users, I created an outline and began using Gupshup’s flowchart interface to construct the bot. I thought I’d be relying mostly on images and text, but I’m currently relying on YouTube videos for a lot of the relaxation techniques.

progress report

After working on this project for a bit, I’ve found a few limitations of Gupshup’s code-free method. What you create with the flowchart is not necessarily a chat bot. Chat bots are very complex and must be able to adapt to the user’s input. I think a more appropriate name for what I’ve created would be a “link bot”. Once invoked in Messenger, the user is provided with a multiple choice-like prompt. From there, they select the option that best suits their needs.

Since Gupshup allows me to test my bot via Facebook messenger, I plan on publishing the bot to Facebook. I have created a page that will house the bot and am also in the process of customizing it. I think a benefit of creating a private messenger bot on Facebook is that it gives a more personalized impression.

progress report 2

Despite the limitations of the code-free method, I don’t have enough experience to code a chat bot with Gupshup’s programming template. After sitting in on one of the teaching days, I’m debating whether or not I should try creating a Twitter bot in addition to the Facebook Messenger bot. This would extend my compilation of resources to another platform, reaching a broader audience than only those who privately message the Facebook page.

Project Proposal

Rationale

My goal is to create a chatbot that provides users with different methods of coping with stress. The purpose of this project is to entertain, appease, and/or distract audiences through technology.

Risks and Rewards

A clear risk in attempting this project is the failure to produce the desired outcome. Perhaps the chatbot is functional but doesn’t provide appropriate responses. Maybe the chatbot’s creation is successful but fails to have an effect on the audience. Maybe I am unable to create this bot altogether.

If the project goes well, audiences have access to a chatbot that will direct them to different relaxation techniques. This will hopefully result in better attitudes/performance.

Resources

I will be using the Gupshup platform because it provides code-free bot building methods in addition to those that require programming knowledge. In order to accomplish this project, I will need to have a thorough understanding of how the platform works. I will also need to research different approaches to combating stress and decide which ones will be featured in the chatbot. I will probably need access to images, videos, quotes, advice, and useful websites. Finally, I’ll need to know how to publish the chat bot to social media/ allow people to use it.

Schedule

11/10 -11/15: Navigate through Gupshup. Test different bot building methods. Research stress relief techniques.
11/15-11/17: Outline what techniques will be featured and how.
11/17-11/24: Begin building bot based on outline.
11/24-12/1: Continue building chat bot. Decide what platform it will be published to and how.
12/6:  Complete project.

Assessment

I have no experience with bots. While I would like to be able to create a functional/meaningful chat bot, I realize I may not be able to. I think success lies in gaining experience/understanding more about the bot building process and the effect chatbots can have on users.

Executive Summary

I am creating a chat bot that provides different methods of stress relief to entertain or help audiences. To accomplish this, I’ll need to familiarize myself with Gupshup, research what relaxation techniques are most successful, and learn how to publish a chat bot to social media.

Manifesto Revision

I’m learning programming because I know I can do it. Despite the frustration I have experienced thus far, my goal remains to create something that I’m proud of by the end of this semester. I am still anxious that I will find myself at a road block. While I follow the book and can understand certain topics, I struggle with creating my own code for the exercises. I have not dedicated enough time in thoroughly understanding the concepts introduced in each chapter. Moving forward, I will make more of an effort to do this. Additionally, I need to remind myself that running into errors is not a reason to become discouraged. My biggest worry is that, if I’m already struggling with each chapter’s exercise, I won’t be able to produce something for a final project. While I originally considered creating visual art or a bot, I’m brainstorming other options for my project. After seeing the edited video clips from the debate, it may be interesting to do something similar with a show or movie that either makes a statement about our culture or gives the viewer something to think about.

Coding Environment

I installed Anaconda, which included the Jupyter Notebook and Python. After watching tutorials and weaving in and out of each, I have a general idea of how they work but I still need more practice. I chose to use these because they were recommended in the book. The Jupyter Notebook allows me to easily execute code as I write it, catch mistakes early on, and save my work in different formats.

I created a subdomain here to share my work. I tried to give it some semblance of a webpage and added the ‘Double Double’ experiment, along with my modified version. I created the subdomain because I’d like to keep my projects connected to my website, but I’m afraid that I’m somehow making more work for myself by adding html to the mix. I don’t really know how else to make this a functional page and might try github if it becomes too much of a burden.

Lastly, I created a desktop folder called DGST for files I end up saving. I’m hoping to solidify my coding environment once I have a better idea of the direction my work/habits take me.

Manifesto

I’m learning programming because it has the potential to be a fun and rewarding experience. I’d like to create something I’m proud of. This is important to me because my prior attempts at learning were frustrating. I am a bit anxious that I will exhaust all possible options when trying to make a program work. I plan on overcoming this by following the book, working with other students, and possibly utilizing some of the online resources we discovered in class. To ensure my learning remains consistent, I will take my time in understanding new concepts and work closely with the book as I practice. I have a tendency to become discouraged when my code doesn’t run properly, so one of my goals is to not pressure myself to “make it work”, but to appreciate the benefits of attempting. I’m interested in creating visual art or a bot. I’ll know that I’ve been successful if I finish with a better understanding of programming than I did when I started.

Reflection: The Peripheral

When Netherton and Lev met officer Ainsley Lowbeer, I was intrigued by her abilities. Without prior interaction with others, she had access to their criminal records, unread messages and recent whereabouts. She could sample DNA with a mere handshake. This led me to find an article that lists some recently developed technology in law enforcement and evaluates their success and controversy. Lowbeer’s abilities don’t seem constitutional in today’s standards. My group discussed whether tools in law enforcement would remain constitutional, or that laws will change to better adapt to technology. Throughout the novel, lines between legal and illegal activity are blurred. Laws change as our society changes.

Flynne’s discovery of police corruption and her county’s economic dependence on drugs led me to share an article about police corruption in the US with my group. Our discussion ranged from morality, economy and class roles in technology. Drugs are a viable economic source for small town/low income areas. Just as Netherton’s timeline benefits from the labor of individuals in the stub, today’s technology relies on unseen labor in third world countries.

Compared to Flynne’s life in the beginning of the book, it was interesting to see how influential her existence became. She fell into a position of power that potentially enabled her family’s survival through the jackpot. I found a post that discussed the effects of income inequality on our social structure. Since Flynne had become aware of the jackpot, and her own contribution to it, I was interested in whether she should assume responsibility in lessening the economy’s damage. Flynne was written with respectable values, and I was relieved to find at the end of the novel that Coldiron started to divest in attempts to get the economy closer to normal. It’s interesting to wonder whether wealthy corporations in our world would take a similar approach if necessary.

I don’t think I would have been able to critically think about concepts found in The Peripheral if I hadn’t been expected to teach and facilitate a discussion. I was able to make connections to our society and form conclusions about the ethical and financial impact of technology.