For the U and I lab, I decided to make a drawing app where you can either draw alone locally, or connect via Bluetooth to another device and draw with a friend. As the “artists” draw, paths are redrawn in layers by pushing new paths onto the local and remote path lists and can be removed in reverse order with the undo button.
Most of the widgets used for this app are found in the menus as the main interface is the drawing canvas. The app includes the following widgets:
During development of this app, I learned about the perils of connecting via Bluetooth. More specifically, Android’s app restart policy for configuration changes means that maintaining a Bluetooth Connection requires extra thought, or cheating like I feel I did by having my app ignore these changes. I also feel like with Bluetooth it is difficult to remove the user from the connection process as the user still needed to make their device connectable (as a server) or request to be a client for another device. I think my app could use some help making connecting seem more intuitive. As far as widgets go, my app idea made me learn how to set and retrieve values from the scrollbar for the first time.