Evaluation

MoSCoW List Achievement

ID Description Priority State Contributors
1 Connectivity to Bluetooth sensors Must Seun
2 Text-to-Speech (voice announcements) Must Ramon
3 Ability to create workouts and store the data Must Bane, Hsu
4 Speech-to-text Should Bane
5 Insights page with graphs to track metrics Should Hsu
6 Easy start-up once configured for the first time Should N/A
7 Ability to store favourite workouts Could Bane
8 General insights of the average workout time Could Bane


Individual Contribution

Work Packages Seun Bane Hsu Ramon
Partners liason 25% 25% 25% 25%
Requirement analysis 25% 25% 25% 25%
Research 20% 20% 20% 40%
Coding 33% 33% 33% 0%
Testing 0% 33% 33% 33%
Report Website 60% 13.3% 13.3% 13.3%
Video Contribution 20% 30% 10% 40%
Overall 26% 26% 23% 25%

Critical Evaluation

User-Experience

One of the primary requirements from our clients was to ensure that the app development was centered around the needs of our target user-base, which largely consists of people with impairments. With this in mind, we consistently evaluated our project from their perspective throughout the development process.

To make the app more accessible to visually impaired individuals, we incorporated large text and icons. We also added voice callouts to serve as a virtual assistant and to make the workout process more user-friendly. Additionally, we enabled voice control to allow users to ask for sensor information and workout details while exercising.

In order to promote user safety, we implemented callouts that notify users when their heart rate falls outside of the intended range. These callouts also provide helpful warnings such as 'Slow down' or 'Speed up' to encourage users to modify their workout accordingly.

Functionality

Another target for the project was to ensure optimal functionality. The minimum set by our client was to ensure that a user could go through one whole iteration of the app in which they will be able to:

  • Connect sensors

  • Start a workout

  • See their heart rate information

  • Finish a workout

  • See their health data

We were able to fulfill all of the above whilst also adding in extra functionality to ensure a good user-experience thus fulfilling all the requirements from our client

Stability-Efficiency

There are a few areas of concern regarding our app that require attention. Firstly, we have identified an issue related to saving workouts that needs to be resolved. When saving more than two workouts, the app crashes due to a threshold being exceeded in the number of graphs stored in the app. We have traced this issue to the Syncfusion plugin we were using, and it appears to be a limitation of the trial version of the plugin. We acknowledge that this instability in graph storage is problematic and will require a robust solution.

Another concern we have is related to the use of third-party services to implement some of the app's features. For instance, we require Microsoft Azure and Syncfusion for functionalities like voice control and graph rendering, respectively. While these services enhance the app's functionality, they are subscription-based, and the costs may become unmanageable for our clients down the line. We need to consider alternative options to address this concern.

Additionally, we use the Plugin.BLE, a community-developed plugin, to enable BLE connections as .NET MAUI currently lacks in-built Bluetooth support. Although this plugin has proven useful, it is also more prone to bugs than other plugins. During the development cycle, we encountered several issues that required resolution. We need to address these concerns to ensure the app's reliability and stability.

Compatibility

We developed the app as per our clients' request, making it exclusively compatible with Android devices. Although we utilized a cross-platform framework, the app's features require platform-specific code, such as Bluetooth, that would make core features unusable and lead to errors if run on other platforms.

Furthermore, the app can be executed locally on an Android Emulator, but we must highlight that the sensor integration will be unusable as Bluetooth remains unavailable on emulators at this time of writing. We are aware that this may limit the app's accessibility for some users and are open to exploring alternatives that can provide a more inclusive experience across different platforms in the future.

Maintainability

Our development team primarily utilized the Model-View-ViewModel architecture to achieve optimal separation of concerns, resulting in a well-modularized project. This approach ensures that each component of the app is independent of others, making it much easier for future developers to identify and address bugs and improve & maintain individual features. future.

Project Management

Our development team was effectively managed, with a focus on open communication and collaboration with our clients. From the project's outset, we organized frequent meetings, initially on a weekly basis, which all team members attended regularly. As the project advanced, we recognized the need to adjust meeting frequency to bi-weekly intervals to ensure effective time management.

We utilized Gantt charts and project timelines to effectively allocate tasks and ensure that we met all project deadlines. Additionally, our team culture emphasized mutual support and collaboration, which allowed us to offer assistance to any team member struggling with their assigned tasks. This approach facilitated a smooth and efficient workflow throughout the development cycle.



Bug List

ID Bug Description Priority
1 When graphs are enabled, the app will crash once more than two workouts are created Medium

Future work

In the future, we would like to add more accessibility features to the app to allow for a more streamlined experience for our users. A key feature would be to allow for the enabling of callouts with regards to the graphs, meaning the user would be able to tap on a specific area of the graph and the app would callout that specific data point. We would also like to generalise this feature so that once a workout finishes the voice assistant gives an overall review on the experience and offer personalised feedback.

We would also like to expand the app to other platforms such as iOS and Windows considering this would increase the userbase by several folds.

We would also like to enable integration with health apps such as Apple’s Healthkit as this would provide the app with more personalised information regarding the user which would greatly imporve the feedback the app would be able to give