Project

General

Profile

Design and functionalities » History » Version 15

« Previous - Version 15/31 (diff) - Next » - Current version
Miguel Rocha, 06/01/2023 22:19


Design and functionalities

When developing an Android Application, several parameters must be considered to not only deliver the intended functionalities without cluttering and compromising the user experience. This is especially important in Applications that aim to improve health-related behaviors. In this chapter, the group thought process when faced with this paradigm will be discussed. It is important to note that since the app is heavily dependent on the Vital Jacket device, most of the functionalities and even design choices were made around this factor. Because this is a device used for more medical-oriented purposes, the group assumed that the target segment would be someone customers with basic knowledge or at least curious to learn about the general fitness terms and concepts .

One of the initial concerns when developing any mobile application is the User Experience (UI) or, in other words, creating a positive experience for the user when interacting with the developed Application. For this, the user's hedonic needs were accounted by presenting a clean design and coherent color pallet throughout the various activities. This was achieved by choosing a dark mode as the default theme with vibrant arrangements of red combined with orange and blue. The same color style was purposefully maintained with the careful selection of the several icons chosen.

Logo Activity

When the user chooses to open the App, he is initially presented with the Logo Page comprising both the Icon and a Slogan, as depicted in Figure 1. This Activity lasts for 3 seconds and serves no functionality, being purely cosmetic. This was timed with a simple handler, a special Java object that will be further discussed below.

Logo Activity
Fig. 1: StepNCount initial page.

Search Bluetooth Device

When the cycle of the initial activity comes to an end, the App switches automatically to the activity responsible for choosing the device to which the phone will connect.

searchBT Choosen MAC address
Fig. 1: StepNCount initial page.

From here, a few considerations had to be taken into account. Because the App should do most of its work when the user is not touching the phone (exercising) or even using other Apps (Spotify), the acquisition process had to be handled in the background. From this, Android provides many options for this type of operation, namely the Service class, which can be further subdivided into Intent Services, Job Intents, and Foreground Services. Albeit seeming like all these options could work, only one of these services is suited for our application. Since Android 8.0 (API 26), limitations to the execution of full Background services were implemented1. The services are allowed to run when the App is being used but are killed shortly after the App goes to the background. This was to minimize Apps exploiting the device's resources without them knowing about it. Because of this, the only service that can run almost indefinitely and without restrictions is the Foreground Service2, making it the obvious choice for our purposes. With this, the acquisition could be running even if the App is closed and the screen is locked. The only downside is that a notification will be displayed as long as the Service is running.

[1]https://developer.android.com/about/versions/oreo/background
[2]https://developer.android.com/guide/components/foreground-services

Logo.jpg View - Logo Activity (44.7 KB) Miguel Rocha, 06/01/2023 20:20

searchBT.jpg View - searchBT (65.9 KB) Miguel Rocha, 06/01/2023 22:19

searchBTMAC.jpg View - Choosen MAC address (73.6 KB) Miguel Rocha, 06/01/2023 22:19

handler.png View (68.3 KB) Miguel Rocha, 06/01/2023 22:38

Walking.jpg View (95.9 KB) Miguel Rocha, 06/01/2023 23:17

Running.jpg View (97.9 KB) Miguel Rocha, 06/01/2023 23:17

resting.jpg View (95.4 KB) Miguel Rocha, 06/01/2023 23:17

config.jpg View (71.9 KB) Miguel Rocha, 06/01/2023 23:20

goals.jpg View (74.4 KB) Miguel Rocha, 06/01/2023 23:21

perf1.png View (58.2 KB) Miguel Rocha, 06/01/2023 23:46

prof3.png View (59.8 KB) Miguel Rocha, 06/01/2023 23:46