This was my second time creating an application for Iowa State's Boulder Bash climbing competition and I wanted to greatly improve on the previous year's work! In that time I had learned a lot and created even more applications and base code. For this software, I wanted to use a database stored on a server, a mobile web application for Judges, and a desktop hub for performing all major actions.
The web application would be created with Vue and designed around the mobile screen. The backend will be using Django. This was the first time I had used Django or Vue in production level application and it was a difficult learning curve at the beginning. With that, I also was serving the application on FastComet and had to figure out how to set up the server properly to run the project.
By the time the competition came around, everything worked properly and on the day of the event, the application and infrastructure worked exactly how it was intended! However, there was a problem. When I was creating the UI for all the judges to enter scores on their mobile phones, I was only focused on efficiency. I wanted it so judges could enter the scores as fast as possible, but neglected the idea of whether the users were entering the data accurately or not. This led to climbers receiving scores for routes they didn’t get or not receiving scores for the routes they should have.
Because some of the scores that were entered were incorrect, the leaderboard and results were also incorrect. Luckily for the competition, all the scores were on paper and we were able to just count up the scores manually. Although I was extremely disappointed that I had to consider this a failure, it taught me a valuable lesson about UI and UX. Efficiency should be considered after accuracy is ensured; meaning, the accuracy at which users can enter data should take priority over the speed at the workflow of the users. This principle would help me later on projects for clients when considering page layouts and workflow choices.