Mobile phone based sensing software

Mobile phone–based sensing software is a class of software for mobile phones that uses the phone's sensors to acquire data about the user. Some applications of this software include mental health and overall wellness monitoring. This class of software is important because it has the potential of providing a practical and low-cost approach to deliver psychological interventions for the prevention of mental health disorders, as well as bringing such interventions to populations that have no access to traditional health care. A number of terms are used for this approach, including "personal sensing", "digital phenotyping", and "context sensing". The term "personal sensing" is used in this article, as it conveys in simple language the aim of sensing personal behaviors, states, and conditions.

General information
This article presents a comparison of mobile phone software that can acquire users' sensor data (in a passive manner without users' explicit intervention) and administer questionnaires (or micro-surveys triggered by sensor events). The software described below helps quantify behaviors known to be related to mental health and wellness. The list below includes both commercial and free software. To be included in this list, a software product must be able to acquire data from at least one phone sensor, and provide a minimum level of security for storage and transmission of acquired data. This list excludes software that focuses solely on collecting participant data from surveys and questionnaires.

Software table
The following table contains general information about each mobile-based sensing software, such as who the developers are, when it was last updated, whether it is open or closed source, and the programming language and database they are based on.

Target audience
The following table shows the target audience for each piece of software included in this article. Software packages that target developers assume a high level of skill in creating code and/or modifying third-party source code. Software packages that target researchers have at least one component that can be used in scientific studies with human subjects. Software packages that target individuals allow at least one component to be downloaded and installed by an end-user with no programming skills. Please note that some packages target more than one type of user.

Mobile OS support
The following table shows the type of mobile phone on which each software package can be deployed.

Installation
In addition to deploying mobile-based sensing software to smart phones, a control dashboard has to be either installed on a local computer or provided through the web. Some of the packages provide a web server so that one is able to have a remote dashboard. The table below shows the server platform and/or web server required for each piece of software.

Sensor (and other) data that can be captured (part 1)
The following table shows the types of mobile sensors from which each software package is capable of collecting sensor data. Note that the type of data collected depends on availability of the appropriate sensor hardware on a specific smartphone. Some software packages collect raw sensor data (e.g. Beiwe) whereas others collect summaries of such data (e.g. ResearchKit).

Sensor and data that can be captured (part 2)
The following table shows the types of mobile sensors from which each software package is capable of collecting passive data. Note that the type of data collected depends on availability of the appropriate sensor on the smartphone.

Support for behavioral studies
The following table contains information regarding availability of functions, within each software package, that support behavioral experiments for scientific purposes.

Battery management
The following table contains information relative to battery management for each software package. As passive data collection from smartphone sensors is a battery-intensive process, methods to maximize battery performance are important for this type of software.

Software maintenance and support
The following table contains information relative to maintenance and support for each software package. The information provided in this table gives an idea of the likelihood of a package to be supported in the future.

Security and privacy
The following table contains information relative to encryption and secure transfer of data collected from smartphone sensors. This information is very important for a data collection app due to privacy concerns over the handling of phone data.

Cost
The following table contains information relative to whether a software package is free or non-free.