Week 9 – Rapid Ideation 2 Review

Why would I choose to make an app?

The theme for this project was to solve a problem you face. I knew I could have done a game so wanted to challenge myself even further. The unit I am currently studying for my masters degree is shared with
the UX program. So for my second rapid ideation, I thought I could learn to better understand user experience and what a UX expert would do. I thought that by making an app by following the processes of my UX peers, I could understand better what they do, and how I can use their skills for my own endeavors.

My app was to clean up and unsubscribe from spam emails automatically. Earlier in the year, I had been on the receiving end of an email bomb, which is what it’s called when a scammer tries to keep you out of your
emails to defraud you by subscribing you to as many things as possible using scripts.
My app also needed to be simple to use, stress free and functional as I had a distressed target audience in mind while developing.


My preferences and why:

Having seen some UX projects, I first had the idea to learn AdobeFigma. Coming from a games background, I quickly found that even with UI experience, designing an app in Figma would be a challenge as the skill did
not transfer very well, and standard workflows were incompatible. I eventually moved away from Figma to some software called Justinmind. I found it to be pretty similar to Figma but found that their own tutorials were much better and I was quickly able to learn the program I created the final program in python3. I am also aware that there are languages that would support more platforms, with further development I would look into multiplatform code. But for this task, I needed a language that I could be sure could accomplish the task quickly as the main focus was on learning the UX approach. Python is a language that I have a good idea
about how to use and I knew I could accomplish the task with it in time.


Feelings:

I found a new appreciation for what UX designers do, and a much better understanding of what they do, I was pretty amazed that a lot of what I do can be behind the scenes and doesn’t need to be presented to a user. I
think consulting UX experts can have massive benefits to a project that can create much better products for end-users.


An evaluation and analysis of my app development

When making the app, I focused first on writing the python code to do get the emails, search for the required unsubscribe links, and create a list of senders that the app could attempt to unsubscribe from.

After that was mostly done, I thought about the visuals. I thought about the order I would render and how best to get the design from Justinmind to my app. In the end, I chose to render the background from an image file and then overlay the data entry boxes and list entries separately.

Having never seen the code for an app before, I am not sure if I wrote out my code as an app developer would. I was thinking that an app is basically a game that runs in a slightly different way and so I still used
“Game loops” to process the data and render the screen. The end result is that it works and looks alright so I am less concerned about coding standards for apps in this project in particular.

I had a solid idea of who my target audience was. A person who has just experienced the fear of being scammed. I didn’t want anything complex, just a solution that doesn’t ask the world from them, just a button that they can press to fix everything. My audience is distressed and already has a lot to think about.

The studies in Stress Appraisals and Training Performance on a Complex Laboratory Task (Gildea, Schneider and Shebilske, 2007) concluded that they were the first to document that stress appraisals predict training performance. The studies suggest “that little information about a task is needed for appraisals to account for a significant amount of variance (11%) in training performance.” and when taking into account that my target user would be under a lot of stress, I knew that keeping the interaction simple would significantly improve the product. I also imported the assets for the Windows OS, I wanted my app to be familiar to existing Windows users in an effort to reduce stress as much as possible. I had a very clear view of who this app was for.

Lee, Moon, Kim, and Yi suggest that simplicity comes from “the four components of reduction, organization, integration, and prioritization” and that simplicity and interactivity can lead towards adoption. “The findings lend empirical support for the common conception that simplicity is a major part of a highly usable interface” (Lee, Moon, Kim and Yi, 2015). This supports my idea that a simpler interface, removing any unnecessary elements would be better for the target audience.

There was however another area that could have been simplified I intentionally did not scan email addresses to get the Imap server details. While I could have, I felt that leaving in this one complication could help the user feel in control. The “other” sever entry box was hidden until selected from the drop-down list, this was so that there would not be a box that a user may not know what do with, it would only show if needed but give
the user some control to select their email provider, even if I could have parsed the email address for the provider.


Self-Crit

What I did
I created a small app that would scan your emails for an unsubscribe button, create a list of senders, and allow you to select and unsubscribe from all the spam emails. The goal was to create a tool to be used by victims of an email bomb to help clean up and recover.

What went wrong
I did have some issues with a python library I used. I was using Pyzmail to search the emails for the links I needed but had issues getting the emails found from the initial search into the factory function of pyzmail.
I also had initial issues working with Figma during the design stage, I expected it to be a lot like working with user interface for games, but it was not.

How can I overcame what went wrong
I found lots of tutorials for Justinmind while looking for UX tutorials and gave the software a try. I much preferred the layout of Justinmind but there was not that much difference between the two softwares.
In the end I had to drop use of Pyzmail and use another library instead. Although I am not 100% sure, I think it may have been a compatibility issue with either python3 or outlook specifically.

During the final presentation, I ended up using a fake dataset of emails. I was pretty transparent that the emails were fake but it was to solve 3 main issues. Firstly, it keeps my emails private, secondly, it does not subject everyone watching thousands of spam emails and waiting for the full duration for it to finish (I recall it being about 5 mins during testing), and finally, I had not entirely changed over Pyzmail to the new library by that time.

Even if it was just building the emails into a format that could be parsed, giving the app a dataset it could actually read would temporarily solve any issues, just not bugs that appear on live emails.

What went well
The goal was to present a product and although my UX work leaves much to be desired, the presentation worked as I hoped. I was able to take a design from Justinmind and work out a way to render it as a regular program, using my own code to supply and process data.

What I achieved
I now understand much better what UX designers do and how they do it. I appreciate how hard it can be and some of the issues they face. I can also now properly crit and discuss their designs without the topic being
completely alien to me.

What can I improve and how
There is still a plethora to learn about UX but I don’t feel I should spend too much time on it, I make games usually and not often apps. I should however use what I learned about UX for games, I can see the obvious links to menus but even gameplay could have a similar UX analysis. I also think knowing about what a UX designer does will help any work I do with a UX designer in the future and I will be able to discuss with the UX designers during the rest of this unit. While not an expert, I can hopefully have some meaningful conversations.


Action Plan

  • Attend crit talks with UX designers each week
  • Talk to UX designers about their work in discord when the opportunity arrises
  • Don’t worry too much about progressing UX software skills, its useful but not something I need to know a ton about to work on games. Focusing on aspects like accessibility and usability are worth considering still however.

Conclusion

So overall UX has been an interesting thing to look at. I don’t think the software needs further research, I have game development alternatives that suit me better. The key takeaway from this project has been how I thought about the user and their interaction with the app and their mental state. This is partly because I
chose a distressed audience but also because I chose to focus on the UX of the app. I was also exceptionally impressed with the thought some of the other students put into their apps, I have learnt what a UX designer does and a bit about how they do it and I think this will be very useful to know, I do not however think It takes precedence over my game development skills which I will be happy to return to for the next project. A
fun and rewarding detour.


Bibliography
Gildea, K., Schneider, T. and Shebilske, W., 2007. Stress Appraisals and Training Performance on a Complex Laboratory Task. Human Factors: The Journal of the Human Factors and Ergonomics Society, 49(4), pp.745-758.

Lee, D., Moon, J., Kim, Y. and Yi, M., 2015. Antecedents and consequences of mobile phone usability: Linking simplicity and interactivity to satisfaction, trust, and brand loyalty. Information & Management, 52(3),
pp.295-304.

Leave a Reply

Your email address will not be published. Required fields are marked *