The most important aspect in designing an accessibility-driven app
was crafting something that is led by intuition rather than the set
of mechanical instruction the user needs to follow. The approach was
to not think like a developer, but like an every-day user, who would
use this app extensively. We asked ourselves and others, what would
be the most natural way to use a fitness tracker? That led us to the
following feedback-oriented design and sequence diagrams, where each
element of the user-flow was carefully chosen and implemented into a
cohesive structure we have today.
To briefly describe each component, we would need to differentiate 4 main layers in the application: user, front-end, back-end and storage.
User: an actor which interacts with the app, records workouts, checks insights. Design of the app was oriented around the user which required moving the complexity further away and presenting the user with only what’s needed and useful.
Front-end: a bridge between the user and the background processes, uses XAML to compile UI elements and present them in the best way possible to the user. In order to help connecting these user elements with the rest of the app, use of C# Code Behind helped in bridging the gap, this time between front-end and back-end solutions.
Back-end: this is where all the important processes like Speech Recognition, Text-To-Speech, Bluetooth connections, as well as everything else the app has to offer, actually happen.
Storage: in order to save workouts and insights we had to implement a storage system for storing the relevant data for its repeated use. We opted for using CSV text files, and you can find more about this in our section Data Storage, on this website page.
Since the app is developed in .NET MAUI framework, all processes, such as compiling XAML code containing layout and appearance information, into platform-specific UI elements are done in the background, allowing for only a single point of contact between the user and the app. Due to the complexity of the project, and considering the fact that the app was built from the ground up in this new framework, we will define more high-level aspects here, while going more into details within the Implementation tab on our website.
Following from the above technology research, we came to a conclusion on the devlopment tools to be used in Project-Velocity
Term | Definition |
---|---|
XAML Page | Extensible Application Markup Language page, mainly used to define the visual contents of the app. |
C# Code Behind | C# code corresponding to the XAML Page, used mainly for background processes. |
Speech Recognition API | Speech-To-Text API adding a new layer of interaction within the app. |
Text-To-Speech API | Text-To-Speech API which allows additional functionalities, going beyond those of a screen reader. |
Bluetooth API | Bluetooth API conformed to .NET MAUI framework, without its own prior integrated capability. |
The following is the overall sequence diagram which describes how user interacts with the screen and how our functionalities are accomplished in the background.