# Mobile Sensing

movisensXS has the ability to do mobile sensing. Mobile sensing is "Using the sensors of a mobile device (i.e. smartphone or tablet computer) to acquire data from the environment." (opens new window) Modern Smartphones are equipped with the sensors to monitor a diverse range of human activities and commonly encountered contexts.

This is particularly useful for the research field of ambulatory assessment.

Mobile sensing data is store in the Unisens format. Read more about the file format here.


The mobile sensing features are only available on request!

# Features Library version 8455

Measure the usage of e.g. chat apps to measure the social interaction time

Log App Usage On request

This logs the used applications.

Label Description Type Default-Value
Limit to Apps On request Applications which should be logged only. All other applications will not be written in log files. Please split with ';' if you want to specify more than one. String
Register when a user recharges the phone

Log Battery Level On request

This logs the battery level to a unisens log.

Register whether a participant is near a setup device or other participants

Log Nearby Devices On request

This logs nearby devices in an unsisens log file. It will send a bluetooth advertisement through IBeacon standard on supported devices and will protocol all other devices which are broadcasting with a beacon standard.

Label Description Type Default-Value
Broadcast Signal On request Enable to broadcast nearby signal. Boolean true
Scanning interval On request Determines how long the scan should last. Beacon scanning consumes power, a practical value is 10 seconds. Integer 10
Time Between Scans On request Interval between scans in seconds. Beacon scanning consumes power, a practical value is 300 seconds. Integer 300

Log Device Running On request

This logs device running to a unisens log once per minute.

Measure the distanced travelled or register the locations visited

Log Location On request

This logs the location in an energy efficient way.

It uses GPS, WLAN and Cell to balance the battery usage with precision.

Accuracy* ca. 10 m ca. 40 m 200 - 3000 m
Availability in everyday life 80% In cities > 70% > 90%
Time until first determination 65s 3s 2s
Requirement Clear view to the sky WLAN nearby, Internet Mobile cell tower nearby, Internet
Battery Usage High Medium Low

While tracking there are continuous location updates at a maximum rate of every 5s and every 20m. The tracking transitions to a stationary state when the participant remains within 100m of a central position or no location update occurs for 120s. Then more tracking will be done until the participant leaves the 100m radius.

*Location accuracy is the estimated horizontal accuracy of this location, radial, in meters. We define horizontal accuracy as the radius of 68% confidence. In other words, if you draw a circle centered at this location's latitude and longitude, and with a radius equal to the accuracy, then there is a 68% probability that the true location is inside the circle. Furthermore problems can occur with the location tracking using WLAN if the router is moving. This can happen with WLAN in trains for example.

Log Music Listening On request

This logs the currently listened music metadata and the current playback state.

  • Tested and working: Google Android Player, Amazon, Spotify (needs to be enabled inside of Spotify)
  • Not tested but should work: Google Android player, HTC Music, Apollo, Miui, Real, Sonyericsson, Rdio, Samsung Music Player, PowerAmp, Last.fm, Rhapsody, PlayerPro Music Player, Rocket Player, doubleTwist Music Player, Pandora, Winamp, 8tracks playlist radio, jetAudio HD Music Player, Spotify, Soundcloud
  • Tested and not working: Apple Music
Register social interaction or the interruptions from notification

Log Notifications On request

This Logs all incoming notifications in an eventbased manner.

Label Description Type Default-Value
Filter On request Only react to the given packages (Separated with ';') String
Measure social interaction

Log Phone Call On request

This logs the phone activity in an anonymized way (Hashing of phone numbers).

By hashing the phone number, first an individual code will be generated. This code together with the phone number will be processed using the SHA1 hash algorithm. Because of that the hash number can not be assigned to the phone number later on. Furthermore it is not possible to compare the hashs of different participants. How a phone call can be displayed in the results is shown in this example:


Log Physical Activity On request

This logs the physical activity of the user (IN_VEHICLE: 0, ON_BICYCLE: 1, ON_FOOT: 2, STILL: 3, UNKNOWN: 4, TILTING: 5). This implementation is based on Google Play Services which detection algorithm could change even during a running study.

Activity confidence is a value from 0 to 100 indicating the likelihood that the user is performing this activity. The larger the value, the more consistent the data used to perform the classification is with the detected activity. This value will be ≤100. It means that larger values indicate that it's likely that the detected activity is correct, while a value of ≤50 indicates that there may be another activity that is just as or more likely. Multiple activities may have high confidence values. For example, the ON_FOOT may have a confidence of 100 while the RUNNING activity may have a confidence of 1. The sum of the confidences of all detected activities for a classification does not have to be ≤100 since some activities are not mutually exclusive (for example, you can be walking while in a bus) and some activities are hierarchical (ON_FOOT is a generalization of WALKING and RUNNING).


Beginning with Android 5, activities may be received less frequently than minutely if the device is in power save mode and the screen is off. To conserve battery, activity reporting may stop when the device is 'STILL' for an extended period of time. It will resume once the device moves again. This only happens on devices that support the Sensor.TYPE_SIGNIFICANT_MOTION hardware.


Physical Activity cannot be measured accurately with a Smartphone. Smartphone accelerometers are not very accurate, differ between devices and the wearing position of the Smartphone varies. To accurately measure it please use a dedicated activity sensor like the movisens Move4.

Label Description Type Default-Value
Log interval On request Minimal interval to log the physical activity in seconds. Activity may be logged more often, if requested by other apps. Integer 60

Log Record Audio Condition On request

This condition records the audio of the microphone till the condition is set to false. Files are stored on the sdcard in the folder 'Android/data'. Please Note: If you use this, you shouldn't use other item formats which connect to the microphone.

Label Description Type Default-Value
Maximum Duration On request Maximum Time before finishing the recording if not stopped before in seconds Integer 45
Uncompressed On request The files are saved as uncompressed .wav files Boolean false
Password On request The password which is used to encrypt the .wav files String
Measure social interaction

Log SMS On request

This logs the SMS activity in an anonymized way (Hashing of phone numbers).

Log Steps On request

This logs the steps.


Steps cannot be measured accurately with a Smartphone. This is just an estimation based on 5 seconds of measurement of the Smartphone accelerometer in a minute. Smartphone accelerometers are not very accurate, differ between devices and the wearing position of the Smartphone varies. To accurately measure it please use a dedicated activity sensor like the movisens Move4.

Log Traffic On request

This action logs the traffic usage.

The network traffic is measured at the network layer, so they include both TCP and UDP usage. Values increase monotonically since device boot. The bytes received (RX) and transmitted (TX) are stored in the following categories:

  • Total: Number of bytes transmitted since device boot.
  • App: Number of bytes transmitted by the movisensXS app since device boot.
  • Mobile: Number of bytes transmitted across mobile networks since device boot.
This block can be used in movisensXS after e.g. an Repeated Trigger of 3600 seconds to log this value hourly. We recommend to subtract the app usage from the total and use this value as an indicator for how active a participant has used the internet.

Measure how much time the participants spends on his phone

Log Display On/Off On request

This condition is true if the display is on.

# Unisens files created by mobile sensing

Feature Unisens file Unisens Type (Sampling Rate) Example Aggregation possibility to 1 Minute (This requires to also take DeviceRunning into consideration, if available) General Aggregation Possibilities
Log App Usage AppUsage.csv Event (New Event on Value Change) 163250,App,com.android/android.intent.action.SCREEN_ON
Most used app during that minute Minutes per day the participant used an app
How often an app was used
Log Battery Level BatteryLevel.csv Event (New Event on Value Change, sometimes more often) 2417,91
Last Battery level
Log Nearby Devices Beacon.csv Event (New Event on Value Change) 99242,Beacon enters,uuid=50765cb7-d9ea-4e21-99a4-fa879613a492 major=35863 minor=39920
99310,Beacon exits,uuid=50765cb7-d9ea-4e21-99a4-fa879613a492 major=35863 minor=39920
99435,Beacon enters,uuid=09142332-4556-0f78-899e-ebbcce94eff1 major=58755 minor=32856
99435,Beacon enters,uuid=74278bda-b644-4520-8f0c-720eaf059935 major=0 minor=55409
99449,Beacon exits,uuid=74278bda-b644-4520-8f0c-720eaf059935 major=0 minor=55409
99519,Beacon exits,uuid=09142332-4556-0f78-899e-ebbcce94eff1 major=58755 minor=32856
List of active Beacons during that minute Duration how long beacons (e.g. other participants) have been seen per day.
Log Device Running DeviceRunning.csv Event (New Event on Value Change, Since app version 1.5.0 it is recorded minutely) 10,1
130,0 (may be missing)
Was the device on or off
Log Location Location.csv Event (New Event on Value Change, more often if movement < 200m) 1843,49.452532,8.4103249,184.0,12.0
Speed, Distance Traveled, Last known position
Log Music Listening MusicLog.csv Event (New Event on Value Change) 38,Music,state=true|artist=KUMMER|album=KIOX|track=Schiff
43,Music,state=true|artist=KUMMER|album=KIOX|track=Ganz genau jetzt
Mustic track that was listened to most of the time during that minute (==> Duration of Music listened)
Log Notifications NotificationLog.csv Event (When new Notification arrives) 69905,Notification,Pkg=com.whatsapp|contentLenght=30
Amount of messages during this minute or last message Notifications per app
Log Phone Call PhoneCallActivity.csv Event (When Phone call is completed) 442637,Call,type=Outgoing|number={"ONE_WAY_HASH":"1c3d3074811843e1e133a3cba16d506ecb7e8593"}|duration=121|time=13:44:53|date=2018-02-01 If a phone call was running during this minute
Log Physical Activity ActivityLog.csv Event (Should be minutely, on some devices less (depending on the Smartphone manufacturer and Android-Version (especially since Android 5) 1682,2,100
Last entry that was active during this minute
Log SMS SMSActivity.csv Event (When new SMS arrives) Messages received during this minute or last Message Notifications per person
Log Steps Steps.csv Event (Should be minutely, on some devices less) 0,0
Amount of Steps in this minute
Log Traffic TrafficRx.csv, TrafficTx.csv Event (Depending on the trigger intervall configured in the sampling) Bytes since last Event (Unrolling Diff)
Log Display On/Off DisplayOn.csv Event (When display is turned on/off) 0,1
Last known state
Last Updated: 2/2/2022, 2:30:01 PM
© 2024 movisens GmbH, Imprint