Creative Apps

Course reflection

During the course, I worked on making Dancealicious an app that gamifies the dancing experience at parties. I choose Creative Apps as an elective because it had been a while since I have done a project that required programming and I wanted to improve my programming skills. I had a decent basis in both Processing and Arduino and I wanted to expand on this. What I most struggled with in the past was that I did not feel like I could create complex systems I hoped to change that through the course.

The idea for our app came from a friend of mine who saw people standing still at the parties he organizes. When I told him I was doing this course, he gave me the idea for the app. The goal was to actually be able to use it during the next party he throws.

During the course I focused on the backend part of the app, I did most of the Java programming. The programming that was needed to make the app was not very different from what I have previously done in Processing, but It did require me to think more about the larger system. How would the app work with the database and how should multiple people actually play together?
The solution I came up with was to override the data for the team when a player’s score was updated. The app would handle combining the team score and the player score into a new team score. I briefly looked at using Firebase functions to compute the team score on the server, but that proved to much work.
I found a way to turn the saving and loading of persistent data into two functions, one for writing and for reading, that could be used throughout the entire app. This made the code easier to use by saving all the important values, party code, player name and the team in one file.

A lot of the solutions I came up with are rather ad hoc and I think it would be good to start from scratch when making a new version of the app. I am happy with how the app turned out. All the essential functions are there, database integration, multiple teams and persistent data to provide a personalized user experience. This would allow me to rethink how the app works and to actually be able to improve it.

I never had the ambition of becoming a software developer and this course has shown me that that is still definitely the case. However, I do like projects that have a digital element to them. Being able to create basic apps will allow me to better communicate with software developers and I will be able to use it in future projects. Making an app has also given me the confidence that I can do more complex software projects what will definitely be useful in the rest of my studies and in my work as a designer.