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.
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.
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.
AWARE | Web dashboard and Android client: Denzil Ferreira (Community Instrumentation & Awareness, University of Oulu); Mac OSX and iOS clients: Yuuki Nishiyama (Tokuda Laboratory, SFC, Keio University) | 4.0.836 (Android); 1.14.12 (iOS) | 2023 (Android and iOS) | Web dashboard: PHP, HTML, JavaScript; Android client: Java & Kotlin; Mac OSX and iOS clients: Objective-C & Swift | MySQL | ||
Beiwe Research Platform | HSPH Onnela Lab | 2.0.4 (iOS)[1] 3.1.4 (Android)[2] | Aug 31, 2021 iOSJuly 22, 2021 Android | Web dashboard: HTML, JavaScript; back-end and data analysis pipeline: Python, R, JavaScript; Android client: Java; iOS client: Swift, Objective-C | Amazon Web Services | ||
CenceMe | Smartphone Sensing Group, Dartmouth College | 1.2.0 (iOS) | July 27, 2009 (iOS) | Python, Perl, PHP, Bash | MySQL | ||
Context Sensing SDK | Intel | v1.0-beta2 (Windows Mobile); v1.8 (Android) | March 18, 2016 (Android) | Intel Discontinued this product | Android: Java; Windows Mobile: C# | ||
EARS | Ksana Health | Android 2.038; iOS 2.1.5 | August 2023 | Android: Java; iOS: Swift | Amazon Web Services | ||
Empath | Department of Computer Science, University of Virginia | 2011 | MySQL | ||||
Expimetrics | Louis Tay, Purdue University | ||||||
Emotion Sense | Department of Psychology, University of Cambridge | April 25, 2017 | Java | SQLite | |||
Funf Open Sensing Framework | Originally at MIT Media Lab, now maintained by Behavio (Google) | v0.5.0RC1 | September 4, 2015 | Java | SQLite | ||
m-Path Sense | m-Path (KU Leuven) | 2.8.0 (iOS and Android) | July 4 2023 | proprietary | No | App: Flutter (Dart), Dashboard: PHP, JavaScript | MySQL |
mindLAMP Platform[3] [4] | Division of Digital Psychiatry @ Beth Israel Deaconess Medical Center | v2.0 | August 27, 2020 | BSD-3 | Yes | TypeScript, Python, R, Swift, Kotlin | Flexible (noSQL) |
mEMA | Illumivu Inc | ||||||
Metricwire | Metricwire Inc | ||||||
Mobile Sensing Platform | Cogito Corporation | ||||||
movisensXS | Movisens GmbH | 1.1.1 | January 5, 2017 | Java, Kotlin | |||
Murmuras[5] | University of Bonn spin-off Murmuras (based on the Menthal project) | 2.2.1 | August 24, 2020 | Android: Java, Kotlin; Web: Python, R, JavaScript | PostgreSQL | ||
Passive Data Kit | Audacious Software | Summer 2017 | iOS: Objective-C, Android: Java, Web: JavaScript/Python/HTML | SQLite | |||
Psychlog | Instituto Auxologico Italiano and National Research Council of Italy | April 11, 2013 | License-free software | C# | MySQL | ||
Psyt Research | Psychological Technologies (PSYT Ltd) | 2.1 | June 2017 | Native iOS (Objective-C), native Android (Java), JavaScript | Hosted (backed by PostgreSQL) | ||
Purple Robot | CBITS, Northwestern University | 2.0.8 | November 3, 2015 | Java | PostgreSQL | ||
Radar-CNS | King's College and Janssen Pharmaceutica NV | 2.0.3-beta (dashboard); 0.1-alpha.2 (Android) | June 23, 2017 (dashboard); April 13, 2017 (Android) | Android: Java, Web: Typescript | MongoDB | ||
RealLife exp | LifeData LLC | ||||||
ResearchKit | Apple | 1.5 | June 7, 2017 | Objective-C, Swift | |||
Research Stack | Cornell Tech's Small Data Lab and open mHealth | 1.1.1 | November 18, 2016 | Java | |||
SensingKit | Queen Mary University of London | 0.5.1 (iOS), 0.2.0 (Android) | September 20, 2018 (iOS) July 29, 2015 (Android) | Objective-C, Swift, Java | |||
Socialise | Black Dog Institute | v0.2 | June 16, 2017 | iOS: Objective-C, Android: Java | |||
unforgettable.me | Unforgettable Research Services | 0.9.6 (Android) | December 5, 2017 | Java, Python, JavaScript | Amazon Web Services | ||
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.
AWARE | |||
Beiwe Research Platform | |||
Cenceme | |||
Context sensing SDK | |||
EARS | |||
Empath | |||
Expimetrics | |||
Emotion Sense | |||
Funf | |||
m-Path Sense | |||
mindLAMP Platform | |||
mEMA | |||
Metricwire | |||
Mobile Sensing Platform | |||
MovisensXS | |||
Murmuras | |||
Passive Data Kit | |||
Psychlog | |||
Psyt | |||
Purple Robot | |||
Radar-CNS | |||
RealLife Exp | |||
ResearchKit | |||
Research Stack | |||
SensingKit | |||
Socialise | |||
unforgettable.me | |||
The following table shows the type of mobile phone on which each software package can be deployed.
AWARE | ||||
Beiwe Research Platform | ||||
Cenceme | ||||
Context sensing | ||||
EARS | ||||
Empath | ||||
Expimetrics | ||||
Emotion sense | ||||
Funf | ||||
m-Path Sense | ||||
mindLAMP Platform | ||||
mEMA | ||||
Metricwire | ||||
Mobile Sensing Platform | ||||
MovisensXS | ||||
Murmuras | ||||
Passive Data Kit | ||||
Psychlog | ||||
Psyt | ||||
Purple Robot | ||||
Radar-CNS | ||||
RealLife Exp | ||||
ResearchKit | ||||
Research Stack | ||||
SensingKit | ||||
Socialise | ||||
unforgettable.me | ||||
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.
AWARE | Web | |
Beiwe Research Platform | Web | |
Cenceme | Web | |
Context sensing | Web / Windows / Mac | |
EARS | Web | |
Empath | Web | |
Expimetrics | ||
Emotion sense | Web | |
Funf | Web | |
m-Path Sense | Web | |
mindLAMP Platform | Web | |
mEMA | Web | |
Metricwire | Web | |
Mobile Sensing Platform | ||
MovisensXS | Web | |
Murmuras | Web | |
Psychlog | ||
Psyt | Web | |
Purple Robot | Web | |
Radar-CNS | Frontend dashboard app | |
RealLife Exp | Web | |
ResearchKit | Web server | |
Research Stack | Web server | |
SensingKit | Web server | |
Socialise | Web server | |
unforgettable.me | Web | |
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).
AWARE | (Android only) | |||||||||
Beiwe Research Platform | (Android only) | (iOS only) | (iOS only) | |||||||
Cenceme | ||||||||||
Context sensing | ||||||||||
EARS | (Android only) | |||||||||
Empath | colspan=10 | |||||||||
Expimetrics | ||||||||||
Emotion sense | ||||||||||
Funf | ||||||||||
m-Path Sense | ||||||||||
mindLAMP Platform | ||||||||||
mEMA | ||||||||||
Metricwire | colspan=10 | |||||||||
Mobile Sensing Platform | ||||||||||
MovisensXS | ||||||||||
Murmuras | ||||||||||
Passive Data Kit | ||||||||||
Psychlog | ||||||||||
Psyt | ||||||||||
Purple Robot | ||||||||||
Radar-CNS | ||||||||||
RealLife Exp | ||||||||||
ResearchKit | ||||||||||
Research Stack | colspan=10 | |||||||||
SensingKit | ||||||||||
Socialise | ||||||||||
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.
AWARE | (Android only) | (Android only) | |||||||
Beiwe Research Platform | (iOS only) | ||||||||
Cenceme | |||||||||
Context sensing | |||||||||
EARS | |||||||||
Empath | colspan=9 | ||||||||
Expimetrics | |||||||||
Emotion sense | |||||||||
Funf | |||||||||
m-Path Sense | |||||||||
mindLAMP Platform | |||||||||
mEMA | |||||||||
Metricwire | |||||||||
Mobile Sensing Platform | |||||||||
MovisensXS | |||||||||
Murmuras | |||||||||
Passive Data Kit | |||||||||
Psychlog | |||||||||
Psyt | |||||||||
Purple Robot | |||||||||
Radar-CNS | |||||||||
RealLife Exp | |||||||||
ResearchKit | |||||||||
Research Stack | colspan=9 | ||||||||
SensingKit | |||||||||
Socialise | |||||||||
The following table contains information regarding availability of functions, within each software package, that support behavioral experiments for scientific purposes.
AWARE | Sensor data is uploaded to an AWARE Server instance (hosted or self-hosted) when online (WiFi only or any available connection) | |||||
Beiwe Research Platform | Wifi or cellular[6] | |||||
Cenceme | ||||||
Context sensing | ||||||
EARS | Sensor data is uploaded to AWS when connected to Wifi or Mobile Data. | |||||
Empath | Remote server connection | |||||
Expimetrics | ||||||
Emotion sense | Wifi | |||||
Funf | (1) manual export or Android file transfer service, (2) manual transfer from device's memory card, (3) setting up server and configure funf to upload data to server. | |||||
m-Path Sense | Sensor data is regularly uploaded to m-Path servers when Wi-Fi is available | |||||
mindLAMP Platform | WiFi and Cellular Data | |||||
mEMA | ||||||
Metricwire | ||||||
Mobile Sensing Platform | ||||||
MovisensXS | Cell or Wifi. Online and Offline | |||||
Murmuras | WiFi or cellular. | |||||
Passive Data Kit | ||||||
Psychlog | ||||||
Psyt | Hosted data store; automatic over-the-air background pload | |||||
Purple Robot | Sensor data and user provided information is securely transmitted to custom data warehouses | |||||
Radar-CNS | ||||||
RealLife Exp | ||||||
ResearchKit | Wi-fi or cellular | |||||
Research Stack | Wi-fi or cellular | |||||
SensingKit | ||||||
Socialise | Wi-fi or cellular | |||||
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.
AWARE | Overall battery impact on average: 19.7mA when sensing only; 24.7mA when storing locally; and 138mA when connected to server | Built-in location algorithm that minimizes battery drain. Also uses event based sampling, opportunistic analysis and scheduled synching to reduce battery consumption |
Beiwe Research Platform | Internal testing of Beiwe did not result in significant battery drain | Battery drain depends entirely on data collection settings |
Cenceme | ||
Context sensing | ||
EARS | Rates of battery drainage are affected by which sensors are activated. The EARS Android app drains around 0.38% of the battery of a Samsung Galaxy 7 every hour of collection on all sensors. On newer devices or devices with fewer sensors, a smaller percentage is drained every hour. | Battery drain depends entirely on data collection settings |
Empath | ||
Expimetrics | ||
Emotion sense | To extend battery life, Emotionsense offloads computations to a remote server | |
Funf | nonspecified type of "Battery optimization" | |
m-Path Sense | Battery impact depends on selected data to collect. Location data has high impact, gyroscope is low. | Battery drain can be optimized by being specific in data selection. |
mindLAMP Platform | Minor battery drain, approximately 0.5% per hour depending on device and collection settings. | Battery drain depends entirely on data collection settings |
mEMA | ||
Metricwire | ||
Mobile Sensing Platform | ||
MovisensXS | Continues location tracking results in 4 days of battery life | Special algorithms maintain a low battery usage |
Murmuras | Testing of Murmuras did not result in significant battery drain. | Battery drain depends entirely on data collection settings. |
Passive Data Kit | ||
Psychlog | 5–6 hours of autonomy | None |
Psyt | Varies with sensor implementation | No drain when backgrounded on iOS |
Purple Robot | The battery drain (in seconds per %) of old uploader plugin was 211 seconds; after introducing a new uploader, the battery drain was 584 seconds | In 2014 purplerobot introduced optimizations that increased battery life 176% |
Radar-CNS | ||
RealLife Exp | ||
ResearchKit | ||
Research Stack | ||
SensingKit | Battery performance was measured on an iPhone 5S running iOS 9.2 and the battery had the following duration performance: idle (51hrs), accelerometer (31hrs), gyroscope (28hrs), magnetometer (34hrs), device motion (21hrs), location (18hrs) | |
Socialise | Battery performance was assessed on participants' own devices. Average battery life was 21.3 hours when app was not scanning and 18.8 hours when GPS, Bluetooth and battery data was collected every 5 minutes | |
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.
AWARE | Slack, 503 users as of Oct 29, 2019 | Android client: actively maintained (Denzil Ferreira); iOS client: actively maintained (Yuuki Nishiyama) | Used in 2722 studies across institutions worldwide. | Slack and GitHub Issue tracking actively used. | GitHub | Academy of Finland | |
Beiwe Research Platform | Slack | 6 iOS releases, 14 Android releases | Beiwe is currently used in 25 studies, primarily at various Harvard Medical School teaching hospitals | GitHub | NIH Director's New Innovator Award | ||
Cenceme | Intel, Nokia, NSF, DHS | ||||||
Context sensing SDK | Intel Context sensing SDK developer's forum at Intel.com | From May 18, 2016, to July 3, 2017, there were two issues posted the developers forum, one of then had 2 replies from intel and the other one had one reply from intel staff | Intel's Context Sensing SDK's download page | Intel | |||
EARS | GitHub | ||||||
Emotion sense | Developers Forum at Google Groups | The sensor manager for Android had 0 commits from the week of July 10, 2016 to July 3, 2017. The Android sensor data manager had 0 commits from the week of July 10, 2016 to July 3, 2017. The iOS survey manager had 0 commits from the week of July 10, 2016 to July 3, 2017. The iOS sensor manager has 0 commits from the week of July 10, 2016 to July 3, 2017. | 33 topics at their Google Group's developers forum. From July 3, 2016, to July 3, 2017, there were 5 topics opened, for a total of 11 posts. The forum seems to have gone silent since March 2017. | The developers forum seems to have gone silent since March 2017 and no issues have been raised in the GitHub page in the last year (July 3, 2016 to July 3, 2017). | GitHub | EPSRC (funding expired in 2015) | |
Empath | NSF | ||||||
Expimetrics | Elevate Ventures | ||||||
Funf | Developer's forum at Google Groups | Funf open sensing framework Android library and 0 commits from week of July 10, 2016 to July 3, 2017. The processing data scripts repository had 0 commits from week of July 10, 2016 to July 3, 2017. | The Funf developers google group has 338 members and a total of 229 topics, the large majority of which were started before the last year (July 3, 2016 to July 3, 2017). | A total of 60 issues were reported on the Funf open sensing framework at GitHub, 52 of which were resolved. No issues have been reported in the last year (July 3, 2016 to July 3, 2017). | GitHub | The Knight Foundation, Google | |
m-Path Sense | Reddit, /r/mpath actively maintained by developers | In constant development, monthly updates | 38,000 App users worldwide | Reddit and e-mail support | Not publicly available | KU Leuven | |
mindLAMP Platform | Frequent updates, highly maintained. | Used by hundreds of patients in studies around the world, including Harvard teaching hospitals. | GitHub | Public | |||
mEMA | |||||||
Metricwire | |||||||
Mobile Sensing Platform | DARPA | ||||||
MovisensXS | Technical Support | Highly maintained. Every Android update is prepared. ~ Quarterly Updates.[7] | ~1700 Researchers. ~6000 Studies | Intercom 24/7 Chat support and Email. | Private | ||
Murmuras | Technical Support | Frequent updates, highly maintained. | Email and Phone support depending on contract. | Private | Commercial | ||
Passive Data Kit | In the Passive data kit for Android there have been 64 commits from the week of July 10, 2016 to July 3, 2017. In the passive data kit for iOS there have been 19 commits from the week of July 10, 2016 to July 3, 2017. In the passive data kit online server there have been 75 commits from the week of July 10, 2016 to July 3, 2017 | GitHub | Private | ||||
Psychlog | SourceForge | EU funding expired 2013 | |||||
Psyt | >1500 commits per year | Eight research projects, over 100,000 research participants | Fully supported under contract (for iOS and whitelisted Android devices) | Private | Commercial | ||
Purple Robot | There has been 0 commits from the week of July 10, 2016 to July 3, 2017. | Purple robot has been forked 20 times and it has 7 contributors and 35 branches | There are 44 issues open and 225 resolved. None of the reported issues has been within the last year (July 3, 2016 to July 3, 2017) | GitHub | |||
Radar-CNS | The questionnaire mobile application code had 111 commits from the week of July 10, 2016 to July 3, 2017 (4 contributors). The dashboard source code had 290 commits from the week of July 10, 2016 to July 3, 2017 (4 contributors). The functionality for Android passive plugins had 372 commits from the week of July 10, 2016 to July 3, 2017 (6 contributors). The phone sensor plugin for passive remote monitoring app had 301 commits from the week of July 10, 2016 to July 3, 2017 (6 contributors). The android app source code had 139 commits from the week of July 10, 2016 to July 3, 2017 (5 contributors). | The repositories contained within Radar-CNS GitHub's account have been forked 20 times, which might be an indicator of the user/developer base | Questionnaire source code has a total of 13 open issues and 13 closed issues. The dashboard source code has a total of 25 open issues and 11 issues closed. The functionality for Android passive plugins has a total of 6 issues open and 3 closed. The phone sensor plugin has 0 total issues. The android app code has 13 issues open and 14 closed. | GitHub | Horizon 2020 and EFPIA | ||
RealLife Exp | Private | ||||||
ResearchKit | 200 commits from the week of July 10, 2016 to July 2, 2017 (96 contributors). | 6 topics related to Researchkit within the developers forum, all of them opened within the last year (July 2016 to July 2017). | 72 issues open and 362 closed (about a third of those issues occurred within the last year). | GitHub | Apple | ||
Research Stack | 14 commits from the week of July 10, 2016 to July 2, 2017 (14 contributors) | 32 topics in the developers forum, 11 of those topics updated within the last year (July 3, 2016 to July 2, 2017). | 52 issues open and 78 closed. About a third of those issues occurred within the last year (July 2016 to July 2017). | GitHub | Robert Wood Johnson Foundation | ||
SensingKit | Sensingkit for iOS source code had 282 commits from the week of July 10, 2016 to July 2, 2017 (1 contributor).Sensingkit for Android had no commits from the week of July 10, 2016 to July 2, 2017 (1 contributor). Sensingkit server platform had no commits from the week of July 10, 2016 to July 2, 2017 (1 contributor) | 15 forks total in Sensingkit for Android, iOS and server | There was a total of 3 issues open and 6 closed in iOS, Android and server repositories combines, all of the issues occurred within the last year (July 3, 2016 to July 2, 2017). | GitHub | UK Defence Science and Technology Laboratory | ||
Socialise | Private | National Health and Medical Research Council | |||||
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.
AWARE | ||
Beiwe Research Platform | ||
Cenceme | ||
Context sensing | ||
EARS | ||
Empath | ||
Expimetrics | ||
Emotion sense | Encryption is used but was unable to obtain more details | Encryption is used but was unable to obtain more details |
Funf | ||
m-Path Sense | ||
mindLAMP Platform | ||
mEMA | ||
Metricwire | ||
Mobile Sensing Platform | ||
MovisensXS | ||
Murmuras | ||
Passive Data Kit | ||
Psychlog | ||
Psyt | ||
Purple Robot | ||
Radar-CNS | ||
RealLife Exp | ||
ResearchKit | ||
Research Stack | ||
SensingKit | ||
Socialise | ||
The following table contains information relative to whether a software package is free or non-free.
AWARE | |
Beiwe Research Platform | |
Cenceme | |
Context sensing SDK | |
EARS | |
Empath | |
Expimetrics | |
Emotion sense | |
Funf | |
m-Path Sense | |
mindLAMP Platform | |
mEMA | |
Metricwire | |
Mobile Sensing Platform | |
MovisensXS | |
Murmuras | |
Passive Data Kit | |
Psychlog | |
Psyt | |
Purple Robot | |
Radar-CNS | |
RealLife Exp | |
ResearchKit | |
Research Stack | |
SensingKit | |
Socialise | |