Skip to content

mimuc/muc25-contextualized-smartphone-typing-logger

Repository files navigation

Contextualized Smartphone Language Logger

This is a project of a demo app, that demonstrate how we assessed smartphone language in context of the user's input intention (i.e. input prompt texts) in our paper Contextualizing Smartphone-Typed Language With User Input Intention. While the app itself is just a bare demo app without UI and functionality, it includes the Android modules that implement the language and UI logging for reuse. It is meant to inspire your own implement, e.g., you can copy classes, code snippets,or modules that are helpful for you into your project.

What This Project Does

This app logs the text contents that a user is typing. Text contents are preprocessed on-device through a categorization process (see paper Bemmann, Buschek 2020. LanguageLogger: A Mobile Keyboard Application for Studying Language Use in Everyday Text Communication in the Wild for details). This project especially demonstrates how UI-metadata, here the input prompt text / placeholder, is used to provide contextual information on each text input. Thereby the researcher can filter for example for private messages, or search inputs to get more focussed data.

Instead of categorizing collected in-the-wild text input data by the originating app, we propose to regard text feld’s input prompt text. This fgure shows on the example of the app Instagram, that text inputs into Instagram are not just social media contents such as posts and comments, but can also have other intentions such as messaging, search, and data input.

Module Structure

phonestudy-logging-keyboard

Code that connects to accessibility service and extracts the UI metadata.

researchime_[base|contentabstraction|contentextraction]

Code that deals with preprocessing the raw text data, to ensure privacy. The procedure an system are explained in detail in our paper Bemmann, Buschek 2020. LanguageLogger: A Mobile Keyboard Application for Studying Language Use in Everyday Text Communication in the Wild and the according GitHub repository: https://github.com/Flo890/languagelogger-app

In this project, all online features (remote-configuration of aggregation dictionaries, synching of resulting data to researcher server) have been disabled/removed.

How To Use

In order to receive keykoard input events, the module's Accessibility service must be registered. After installing the app, the user can activate it in the phone settings Accessibility -> PhoneStudy Textverarbeitung -> Then turn the toggle button on. In a real study, you should either guide the user to this screen through an intent, or supervise the configuration.

screenshot of the Android Accessibility settings menu

screenshot of the Android Accessibility settings menu

A log statement will confirm the service activation.

screenshot of service connected log

Afterwards the system will record all key inputs, alongside the input text fields meta data. You can again observe the process in the console log. Android screen of a user typing into the Google search

screenshot of logs that indicate the keyboard data logging

A deeper inspection of the information that becomes available through our tool is possible in the app's local database, which can be accessed for example via Android Studio's App Inspection tab.

Android Studio app inspection: the resulting data in the database

Citation

When reusing this project for your work, please cite:

Florian Bemmann, Timo K. Koch, Maximilian Bergmann, Clemens Stachl, Daniel Buschek, Ramona Schoedel, and Sven Mayer. 2025. Contextualizing Smartphone-Typed Language With User Input Intention. In Mensch und Computer 2025 (MuC ’25), August 31-September 03, 2025, Chemnitz, Germany. ACM, New York, NY, USA, 6 pages. https://doi.org/10.1145/3743049.3748537

Responsible Use

Real-world user data needs to be treated with care. Although this system uses an on-device aggregation process of text inputs, studies using this system are prone to privacy and security issues. We are not responsible for issues arising from the usage of our software - please ensure that you apply it wisely and understand the full data flow! Also please note that the on-device aggregation process may be undermined through inappropriate configurations.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages