Wednesday, April 26, 2017

Development Update: Features We Didn't Deploy and Things We Didn't Do

Although these features received some development time, we were unable to release them in time for our user study.

1. Countdown timer that displayed how long users had before their class began and how long they had until they were marked tardy or absent.
2. A detailed attendance log viewer so users could see a thorough list of their attendance reports during our user study.
3. A more efficient data representation using Google's protobuf data format. This would enable our client and server to communicate more rapidly than by transmitting data using the JSON format.
4. A faster database, such as MariaDB, would've let our server save and load data at a much faster rate.
5. A constant integration system that reported any compilation failures once we uploaded either client-side or server-side code to our code versioning system.
6. Unit tests for the UI so we could guarantee that users had access to given functionality.

The first 3 features required more thorough debugging, but we did not have time to finish them. Features 3 and 4 were not necessary as our server responded fast enough, with a mean latency of 50ms and no waits longer than about half a second. If we had more users communicating with our server using either the Android app or the iOS app, we would have to implement several optimizations such as features 3 and 4.

The last two features were sorely missed as we occasionally deployed updates that lacked key features. Any professional software development team would have implemented these in order to ensure that users would not be exposed to undue feature regressions.

- Hugo

No comments:

Post a Comment