This week saw me finalizing the desktop app, as well as beginning some testing on it.
Below are some updated screenshots of both the schedule creation screen and the bluetooth screen:

This also saw me responding to advice given by my peers in regards to what should be included to make sure the desktop app is easy to use and understand. Results from this advice centered on increased notification as to when tasks like saving schedules are completed. The biggest thing added this week would be toast notifications that alert the user before fading automatically, allowing for easy notification that is hard to ignore yet also doesn’t require undue effort to react to. I also made changes to certain portions of the color scheme, but had to consider the visually impaired in what colors were selected. I defaulted to soft greens for most selected options, and am awaiting feedback on whether the color is distinct enough without causing eye strain.
Overall I feel that the app is almost complete, and only requires a couple more quality of life changes before the demo in 1.5 weeks, which gives me time to aid teammates in integration so the demo goes well.
In terms of new knowledge I required to finish this project, I found myself reviewing and reflecting on work I had done during a prior internship that was also centered on desktop application UI design. I had to learn to put myself in the mind of the user when designing the app, since they would know less about the project and thus would require more aid in tips when using the app. This then led to me trying to find a balance between making the app easy to understand and clean to look at, as drowning the user un additional messages seems like poor design. Learning good UI design involved me navigating common websites (google, canvas, discord) and taking note of the UI choices made there. What colors worked well together, how often were error messages displayed and in what format, what was the user informed about and what was relegated to the backend. All of the observations informed my decisions regarding the desktop app.
In addition to UI design, I also had to learn how to use new libraries and language, especially in regards to how to connect to bluetooth devices. While flutter/dart is similar enough to kotlin as both use the google material library that learning the language was not needlessly complex, I had never had to deal with bluetooth before, so learning how to use the flutter_blue_plus library was fun. In terms of how I learned to use the library, it generally involved reading official documentation and parsing example code that could be adapted to serve my purposes. In addition, forum posts like those from stackOverflow were helpful in identifying bugs, as most common bugs I ran into were not exclusive to my project.
