1 Introduction

Google’s Verily Life Sciences have recently unveiled an ordinary looking health tracking “study watch” to unobtrusively and continuously collect physiological data from the wearer, such as their heart rate, electrocardiograms (ECG), movement data, their skin’s electrical conductance as well as ambient light and sound. The Google watch does not currently allow the wearer to see their health data, only the date, time, and some instructions. The long-term vision of Verily is to unravel biomarkers through tracking thousands of healthy people especially when they fall ill. Although the watch features a processor that manages and encrypts its wearer’s data and its software is updatable over-the-air, Verily is not currently marketing the watch as a medical device, for which they will need FDA approval, but as a clinical and observational tool for scalable collection of rich and complex data sets. The watch’s battery lasts for up to a week without a charge and it stores “raw” data produced over the same amount of time, so it does not have to be synched as frequently as other watches. The inclusion of an ECG which Verily regards as their biggest technical novelty can reveal heart abnormalities. Such measurements are normally taken in hospitals with several stick-on electrodes but the Google watch picks up a lower-resolution signal from just two electrical contacts when the wearer grasps the metal bezel with their other hand. The watch is being deployed in a study in Europe whose aim is to track the progression of Parkinson’s disease among patients diagnosed with the disease. Uninterrupted long-term sleep and heart readings are invaluable in monitoring the progression of Parkinson’s and cannot be monitored in hospitals, especially the patients’ sleep patterns. Verily argues that the watch’s scope can be extended through the inclusion of additional sensors that will help generate additional biofeedback thus shaping its place in the Internet of Things (IoT) landscape [8, 11, 12].

Having continuous and uninterrupted access to such personal data in real time may help with the diagnosis of underlying conditions on the go, as maybe the case with Google’s watch, and making personal recommendations on life style improvements, otherwise, by identifying personal preferences and behaviour including food habits, sleep patterns, and daily activity schedules. It is widely acknowledged that all these devices can motivate individuals to change habits towards a better health or lifestyle. For instance, they are being considered in the workplace to monitor workers’ activities and control schedules and as they hold consumer’s health data, these devices are also a point of interest for physicians and health insurers [1, 10, 21].

Samsung, Fitbit, Apple and Sony have long joined the race in wearable technology hardware but according to Verily, the next but necessary stage in the evolution is the development of software algorithms that can “interpret” the wearer’s raw data, thus making accurate diagnoses and personalised recommendations, where possible, often by comparing the wearer’s data against the data of other wearers in the same peer group [3, 14]. As these devices cover a broad range of wearers of different ages, physical conditions and lifestyles, it is important that the presented information is as useful to all wearers as the wearable hardware with which it has been recorded. This would in turn inform the development of personalised immersive and alternative reality environments.

The focus of this paper is to address the wearable technology software challenge by developing such a personal immersive environment that collects, analyses and visualises personal wearer data mined with a wearable device and which integrates a machine learning approach to making personal recommendations for lifestyle improvements on the go in close consideration of trends in the wearer’s peer community. These lifestyle improvement recommendations may then be used to feedback to the wearer’s daily goals and activities. As access to Google watch’s wearer data is currently restricted, the authors showcase their approach with a Samsung Gear Fit and Fitbit. The environment is developed as a mobile middleware app aimed at offering personal recommendations on the go for improving personal lifestyles. To show how this aim has been achieved, the rest of the paper is organised as follows: Section 2 presents a related research review, section 3 details the mobile apps developed, including our data analysis and machine learning approaches, and section 4 presents our experimentation. Section 5 concludes.

2 Related research review

Table 1 shows the range of issues reported in literature and arising from our research review [1,2,3,4,5,6,7,8,9,10,11,12,13,14, 16, 18,19,20,21,22,23,24,25,26,27, 31,30,31,32,33,36]. The findings have been grouped under four categories, namely ethical/legal, economic, social and technological. However, the boundaries between these categories are fuzzy since discussion of these issues has been from various perspectives. This is the result of this subject area being very multidisciplinary in nature whereby contributions have been made from different fields.

Table 1 Issues with wearables

Whilst the focus of our research review has been primarily software apps that support the wearer in their daily use of the wearables, which reportedly is now at the core of wearable software evolution, what has been reported so far in literature in relation to our objective are software apps that support and fine-tune the functionality of the wearable technology, e.g. energy consumption or display resolution.

An Argus Insights Report [2] argues that whilst wearable hardware has been improving to an evolving standard, the same cannot be said for wearable software apps that interpret the data such devices collect. The report suggests that a clear gap exists between devices and such software apps that may enhance an aspect of the wearer’s lifestyle such as responsive learning or interactive gaming. Despite that, social connectivity through wearables has been on the rise where there is a common goal such as fitness or gaming. Figure 1 illustrates an Android wearable device linking up with a smartphone through Bluetooth and communicating with the cloud and other wearers who do the same.

Fig. 1
figure 1

Social connectivity [34]

Therefore, we have had to consider such software app developments in closely related subjects, i.e. for analysing and presenting data collected from single or multiple sensors like those that define the wearable technology functionality; for example, optical sensors such as those for heart rate monitoring through measurement of blood flow changes, chemical sensors such as those for hydration monitoring through real-time measurement of sodium and potassium levels in body sweat, temperature sensors for monitoring the ambient temperature or impact sensors for monitoring vibration. Liu et al. [15] paint a landscape of human activity recognition sourced from past landscapes that includes sensor-based approaches that shed light on current progress which is still slow and not reaching far enough in satisfying the wearer needs.

Shoaib et al. [28] present an android smartphone app that collects data using a Samsung Galaxy S2 smartphone’s accelerometer, gyroscope and magnetometer sensors to collect data on physical activities such as walking, running, sitting, standing, walking upstairs or downstairs and then analysing this data using WEKA’s machine learning tool, with mixed success. The app typifies the approach most authors report, i.e. the use of one or more sensors to collect data and then correlate the data to one or more physical activities. Liu et al. [15] survey several approaches and apps that follow this approach to collect data and then use a variety of techniques to interpret the data such as Neural Nets, Bayesian Networks, Decision tables and trees, etc.

Several limitations are reported and arise with existing approaches and android apps that are deployed to support the wearer in revisiting their fitness goals, for example. Wearers often perform multiple activities at the same time or may change, planned or unplanned, from one activity to another; for instance, part of a wearer’s running course may involve going up or down a set of stairs. How is data correlated to each activity in such a case? As discussed earlier wearables are increasingly used as social connectivity tools, thus wearers often set their goals and compare their performance against that of their peer group. Current approaches and android apps only serve the wearer. How can wearer initial or revised fitness goals and performance data, for example, be set and compared to that of their peer group? Current approaches and android apps focus primarily on interpreting past performance and presenting the results to the wearer. How can past wearer and peer group performance be used to make on-the-go recommendations to the wearer? In the next section, we present an android app that addresses the above shortcomings.

3 Wearable data analysis, visualisation and recommendation

We have used Mobincube to develop two versions of the android middleware app for Samsung smartphones [17]. One version is entitled FitNalyser and the other Bru-Fit. We have integrated JMP PRO with MatLab’s Genetic Algorithms (GA) and Pareto Optimality (PO) to analyse and compare the wearer’s data to peer community data with the former and to use the result to generate recommendations that may support the wearer with monitoring their daily goals and activities with the latter.

Figure 2 shows a flowchart of the use of a wearable device, the analysis and visualisation of the wearer activity data it records and the recommendations generated using a machine learning technique to support the wearer with their monitoring of their daily goals and activities. The wearer configures their wearable and sets initial goals (1), the wearable sensors track the wearer’s daily activities and record data (2), the wearable synchronises with a smart device to transfer the wearable data recorded (3), the raw data is forwarded by the smart phone to the wearable data server (4) from which it is retrieved and analysed in comparison to community data to generate personal recommendations (5), the results of the analysis and the recommendations are forwarded to the smart device (6) where they are visualised and offered to the wearer (7) so that they may assist them with monitoring their daily goals and activities (8). The smart phone synchronises with the wearable to auto-update any revised goals (9).

Fig. 2
figure 2

A flowchart of wearable data analysis, visualisation and recommendation

Iterating through steps 1 to 4, then 8 and 9 is the standard process with almost all wearable devices when paired with a smart phone. In our work, we introduce three additional steps, i.e. 5, 6 and 7, that address the shortcomings highlighted at the end of the previous section and represent our novel contribution to research and development. JMP PRO and MatLab’s GA and PO are deployed at steps 5 and 6, and either FitNalyser or Bru-Fit are deployed at step 7.

3.1 Steps 5 and 6: Comparative analysis and recommendation generation

Figure 3 shows a flowchart of the process of comparative analysis with JMP PRO during steps 5 and 6. JMP Pro has been selected for raw wearable data analysis and comparison to peer data for many reasons. First, it enables predictive modelling through the set of techniques it deploys, e.g. decision trees, bootstrap forest, Naive Bayes and neural networks. Stats emerge with these techniques, e.g. the average influence of additional hours of sleeping on calorie burning, residual variation of number of steps mid-week and at weekends, all of which help with model prediction accuracy even with missing or incomplete data. Second, it enables cross-validation through the set of techniques it uses, e.g. data partitioning or holdback. Cross-validation is not only invaluable when comparing wearer data to peer data but also building a predictive model that is not based on a single wearer sample which in turn avoids over-fitting. Third, it allows model comparison through common quality measures, e.g. R2, ROC, AUC, etc. This helps with selecting a model with the best goodness of fit, parsimony and cross-validation as input to the GA. Fourth, it uses generalized regression through a set of regularization techniques such as Ridge, Lasso, adaptive Lasso, Elastic Net, adaptive Elastic Net that help overcome the biases that arise with strongly correlated predictors, e.g. number of hours sleeping and calorie burning which may result in over-fitting. This approach helps with building a diverse predictive model that may include data with many outliers, or skewed data.

Fig. 3
figure 3

A flowchart of comparative analysis during steps 5 and 6

Figure 4 shows a flowchart of MatLab’s GA and PO deployment during steps 5 and 6. Generating an optimal recommendation Di for each wearer becomes a multi-optimisation problem (MOP) which seeks to optimise objectives \( {\bigcup}_{d=1}^k{O}_d(D)\le 0 \) subject to limit constraints \( {\bigcup}_{d=1}^m{L}_d(D)\le 0 \): \( F\left(\overrightarrow{x}\right)=\left({f}_1\left(\overrightarrow{x}\right)\dots \dots {f}_k\left(\overrightarrow{x}\right)\right) \) where \( \overrightarrow{\mathrm{x}} \) is an n-dimensional decision variable vector \( \left(\overrightarrow{\mathrm{x}}={\mathrm{x}}_1,.\dots, {\mathrm{x}}_{\mathrm{n}}\right) \). The objectives and limit constraints are sourced from the best goodness of fit wearer model produced by JMP PRO in comparison to peer community data, e.g. steps per day, hours sleeping per night, hours exercising per day. Sofokleous and Angelides [29] suggest the use of GAs and Pareto Optimality (PO). The GA uses a fitness-based selection operator, such as roulette, to select chromosomes for reproduction from the evolved population and uses crossover and mutation to reproduce new offspring chromosomes. Once a termination criterion s met, the GA delivers one or more chromosomes as best-fit recommendations, Di, that satisfy all limit constraints, e.g. min number of sleeping hours. The PO evaluates each Di with reference to optimisation objectives, Oi, e.g. max number of steps per day, to distinguish between dominated and non-dominated chromosomes and then assigns a strength value to each non-dominated chromosome that is proportional to the number of the dominated chromosomes it weakly dominates. Figure 4 also includes an example of a typical chromosome as a Full Decision Vector along with its Limit and Optimisation Constraints Vectors. The chromosome population (P) is expressed as P = PE ∪ PI, where PE and PI contain the non-dominated and dominated chromosomes respectively. The strength value of a non-dominated Ci is expressed as \( S\left({\mathrm{C}}_{\mathrm{i}}\right)=\frac{\mid \left\{{\mathrm{C}}_{\mathrm{j}}|{\mathrm{C}}_{\mathrm{j}}\in {P}_I\&{\mathrm{C}}_{\mathrm{i}}\preceq {\mathrm{C}}_{\mathrm{j}}\right\}\mid }{\mid {P}_I\mid +1} \), where Ci ∈ PE. The PO then calculates a fitness value for each dominated chromosome, Cj, as the sum of the strength values of the non-dominated chromosomes that weakly dominate Cj, i.e. \( F\left({C}_j\right)=1+\sum \limits_{i=1}^{\mid {P}_E\mid}\left\{\begin{array}{c}S\left({C}_i\right)\\ {}0\end{array}\right.{\displaystyle \begin{array}{c}, if\ {C}_i\preceq {C}_j\\ {}, otherwise\end{array}} \), where Ci ∈ PE. A dominates B, A ≺ B, iff Oi(A) ≤ Oi(B), ∀i = 1, …, D and Oi(A) < Oi(B) for some i and A weakly dominates B, \( A\preceq B \), iff Oi(A) ≤ Oi(B), ∀i = 1, …, D, where D is the number of optimisation constraints. A Pareto Front of optimal Di (Cj) that satisfy: \( f:{P}_E^{\prime }=\left\{{C}_1,{C}_2,\dots, {C}_n\right\}\longrightarrow {C}_j\in {P}_E^{\prime } \) is produced where n is the number of chromosomes. Game theorists argue that the distribution of optimal solutions on a Pareto Front suggests the existence of a “best-fit” optimal recommendation Di. Sofokleous and Angelides [30] calculates Euclidean Distances (ED) between each chromosome, i.e. a similarity measure between two chromosomes: \( ED\left({C}_j,{C}_i\right)=\sqrt{{\left({O}_1\left({C}_j\right)-{O}_1\left({C}_i\right)\right)}^2+\dots +{\left({O}_m\left({C}_j\right)-{O}_m\left({C}_i\right)\right)}^2} \), where Ok(Cz) is the result of evaluation of Ok using chromosome Cz values. The closer Cj is to Ci, the more likely is that Cj will result in the same satisfaction as Ci. The fitness value of each chromosome is then re-calculated and the one with the highest f(Ci) value is selected as the “best-fit” optimal recommendation Di and recommended to the wearer:

$$ f\left({C}_i\right)=\left(10+\sum \limits_{C_j\in {P}_E^{\prime }}\frac{UserRating}{1+ ED\left({C}_j,{C}_i\right)}\right)/\left(1+\left|{P}_E^{\prime}\right|\right) $$
Fig. 4
figure 4

A flowchart of GA and PO deployment during steps 5 and 6 and a typical chromosome

The models produced by JMP PRO and the recommendations generated by the GA and PO are then forwarded to either FitNalyser or Bru-Fit for visualisation during step 7.

3.2 Step 7: FitNalyser

This android middleware app runs on a Samsung smartphone paired with a Samsung Gear Fit hybrid smartwatch and fitness tracker which may be worn 24/7 since it is an always-on activity tracker that measures “steps”, “exercise”, “sleep” and “heart rate”. The 9-step process of Fig. 2 that includes FitNalyser at step 7 unfolds as follows:

  1. 1.

    Configuration and Goal Setup: The wearer populates their wearable with personal data, such as name, gender, age, weight, and height, to enable the device to collect data correctly and sets up their daily goals, e.g. number of steps, number of hours spent walking or sleeping.

  2. 2.

    Tracking Activity: The wearable’s sensors track the wearer’s daily activities and sleep patterns without inhibiting any of their senses.

  3. 3.

    Data Synchronisation: The wearable establishes a Bluetooth connection to, and synchronizes with, the smartphone to transfer collected data.

  4. 4.

    Raw Data Forwarding: Data Viewer, a third-party software tool running on the smartphone, receives the dataset and packages this for transfer to a laptop via the tracker’s cloud servers.

  5. 5.

    Raw Data Analysis and Recommendation Generation: JMP PRO performs generalised regression analysis of the wearer dataset in comparison to the peer community dataset and produces a model that is used by the GA and PO to generate recommendations.

  6. 6.

    Analysed Data and Recommendation Forwarding: The laptop transfers the model produced by JMP PRO and the recommendations generated by the GA and PO back to the smartphone via the tracker’s cloud servers.

  7. 7.

    Analysed Data and Recommendation Visualisation: The analysed data model and recommendations are visualised on FitNalyser to support the wearer with monitoring their daily goals and activities.

  8. 8.

    Decision Making: The wearer reconsiders his current daily goals and activities, and may set up new activity goals, e.g. increase the number of hours spent sleeping, reduce the number of hours spent walking.

  9. 9.

    Goal Synchronisation: The smart phone synchronises with the wearable to auto-update any revised goals.

Figures 5 through to 14 showcase the FitNalyser android app at step 7. Figure 5 depicts the opening screen of the mobile app which has been divided into 4 parts: profile, my data, community data and analysis. Figure 6 shows the wearer profile following configuration: Gender, date of birth, weight and height. Figure 7 shows My Data screen which offers the choices of step count, exercise or sleep to the wearer. On Fig. 8 the step count performance is visualised, i.e. the daily average of number of steps, burned calories and daily distance and the monthly total of number of steps, burned calories and distance following tracking. Similarly, on Fig. 9 the exercise performance is visualised, i.e. the daily average of burned calories, duration, and distance as well as the monthly totals. Likewise, on Fig. 10 the nightly and monthly sleep average is visualised. Figure 11 mirrors the choices on offer on My Data screen for Community Data but in addition it reveals the number and age range of wearers, differentiating between males and females, and their weight. On Fig. 12 the daily averages and monthly totals for Community Data for both genders are visualised. Figure 13 relays personal against community performance data following analysis wearer own data and comparison against community data, with a gender bias. This helps develop personal and community fitness trends in relation to all activities. On this screen, the wearer may choose to consider recommendations generated by the GA and GO during step 5. On Fig. 14 recommendations are visualised in relation to diet, hydration and excercising. The wearer may use these recommendations to review current daily goals and activities and set up new ones.

Fig. 5
figure 5

FitNalyser opening screen

Fig. 6
figure 6

FitNalyser Profile screen

Fig. 7
figure 7

FitNalyser My Data screen

Fig. 8
figure 8

FitNalyser step count screen

Fig. 9
figure 9

FitNalyser exercise screen

Fig. 10
figure 10

FitNalyser sleep screen

Fig. 11
figure 11

FitNalyser Community Data screen

Fig. 12
figure 12

FitNalyser Community Data stats for step count, exercise and sleep

Fig. 13
figure 13

FitNalyser Analysis screen

Fig. 14
figure 14

FitNalyser Recommendations screen

3.3 Step 7: Bru-fit

This android middleware app runs on a Samsung smartphone paired with a Fitbit® Surge hybrid smartwatch and fitness tracker that may be worn 24/7 as it is an always-on activity tracker that measures “steps”, “exercise”, “sleep” and “heart rate”. Its sensors include GPS, 3-axis accelerometer, 3-axis gyroscope, digital compass, optical heart rate monitor, altimeter, ambient light sensor and vibration motor. The 9-step process of Fig. 2 that includes BruFit at step 7 unfolds as follows:

  1. 1-3.

    Configuration and Goal Setup, Tracking Activity, Data Synchronisation: as with FitNalyser.

  2. 4.

    Raw Data Forwarding: A Fitbit open script executes the transfer of the raw dataset to a laptop via Fitbit’s cloud servers.

  3. 5.

    Raw Data Analysis and Recommendation Generation: as with FitNalyser.

  4. 6.

    Analysed Data and Recommendation Forwarding: A Fitbit open script executes the transfer of the models produced by JMP PRO and the recommendations generated by the GA and PO back to the smartphone via Fitbit’s servers.

  5. 7-9.

    Analysed Data and Recommendation Visualisation, Decision Making, Goal Synchronisation: as with FitNalyser.

Figures 15 through to 29 showcase the Bru-Fit android app at step 7. Figure 15 shows the top section of the opening screen of BruFit. Figure 16 shows the bottom section of the opening screen of BruFit, which has been divided into 5 parts: Active Min, Steps, Sleep, Calories, Analysis. Figure 17 gives an example of the general information that may be visualised on request. It shows the wearer’s profile which includes their activity level and the daily goals set following configuration and goal setup. The wearer may revisit these goals and set up new goals after considering the recommendation. More detailed stats are available in the Activity Frequency section which shows personal bests in relation to Steps, Very Active Minutes, Calories, km covered, Floors, and Hours Asleep. Figure 18 shows the Active Minutes screen which includes a daily average of steps, active minutes, calories, km covered, floors, and hours asleep and a comparison to the daily goals. Two detailed graphs show floor climbing and daily activity during the reporting period. Figure 19 reports the weekly activity and averages for floor climbing and distance whereas Fig. 20 reports the average monthly activity with emphasis on floor climbing. Figure 21 shows the Steps screen on which it compares the daily steps to the daily goal as well as a daily and hourly distribution of steps whereas Fig. 22 reports the weekly and monthly distribution of steps. Figure 23 shows the Sleep screen and reports daily sleep patterns and efficiency, actual sleep time, bed and rise time whereas Fig. 24 reports the weekly and monthly sleep data. Figure 25 shows the Calories screen that details daily, weekly and monthly calories spent whereas Fig. 26 visualises a comparison between personal and community data with a gender bias on calories spent using bar and line graphs and boxplots. Likewise, Figs. 27 and 28 visualise comparisons between personal and community data, also with a gender bias, in relation to sleep data and steps respectively. Figure 29 shows Bru-Fit’s Recommendations screen whose content is generated by the GA and GO during step 5. This screen visualises recommendations in relation to sleep or lack of it, bed and rise times, calorific intake and spent, and activity or lack of it. The wearer may consider these recommendations to revisit current daily goals and activities and set up new ones.

Fig. 15
figure 15

Bru-Fit’s top section of the opening screen

Fig. 16
figure 16

Bru-Fit’s bottom section of the opening screen

Fig. 17
figure 17

Bru-Fit’s general information screen

Fig. 18
figure 18

Bru-Fit’s Active Min screen

Fig. 19
figure 19

Bru-Fit’s Active Min screen weekly average

Fig. 20
figure 20

Bru-Fit’s Active Min screen monthly average

Fig. 21
figure 21

Bru-Fit’s Steps screen daily

Fig. 22
figure 22

Bru-Fit’s Steps screen weekly and monthly

Fig. 23
figure 23

Bru-Fit’s Sleep screen daily

Fig. 24
figure 24

Bru-Fit’s Sleep screen weekly and monthly

Fig. 25
figure 25

Bru-Fit’s Clories screen daily, weekly and monthly

Fig. 26
figure 26

Bru-Fit’s Analysis screen comparing personal to community data in relation to calories

Fig. 27
figure 27

Bru-Fit’s Analysis screen comparing personal to community data in relation to sleep

Fig. 28
figure 28

Bru-Fit’s Analysis screen comparing personal to community data in relation to steps

Fig. 29
figure 29

Bru-fit’s Recommendations screen

4 Validation: a month in the process

This section presents the application of the process on Fig. 2 over the period of one month with each of the two applications that we have developed. The purpose of this is to validate our approach and, in particular, the novelty in steps 5, 6 and 7.

4.1 FitNalyser

At Step 1, the wearer configures their wearable and sets their initial goals of daily step count, exercise and sleep. During Step 2, the Samsung Gear Fit tracks the daily step count, exercise and sleep durations and monitors the heart rate without inhibiting any of the wearer’s senses. At Step 3, the wearable synchronizes with the smartphone using a Bluetooth connection and transfers the daily dataset to the Samsung smartphone. During Step 4, Data viewer which has been installed on the smartphone, receives the dataset, packages that as a cvs file and forwards this file via the tracker’s cloud servers to a laptop that runs JMP PRO and the GA with PO. Table 2 shows a screenshot of the raw data file on step count. Data collected include start and end time, calories and distance.

Table 2 Step count’s cvs data file

During Step 5, once both the personal daily and the community datasets have been received on the laptop, JMP PRO is used first to analyse and compare the personal against the public community dataset and build a general regression model. The first calculation made is the Body Mass Index (BMI) which uses measures of weight and height to determine whether the wearer is under, normal or overweight. This will inform the values of the Limit and Optimisation Constraint Vectors. This is followed by the Basal Metabolic Rate (BMR) which estimates how many calories are spent even without any activity during a 24-h period. This represents the minimum amount of energy required to keep the body functioning. The Harris-Benedict and Mifflin equations are commonly used to calculate BMR because of their accuracy. The BMR for men differs to that of women mostly due to their body weight:

For men: (10 × weight) + (6.25 × height) − (5 × age) + 5.

For women: (10 × weight) + (6.25 × height) − (5 × age) − 161

Table 3 gives the BMI and BMR calculated using parameters extracted from the personal dataset. These values are carried forward to the comparative analysis stage.

Table 3 Personal BMI and BMR calculation

In addition to the BMI and BMR calculation, calculation of the calories burned during all measured activities with the wearable, i.e. walking, exercising, and sleeping are presented on Fig. 30. Figure 30 reveals that at the peak of walking the number of calories burned are less than the calculated BMR since the amount of energy required to support vital body functions is significantly higher.

Fig. 30
figure 30

Personal monthly distribution of spent calories during the measured activities

A sample of a monthly personal dataset is presented on Table 4. The figure shows the total values of the variables relating to the three measured activities and their daily average. Moreover, a detailed distribution for each day of the week, regarding the main activities is shown on Table 5 which reveals the daily effort on a weekly basis with Tuesdays and Fridays peaking at 16%. Exercise is frequently occurring more on Sundays at 20% and sleep duration is at its peak on Wednesdays with 16%.

Table 4 Personal monthly and average daily stats
Table 5 Personal daily summary on a weekly basis

Figure 31 reveals that when the number of the calories from all activities are added together, Tuesdays and Fridays are the days during which most calories are burned; this resembles the step count distribution. The community dataset has been compiled from 16 different wearers, 8 women and 8 men between the ages of 23 and 31 and it comprise of both qualitative and quantitative data: height (cm), weight (kg), age, gender, step_count, step_calories, steps_distance (km), exercise_calories, exercise_distance (km), exercise_duration (min), sleep_calories and sleep_duration (min). Table 6 shows the BMI and BMR of each wearer.

Fig. 31
figure 31

Personal weekly pie of calories spent

Table 6 Community BMI and BMR

Figures 32 and 33 present the community’s monthly distribution of spent calories during the measured activities with a gender bias. The two figures reveal a similar pattern for males and females. The range of calories spent whilst waking or sleeping is higher than whilst exercising with the maximum calories burned by women being around 16,000 whilst for men 20,000. The number of calories burned whilst sleeping is higher than daily exercising or walking because sleep duration does not vary as much as daily walking and exercising do as Fig. 34 shows. Figure 35 reveals that males spend more calories than females whilst sleeping and walking but less whilst exercising.

Fig. 32
figure 32

Community monthly distribution of spent calories during the measured activities for females

Fig. 33
figure 33

Community monthly distribution of spent calories during the measured activities for males

Fig. 34
figure 34

Community monthly duration of exercising and sleep for women

Fig. 35
figure 35

Community daily calories spent: males versus females

Figures 36, 37, 38, 39, 40, 41, 42 and 43 present detailed data analytics produced by JMP PRO. Figure 36 shows the daily mean for walking being 10,622.917 and reaching a maximum of 45,408 and dropping to a minimum of 308. Figure 37 presents the daily mean of calories spent during walking being 387.89 and reaching a maximum value of 1530 and dropping to a minimum of 11. Figure 38 illustrates the daily mean for distance covered ranging between a maximum of 34.5 and a minimum of 0.25. The boxplots indicate that there may be upper or lower limit outliers and the last minimum might be one of these. All three graphs show a positive skewness distribution, which indicate that the lower limits for steps, calories, and distance is higher than the higher limits. The results show that most datasets report between 5000 and 15,000 steps daily. Thus, the number of calories spent fluctuate between 200 and 600. On Fig. 39 the distribution is slightly flatter than a standard normal whereas Figs. 40 and 41 show kurtosis values higher than 3 which indicate a high number of outliers. This number of outliers is a consequence of either forgetting to register the daily exercise activity or not exercising. Figure 42 shows a negative kurtosis of −0.14 indicating a flatter distribution with only one outlier and a low skewness of 0.26 making it symmetrical than the others. Calories burned whilst sleeping are directly proportional to the wearer’s weight, 50 kg to 79 kg. Thus, the distribution is most likely normal. Figure 43 shows a negative skewness with a high kurtosis value since sleep duration does not follow the expected pattern.

Fig. 36
figure 36

Daily data analytics for step count

Fig. 37
figure 37

Daily data analytics for calories burnt during walking

Fig. 38
figure 38

Daily data analytics for distance covered whilst walking

Fig. 39
figure 39

Daily data analytics for calories burnt during exercising

Fig. 40
figure 40

Daily data analytics for distance covered whilst exercising

Fig. 41
figure 41

Daily data analytics for exercise duration

Fig. 42
figure 42

Daily data analytics for calories burnt during sleeping

Fig. 43
figure 43

Daily data analytics for sleeping duration

Correlational analyses of the walking, exercising and sleeping dataset variables are presented on Figs. 44, 45 and 46. Whilst with exercising the correlation is similar to walking, with sleeping the correlation is not as high since the sleeping duration does not normally have a specific pattern, as wearers who exercise more daily are normally expected to sleep for longer periods. However, this is not always the case because a wearer may either have developed a regular sleeping pattern regardless or are unable to sleep for the required amount of time. Table 7 presents a full table of correlations between each variable of the dataset.

Fig. 44
figure 44

Correlation between walking variables

Fig. 45
figure 45

Correlation between exercising variables

Fig. 46
figure 46

Correlation between sleeping variables

Table 7 Full table of correlations

Table 8 presents a summary of daily activity over the period of one week. For instance, step counts usually rises at weekends whereas exercising rises mid-week and on Sundays and average sleep duration is higher at weekends in comparison to weekdays with 3 additional hours of sleep. The highest daily calorie consumption seems to take place on Fridays as Fig. 47 shows.

Table 8 Daily activity trends
Fig. 47
figure 47

Daily calories burned

Figures 48, 49 and 50 map the personal against the community dataset. Figure 48 reveals that the monthly personal step count is higher than the community’s average for females whereas Figs. 49 and 50 reveal that personal exercise and sleep periods are lower. Figure 51 provides a comparison of the calories expended for the monitored activities and it reveals that the calories expended reflects either the effort and or the activity duration.

Fig. 48
figure 48

Monthly step count

Fig. 49
figure 49

Monthly exercise period

Fig. 50
figure 50

Monthly sleep period

Fig. 51
figure 51

Monthly comparison of calories burnt

Figure 52 which summarises the monitored activities, reveals a personal pattern that matches on some days only that of the community and may also suggest a sedentary lifestyle. Table 9 summarises the personal results and Figs. 53, 54 and 55 provide a comparison to the relevant community dataset and trends.

Fig. 52
figure 52

Personal against community trends

Table 9 Personal results
Fig. 53
figure 53

Personal against community step count

Fig. 54
figure 54

Personal against community exercise duration

Fig. 55
figure 55

Personal against community sleep duration

The data analytics models on Figs. 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46 and Table 7 are used by GA and PO during the second part of Step 5 to generate an initial population of chromosomes and to source limit and optimisation constraints. The recommendations to the wearer will be sourced from the non-dominated chromosome that evolves, like the one which appears on Fig. 4. During Step 6 the laptop transfers the daily models produced by JMP PRO and the recommendation generated by the GA and PO to the smartphone via the tracker’s cloud servers. During Step 7, the data models and recommendation are visualised using FitNalyser to support the wearer with monitoring their daily goals and activities and their weekly and monthly performance. The analysis of the personal dataset collated on the wearable device has picked up that the daily average of expended calories is approximately 25% less than the daily average a person with that BMI is expected to burn which in the long-term will result in weight gain and the chromosome and subsequent recommendation generated addresses that. There is clearly room for improvement in relation to calorie burning and the generated recommendation visualised on Fig. 14 reflects that. The wearer may wish to consider as much evidence behind this recommendation as possible and may also wish to consider their performance in relation to that of their peers. Figures 8 through to 13 provide all the daily and weekly evidence the wearer may seek. During Step 8, the wearer, having considered the evidence and recommendation, may revisit their current daily goals and activities, and set up new activity goals, e.g. reduce the number of hours spent sleeping, increase the number of hours spent walking, increase the step count, to move from sedentary to lightly active or active. During Step 9, the smart phone synchronises with the wearable to auto-update any revised goals. Not all wearables facilitate that but both wearables used in our experiment allow that.

4.2 Bru-Fit

Steps 1, 2 and 3 are like FitNalyser’s. Fitbit tracks sleep through movement using one of two modes, normal and sensitive. It records, as when awake, significant movements only in normal mode and nearly all movements in sensitive mode:

$$ {\displaystyle \begin{array}{c}{t}_{asleep}={t}_{Total\ tracked}-{t}_{awake}\\ {} Sleep\ Efficiency=100\left(\frac{t_{asleep}}{t_{asleep}+{t}_{restless}+{t}_{awoken\ during\ sleep}}\right)\end{array}} $$

Fitbit tracks the Heart rate through blood volume variation using LED lights onto the skin. It records the intensity of exercising as a percentage of:

$$ Maximum\kern0.17em rate=220- age $$

This rate decreases with age, thus seeking to acheve the same level of intensity across different age groups requires different amounts of effort. Table 10 shows Fitbit’s five intensity zones as a percentage of Heart rate.

Table 10 Fitbit heart rate zones

Fitbit tracks activity and calories burned through exercise intensity using Steps, Floors and Heart Rate along with Metabolic Equivalent (MET), BMR, weight and height. BMR values usually account for at least half of the calories burnt in a day and this is estimated based on gender, age, height, and weight. Table 11 shows the Fitbit parameters tracked.

Table 11 Fitbit parameters tracked

A significant difference between Bru-Fit and FitNalyser takes place during Step 4, during which a Fitbit open script executes the transfer to a laptop via Fitbit’s cloud servers of the raw dataset which has been packaged into a cvs file. Step 5 is like FitNalyser but the wearer and the peer group comprise different wearers. The community group comprise of 14 different wearers, 6 women and 8 men and their dataset includes both qualitative and quantitative data: Age, gender, height, weight, BMI, calorie stats (maximum, minimum, average, daily, weekly, monthly), activity stats (level, frequency), step stats, floor stats, distance, sleep stats (daily patterns, efficiency). Figures 56 and 57 classify participants by age and gender respectively. Figure 58 maps the daily average of number of calories spent across the community. The figure reveals a mixture of distribution across the community, positively skewed because of low number of calories spent and normal. This splits the community into sedentary or lightly active.

Fig. 56
figure 56

Participants by age

Fig. 57
figure 57

Participants by gender

Fig. 58
figure 58

Daily average of number of calories spent across the community

Figure 59 shows parameter correlation. Red highlights indicate no positive correlation has been established whereas blue highlights indicate positive correlation. The correlation becomes stronger as the shade becomes darker. Unlike with FitNalyser, the correlation map does not indicate a correlation between daily activity and sleep.

Fig. 59
figure 59

Parameter correlation

Figures 60, 61, 62, 63, 64 and 65 compare the number of calories spent between the wearer and the community datasets. The results are attributed to females normally having a higher MBR than males because of having, in general, a higher percentage of fat to muscle in comparison to males who have, in general, a higher percentage of muscle to fat. Figures 66, 67, 68, 69, 70 and 71 show the outcome of tracking sleep activity. The figures reveal a higher sleep activity in males than in females. Figures 72, 73, 74, 75, 76 and 77 show the outcome of tracking daily steps through walking. These figures reveal a higher walking activity, and thus steps, by males than females in sharp contrast to past studies which report the reverse.

Fig. 60
figure 60

Daily calories spent: Personal vs community

Fig. 61
figure 61

Daily calories spent: Personal vs community females

Fig. 62
figure 62

Daily calories spent: Personal vs Lightly Active community members

Fig. 63
figure 63

Daily calories spent: Personal vs Lightly Active community females

Fig. 64
figure 64

Daily calories spent: Personal vs community

Fig. 65
figure 65

Daily average calories spent: Personal vs Active community

Fig. 66
figure 66

Daily sleep: Personal vs community

Fig. 67
figure 67

Daily sleep: Personal vs community females

Fig. 68
figure 68

Daily sleep: Personal vs Lightly Active community members

Fig. 69
figure 69

Daily sleep: Personal vs Lightly Active community females

Fig. 70
figure 70

Daily sleep: Personal vs community

Fig. 71
figure 71

Daily average sleep: Personal vs Active community

Fig. 72
figure 72

Daily steps: Personal vs community

Fig. 73
figure 73

Daily steps: Personal vs Lightly Active community members

Fig. 74
figure 74

Daily steps: Personal vs community females

Fig. 75
figure 75

Daily steps: Personal vs Lightly Active community females

Fig. 76
figure 76

Daily steps: Personal vs community

Fig. 77
figure 77

Daily average steps: Personal vs community

A second significant difference between Bru-Fit and FitNalyser takes place during Step 6, at which a Fitbit open script executes the transfer back to the smartphone via Fitbit’s servers of the models produced by JMP PRO and the recommendations generated by the GA and PO. At Step 7, the analysis of the personal dataset collated on the wearable device has picked up that that the wearer has exceeded their daily goals with midweek being the most active days and Sundays the least active with walking being the most popular activity. Daily tracking of sleep efficiency has picked up that this rises during weekdays but declines at weekends despite a higher sleep activity during weekends. There were also significant variations in sleep efficiency across community members belonging to the same age group. This may be attributed to circadian rhythm sleep disorder CRSD which is common among younger generations. The results also reveal that males are more likely to be overweight and fall into the sedentary range than females are. Unlike FitNalyser the figures do not correlate sleep and daily activity. There is clearly room for improvement in relation to physical activity and sleeping at weekends and the generated recommendation visualised on Fig. 29 reflects that. The wearer may also wish to consider as much evidence behind this recommendation as possible and may also wish to consider their performance in relation to that of their peers. Figures 17 through to 28 provide all the daily and weekly evidence the wearer may seek. During Step 8, the wearer, having considered the evidence and recommendation, may revisit their current daily goals and activities, and set up new activity goals, e.g. reduce the number of hours spent sleeping and increase the number of hours spent walking. During Step 9, the smart phone synchronises with the wearable to auto-update any revised goals. Figure 17 shows how goals set on this wearable are visualised with Bru-Fit.

5 Concluding discussion

The paper demonstrates how wearable technology may be used beyond the hype to improve personal lifestyles by suggesting areas where generating a change in daily or routine habits may lead to a healthier lifestyle. Currently, such cycles appear to be driven by irrelevant or incomplete information which may not be easy to interpret but under peer pressure and the fear of exclusion, wearers adopt ad hoc change regardless. Our research and development work demonstrates that a planned approach to data collection, analysis and visualisation coupled with a machine learning recommender approach may transpose wearer decisions to be informed and that the use of peer group data is for generating correlated recommendations not for applying social pressure. A mobile app might not be able to support the entire cycle and consequently backbone computing support is required. The analysis has also thrown some accepted truths into dispute, i.e. the correlation between exercising and sleeping is very low suggesting the two are more independent than once thought. This might be the result of exogenous factors such as workstyle or underlining health conditions such as cardiovascular diseases. Areas for further research and development naturally include, in addition to the rising need for standardisation, the addition of more sensors to track further personal fitness and alarms to warn of the possibility of ambulatory incidents, an approach recently put on trial by the National Health Service (NHS) in the UK. This would raise the significance of the personal recommendations, especially in the health sector, but this would require a more extensive clinical trial as it would have serious repercussions to health and fitness. Finally, suggestions of automatic readjustment of personal goals following a recommendation, i.e. without wearer intervention, has divided the community after clinicians recommend that this should only be encouraged under clinical supervision.