Research

Our team has researched some current fitness apps that lack accessibility for the disabled. The goal is to provide speech control, virtual coach service and accessibility everywhere.

Literature Review

Introduction

We have reviewed current software products that offer similar services to the ones the “VeloCity” project aims to deliver. There are many fitness tracking apps on the market, but they do not seem to fit the needs of people with disabilities. They tend to be very visual, which is not suited for blind and visually impaired. Furthermore, health tracking in these apps is created around an average person, putting everyone else out of the equation. We are here to change that for the better, focusing on specific needs of everyone. Cherishing their abilities, but being aware of their disabilities, and creating the app surround them and not a fictional person. However, some companies are trying to change that with more or less success. Our goal is to gather insights from existing apps, both pros and cons. Finally, getting the right view of what has been done, what must be fixed, as well as what innovation we have to add, to make people’s dreams a reality. Making everyone feel included and important both as individuals, and as a collective as well.

Zwift

Although Zwift does not offer full range of fitness tracking services, it is the closest thing to what our goal would be. Giving seamless sports experience with big accent on its social aspects. Zwift is bringing people together and making them lead healthier lifestyles through cycling, which is amazing. The app has, many pros, but also some important cons, which need to be addressed and used in our use case:

Pros

  • It provides an interactive way for users to track their progress.

  • It makes use of its hardware to obtain data such as gradient, cadence, speed, etc.

  • Online, immersive and social experience for cyclists.

Cons

  • It does not allow for voice control.

  • Users are required to purchase expensive gear (from them) in order to use it (not autonomous).

Evolve 21

The app provides a wellness program in three different areas: cardio, yoga, and meditation. It is an app that has been designed by the Cerebral Palsy Foundation so it is specifically made for people with disabilities. It only covers a small scope of sports activities, which is not suited for our use case, since we want to implement capability to track and follow person’s progress, for the full set of sports activities. Moreover, the non existence of personal coach makes it very general and not individually tailored, which makes all the differences. Some of the pros and cons of the app are the following:

Pros

  • It specifically takes into account the needs of mobility-impaired people.

  • It does not require any additional hardware or software apart from the app.

  • It teaches users a wellness program that can be completed in 21 days.

Cons

  • It does not allow for voice control. (repeating pattern in fitness apps)

  • It does not make use of any sensors, so it provides no insight on the users’ physical performance.

  • There is no more new content after 21 days, meaning it has a limited usability.

Accessercise

This fitness app has been specifically created for people with impairments. It provides the users with specific exercises adapted for disabled people, as well as a directory of gym and other fitness facilities ranked by their level of accessibility. Moreover, it includes a social aspect as users are able to create accounts and follow other users.

  • Its exercises are tailored for disabled people.

  • It logs users’ workouts so they can track their progress.

  • The social aspect drives user engagement and competition.

Cons

  • It does not allow for voice control

  • It does not allow for voice control (yet again).

Technology Research

XAML

XAML is a powerful markup language primarily used to build the user interfaces for our application We chose it as it allows for better maintability of code and reusability of components making the code more Readable for future devs. Furthermore, it is an ideal choice for creating dynamic UIs across multiple platforms - should the app expand to other OS platforms.

C#

On the contrary, C# is primarily used to handle the backend communications of the platform. Its support for asynchronous programming made it very useful for programming features that required the use if await and async features and its strong community support allowed us to implement features not yet incorporated into .NET MAUI such as bluetooth capabilities.

Plugins

Plugin.BLE - Bluetooth capabilities

CommunityToolkit.Maui - Animations & Custom Views

CommunityToolkit.Mvvm - Observable objects (sensor data)

Syncfusion.Maui.Charts - Workout charts

.NET MAUI

.NET MAUI (Multi-platform App UI) is a cross-platform framework for building mobile & desktop applications. It allows devs to write code once and deploy it over several platforms including IOS, Android & Windows. It also allows for modern and flexible architecturs and features custom fonts and shapes which is useful when tailoring an app to be used by the impaired.



.NET MAUI Integration

When we were about to start making changes to the app, it was suggested to us by the Microsoft team that we could switch to MAUI., which is the next generation of Xamarin, a framework that aims to provide a single cross-platform development experience for building native mobile, desktop, and web applications using .NET.

Here are some pros of switching to .NET MAUI from Xamarin:

  • Better performance: MAUI uses the latest technology to provide better performance and faster application start-up times than Xamarin.

  • Improved design and GUI: MAUI offers more beautiful and responsive animations and graphics for the GUI.

  • Single codebase: MAUI allows developers to create a single codebase for building apps across multiple platforms (such as Android, iOS, macOS, and Windows) with only minimal adaptations required in the code

  • Better integration with .NET ecosystem: MAUI provides better integration with the .NET ecosystem, making it easier to use popular .NET libraries, tools, and frameworks. This proves extremely useful as we are going to use several libraries to implement functionalities such as voice recognition and Bluetooth sensor connectivity.

  • Future-proof: With MAUI, we can build future-proof app, meaning that they will continue to work even as new devices and operating systems are released.

Following from the above technology research, we came to a conclusion on the devlopment tools to be used in Project-Velocity

Technology Decision
Langauges XAML, C#
Plugins Plugin.BLE, CommunityToolkit.Maui, CommunityToolkit.Mvvm, Syncfusion.Maui.Charts
Services Microsoft Azure
Framework .NET MAUI
Platform Android

Presentation Video