HumaLogix is an entry in the Healthcare category of the 2013 Intel App Innovation Contest. This "stretchercise" prototype is the first in a series of apps designed to utilize a tablet computer's built-in sensors and location data for human wellness monitoring applications. Future apps planned for the HumaLogix series include biometric monitoring for respiratory pattern detection, and wearable technologies that utilize the tablet computer itself as both the sensor and processor for fitness, elderly monitoring, and similar use cases.
The HumaLogix concept is aligned with Intel's vision of the future*: "devices in the future will be poised to enable amazing breakthroughs in perceptual computing that push the limits of computer-human interaction. They’ll include the ability to harness inputs from an array of sensors to provide user feedback and enable richer, fuller experiences. Consider what some of the following inputs will do for a personal device: GPS location, gyroscope, accelerometer, light detector proximity, voice recognition, touch screen, and gesture interpretation are all here and improving."
NPR recently published an interesting article* on healthcare apps, noting that most of the 16,000+ health related apps available today aren't really used all that much. However, the most popular apps are lifestyle apps — calorie counters and exercise trackers. More interestingly, NPR notes that just 159 of the available apps use sensors to measure a person's health status. This puts HumaLogix in the popular yet virtually untapped category of healthcare apps that exploit the tablet computer's sensor technologies.
Purpose and Intended Audience
The prototype app submitted for the contest includes a Basal Metabolic Rate (BMR) calculator to determine the minimum amount of energy (calories) that your body needs for normal functioning. Personal information such as gender, height and weight can be entered in either English or Metric units, and this information is saved to the tablet's hard drive for future reference.
The app also includes three stretch-based exercise routines that demonstrate how sensor data from the tablet can be used in controlled routines to help ensure proper body mechanics and orientation. Stretchercise routines are particularly well suited for seniors, as they promote flexibility and circulation while at the same time help to maintain balance, as both feet are always firmly on the ground.
(Disclaimer: This app is a prototype and is intended only to demonstrate the concept of utilizing the sensor hub in a tablet computer for monitoring human activity. The app has not been rigorously tested for safety or fitness for use, and the user assumes full responsibility for any injuries to self or property that may result from using it.)
How To Use The App
This app is intended to be used with the tablet in Landscape orientation. To ensure the screen does not automatically rotate during the exercises, hold the tablet face-up in Landscape orientation and turn Autorotate off. (On the Lenovo Thinkpad tablet, the Autorotate button is located on the right edge of the tablet.)
On the Home page, the user may also specify the intensity of the exercises. The Slow setting is selected by default and should be used for the first few attempts at any given exercise. The following sections describe the menu button options located on the left side of the screen.
The HumaLogix BMR calculator uses the Mifflin-St. Jeor equations to calculate the amount of energy expended daily by humans at rest (http://en.wikipedia.org/wiki/Basal_metabolic_rate). The user is prompted to select either English or Metric units, gender, weight, height and age. This information is automatically saved to the tablet's hard drive when the Calculate button is pressed.
When the menu button is pressed, BMR is automatically calculated using the most recent data. A person's BMR decreases as he or she ages. In order to lose or gain weight, you first need to know how many calories your body requires at rest. A person's BMR provides an estimate of the number of calories your body would burn if you sat inactive all day. However, as recommended on WebMD (http://www.webmd.com/), "frame size, medications, health conditions, body fat percentage, and other factors can change your calorie needs significantly. If you have questions about your overall calorie requirements, check with your health care provider."
It is also important to note that different BMR equations are commonly used and often yield different results. The HumaLogix BMR calculator serves only as an indicator and should not be used as a substitute for professional medical advice.
The back stretch routine guides the user through a series of movements similar to toe-touching exercises. As with all of the HumaLogix routines, stretchercising begins when the user presses the Start button. An arrow points to the avatar showing the next position the user should assume.
The app notifies the user that he or she is in the correct position by highlighting the avatar in a green frame. The user must maintain that position for the full count, as specified by the Slow, Medium or Fast selection made in the Home screen. If the user moves out of position, the green frame will disappear and the user ceases to get "count-credit" . The position must be maintained for the full count before the app will move to the next position.
During the stretchercise routine, the total time in seconds is updated on the screen. Also displayed are the number of repetitions ("reps") that have been completed. The rep count is incremented once a complete cycle of movements has been completed and the user returns to the original position. There is no limit to the number of reps the user can choose to complete.
The back and arm stretch routines use data from the tablet's orientation sensor to help determine if the user's body is in the correct position. This is not foolproof of course, as it is possible to trick the app into thinking the user is in the correct position when in fact he or she might not. It should also be noted that the app will not know if the user is eating a cheeseburger and fries while performing the exercises either.
The torso stretch routine utilizes the tablet's Yaw inclinometer data stream to determine if the user has exceeded 90 degrees of stretch from side to side. The user begins with the tablet held face-up in outstretched hands. When the Start button is pressed, a baseline reading of the Yaw position is saved and all subsequent measurements are based on deviations from the baseline position. (Note: In the prototype app, the torso stretch feature is somewhat temperamental; it will be refined before the app's actual release.)
View Sensor Data
The prototype app includes a page where all of the tablet's sensor data can be viewed in real-time. This is very useful as more routines and features are added to the app as it matures. Furthermore, future apps that are developed as part of the HumaLogix series will use location and environment data (also displayed on this page) for patient and elderly monitoring scenarios.
Development Approach and Environment
As most developers who are into competition coding already know, Intel recently concluded Phase 2 of the Perceptual Computing Challenge and are currently judging submissions. I have four entries in that particular contest; however, I resisted the temptation to re-enter any of these PerC projects in the AIC. I believe the spirit of these types of competitions is to develop something new and innovative that attempts to exploit those features of the target platform that differentiate it from other product offerings.
Nearly all of my development work entails the interaction of software with external hardware devices, but in this competition I wanted to deliver an app that would stand alone and not require any external interfaces. The sensor hub built into the Lenovo tablet seemed to satisfy my desire to interface with hardware elements, so I opted to submit project proposals that utilized these features.
HumaLogix was developed from the ground up as a C#/WPF app. This contest represents my first work using Visual Studio 2012 targeting .NET Framework 4.5. As an added challenge, I did all of the software development and debugging on the Lenovo tablet itself, starting by downloading and installing Visual Studio 2012 Express on the tablet. Testing was performed on both the Lenovo tablet and an Ultrabook computer that was awarded to me in last year's AIC.
In order to access the accelerometer, compass, gyrometer, and other sensors that comprise Intel's version of the Sensor Hub, I created a separate class library named "
SensorHub" and modified its .csproj file to target the Windows 8 platform. This process is described in detail here:
A good article and sample project that demonstrates how to access WinRT sensor information was published by Philip Schäfer on November 12th, 2012. I highly recommend studying this code in order to better understand the process of accessing sensor data from the Lenovo tablet. Here's link to the website:
(Note: The two referenced sources noted above appear to have been merged and reposted as a CodeProject article on January 15, 2013 by a different author: http://www.codeproject.com/Articles/516230/Ultrabook-Sensors-on-Desktop-App.)
The HumaLogix app references the SensorHub.dll class library, instantiates a
SensorClass object for accessing tablet sensor data, and spawns three threads for data acquisition, real-time sensor data display, and the exercise routine state machines.
The common WPF Toolkit and WPF Theme assets were utilized in the user interface design, and all icons are courtesy of IconFinder (https://www.iconfinder.com/). The avatars were created by me using Microsoft Visio.
About the Author
My background spans over 20 years of R&D and product development experience. I hold MS, BS and AS degrees in Software Engineering, Computer Science and Electronics Engineering, respectively. My day-to-day professional activities include a mix of both software and electronics design, with an emphasis on machine and device control applications.
I am also the founder of Human-Machine Technologies, Inc., a research and development NPO dedicated to improving the human experience through engineered solutions that integrate custom software and electronics with low-cost, commercially available NUI and BCI sensor technologies (http://www.human-machinetechnologies.com/