With all the the concern and worry going around, coupled with the inevitable cabin fever that people might feel being stuck in their homes all day, there seems to be a lot of negativity in the world. Our team, on reflecting about how we felt being stuck at home unable to go out, decided that a good way to alleviate the stress and worry is by finding activities to do. We came up with the idea of an app that would give the user a random suggestion of an activity. That way, the user can take their mind off the stress of the world and enjoy a small activity instead.
What it does
The app starts with a button: "Entertain Me". When pressed, the app will randomly offer an activity for the user to do. Activities include:
Drawing If the user is prompted to draw: they are offered a suggestion of something to draw. They can use the colors offered on the left side of the screen to draw the image. When they are done, they can either request a new prompt or return to the home page.
Movies If the user is directed to movies, they can select which category of movie they would like to see. A random suggestion will then appear at the bottom of the screen. The user can continuously select movies to watch or return to the home page.
Code If the user is prompted to code, they can learn how to print lines in two different coding languages: Python and Java. Once they have typed the code, they can return to the home page.
Jokes If the user is directed to jokes, they can choose either to read a knock-knock joke, or they can read a random two-liner. If they choose a knock-knock joke, then they press the buttons, reading the joke until the end. The final button will take the user home. If they choose to read to two-liner, then they are prompted to click a button that will randomly generate a short joke. They can then keep generating jokes or return to the home page.
Venting If the user is directed to journaling/venting, they can type in the grey box to their heart's content. They can then return home.
Napping If the user is directed to take a nap, they can choose one of four different soothing noises to fall asleep to. Then, the 20 minute timer starts, and is stopped with a gentle alarm. After the 20 minutes are up, the user can return to the home page.
How we built it
We used Xcode (Storyboard is amazing) for a majority of the software. All coding that needed to be done was completed in Swift. Artwork for the "Entertain Me" button was done on Photoshop. Work was split among group members, and all work was brought together using git.
Challenges we ran into
During the short 36 hours of LAHacks2020, all three of us learned a new interface, Xcode, and its corresponding programming language, Swift. This required parsing through hundreds of pages of documentation to find solutions to the coding problems we encountered and constant trial and error to reach the desired outcomes. Alongside this included unfamiliar errors, unfamiliar syntax, and understanding an event-driven system with gestures. Furthermore, we dealt with different software versions, leading to tricky bugs and difficulty assembling our different pieces of code via Git. Near the end, we lost our most updated version of the code, giving us greater understanding of the phrase “One is none, two is one, and three is Two”; having multiple backups is crucial. Finally, creating the user interface was a challenge, as we had to step away from our programmer mindsets, conceptualizing how the user would interact with the program.
Accomplishments that we're proud of
I genuinely respect and admire any app developer for the hard work they put in. Completing an entire, interconnected, and working application is and will always be a feat. We had to start from scratch, which means learning a new language from scratch, working in an unfamiliar IDE, and having our best tools stripped away from us to start anew. Patience and persistence were a hard-earned virtue though this hackathon as we read through at least dozens of pages of documentation and understand how to handle collisions and conflicts. We dove head first into a challenge that we didn’t previously know much about but were eager to learn as much as we could from it. And throughout the process, we continued to support each other, both mentally and in our coding.
What we learned
As a team, we learned a combination of hard and soft skills during the Hackathon. We developed new skills in Swift, using Xcode, Git, and UI design. Having the extra difficulty of communicating remotely, we further appreciate the importance of communication, listening to collaborators, and having in-person interaction. With the strict 36-hour time limit, project management was key, and we all had to assume a level of independence as we divvied up the work. At the same time, having another pair of eyes when you’ve stared at the same lines of code for three hours is just as important. The limited circumstances and rules taught us to have strict time management and be realistic about our goals, yet we were still able to produce an app that reflected some of our personal creativity.
What's next for QuaranTIME
More jokes, more naps.