<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (NISO Z39.96-2019) Journal Publishing DTD v1.2 20190208//EN" "https://jats.nlm.nih.gov/publishing/1.2/JATS-journalpublishing1-mathml3.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="1.2" xml:lang="en" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <front>
    <journal-meta>
  <journal-id journal-id-type="publisher-id">CCR</journal-id>
  <journal-title-group>
    <journal-title>Computational Communication Research</journal-title>
  </journal-title-group>
  <issn pub-type="ppub" />
  <issn pub-type="epub">2665-9085</issn>
  <publisher>
    <publisher-name>Amsterdam University Press</publisher-name>
    <publisher-loc>Amsterdam</publisher-loc>
  </publisher>
</journal-meta><article-meta>
      <article-id pub-id-type="publisher-id">CCR2025.1.8.PARR</article-id><article-id pub-id-type="doi">10.5117/CCR2025.1.8.PARR</article-id><article-categories><subj-group subj-group-type="heading"><subject>Article</subject></subj-group></article-categories><title-group>
        <article-title>Extracting Meaningful Measures of Smartphone Usage from Android Event Log Data:A Methodological Primer</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <name>
            <surname>Parry</surname>
            <given-names>Douglas A.</given-names>
          </name>
          <aff>Department of Communication Science, Vrije Universiteit Amsterdam, The NetherlandsDepartment of Information Science, Stellenbosch University, South AfricaMethods Lab, Weizenbaum Institute, Germany</aff>
        </contrib>
        <contrib contrib-type="author">
          <name>
            <surname>Toth</surname>
            <given-names>Roland</given-names>
          </name>
          <aff>Methods Lab, Weizenbaum Institute, Germany</aff>
        </contrib>
      </contrib-group>
      <pub-date pub-type="epub"><year>2025</year></pub-date><volume>7</volume><issue>1</issue><fpage>1</fpage><permissions><copyright-statement>© The authors</copyright-statement><copyright-year>2025</copyright-year><copyright-holder>The authors</copyright-holder><license license-type="open-access"><license-p>This is an open access article distributed under the CC BY 4.0 license <ext-link ext-link-type="uri" xlink:href="https://creativecommons.org/licenses/by/4.0/">https://creativecommons.org/licenses/by/4.0/</ext-link></license-p></license></permissions><abstract>
    <title>Abstract</title><p>As smartphones become increasingly integral to daily life, their
importance for understanding human behavior will only continue to grow.
Recognizing the potential of objective data on smartphone usage and the
challenges associated with raw Android event log data, this paper
provides a foundational guide for extracting meaningful measures of
smartphone usage from such data. We describe the characteristics of
Android event log data, define key smartphone usage types (i.e.,
glances, sessions, and episodes), and briefly discuss common challenges
in handling these data. The core of the paper presents a detailed
practical procedure to extract relevant usage metrics (sessions,
glances, app episodes) from raw Android event logs, described visually,
verbally, and with pseudo-code (with sample data and code in R available
in the supplementary materials). This guide aims to equip researchers
with the knowledge and tools to effectively utilize Android event log
data, advancing knowledge of smartphone use patterns and their effects.</p>
  </abstract>
      <kwd-group>
        <title>Keywords:</title><kwd>Smartphone usage</kwd>
        <kwd>Android event log</kwd>
        <kwd>digital trace data</kwd>
        <kwd>smartphone tracking</kwd>
        <kwd>log data</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="S1">
      
      
      
      
    <title>Introduction</title><p id="S1.p1">Given the range of communication phenomena that take place on and through people’s smartphones, smartphone usage represents an important aspect of the contemporary media landscape that attracts substantial research attention (Kim et al., <xref rid="bib.bibx16" ref-type="bibr">2017</xref>; Wei et al., <xref rid="bib.bibx42" ref-type="bibr">2023</xref>). Until recently, most research on smartphone uses and effects has relied on relatively high-level estimates of the frequency or duration that individuals use either the device in general or, in a smaller set of studies, specific apps or features (Ellis, <xref rid="bib.bibx9" ref-type="bibr">2019</xref>).
These estimates are typically collected using surveys that require participants to estimate and self-report their device usage.</p><p id="S1.p2">A growing number of studies now employ more objective methods to measure the extent and nature of participants’ smartphone usage.
These methods include data donations of high-level usage reports (e.g., screenshots of use duration and frequency, aggregated at the day level, from iOS Screen Time reports or the Android Digital Wellbeing page; Ohme et al., <xref rid="bib.bibx22" ref-type="bibr">2021</xref>; Sewall et al., <xref rid="bib.bibx33" ref-type="bibr">2021</xref>), high-frequency screenshots of device usage (e.g., Brinberg et al., <xref rid="bib.bibx6" ref-type="bibr">2021</xref>, <xref rid="bib.bibx5" ref-type="bibr">2023</xref>), and recordings of battery-usage statistics (e.g., Baumgartner et al., <xref rid="bib.bibx2" ref-type="bibr">2023</xref>). Other methods involve asking participants to provide reports generated by third-party apps (e.g., <italic>Moment, Forest</italic>) that summarize device usage (e.g., Parry et al., <xref rid="bib.bibx25" ref-type="bibr">2020</xref>; Rozgonjuk et al., <xref rid="bib.bibx28" ref-type="bibr">2018</xref>), and partnering with third-party organizations to acquire preprocessed data on participants’ usage (e.g., Festic et al., <xref rid="bib.bibx11" ref-type="bibr">2021</xref>; Peng &amp; Zhu, <xref rid="bib.bibx27" ref-type="bibr">2020</xref>).</p><p id="S1.p3">Alongside these techniques researchers have begun to use third-party apps (e.g., Marciano et al., <xref rid="bib.bibx20" ref-type="bibr">2022</xref>; Verbeij et al., <xref rid="bib.bibx41" ref-type="bibr">2021</xref>; Siebers et al., <xref rid="bib.bibx34" ref-type="bibr">2024</xref>) or develop purpose-built software to directly access <italic>Android event logs</italic> on participants’ devices (e.g., Geyer et al., <xref rid="bib.bibx12" ref-type="bibr">2022</xref>; Stachl et al., <xref rid="bib.bibx36" ref-type="bibr">2020</xref>; Kristensen et al., <xref rid="bib.bibx17" ref-type="bibr">2022</xref>; Toth &amp; Trifonova, <xref rid="bib.bibx38" ref-type="bibr">2021</xref>). By indexing all actions that take place on a smartphone, these methods offer unprecedented access to participants’ smartphone usage. This enables researchers to gather detailed data in ways not possible through other techniques.</p><p id="S1.p4">Despite the possibility of tracking errors, sample biases, and the substantial challenges associated with properly distinguishing between background system processes and actual human smartphone usage (Geyer et al., <xref rid="bib.bibx12" ref-type="bibr">2022</xref>; Lee et al., <xref rid="bib.bibx19" ref-type="bibr">2023</xref>; Cernat et al., <xref rid="bib.bibx7" ref-type="bibr">2024</xref>), Android event log data are free from the perceptual biases and errors that typically affect retrospective behavior estimates (Parry et al., <xref rid="bib.bibx24" ref-type="bibr">2021</xref>; Sewall &amp; Parry, <xref rid="bib.bibx32" ref-type="bibr">2021</xref>; Sewall et al., <xref rid="bib.bibx31" ref-type="bibr">2020</xref>). Indeed, a growing body of research now indicates that there is a considerable discrepancy between estimates of media use and measures derived from more objective sources of usage data (Parry et al., <xref rid="bib.bibx24" ref-type="bibr">2021</xref>; Cernat et al., <xref rid="bib.bibx7" ref-type="bibr">2024</xref>) — a phenomenon that some have referred to as the “accuracy crisis” (Abeele &amp; Nguyen, <xref rid="bib.bibx40" ref-type="bibr">2022</xref>, p.  185). Behavioural data collection techniques that draw directly on data collected by participant’s devices can, consequently, provide us with more accurate data on smartphone usage, forming the basis for more precise inferences about the nature, dynamics, and effects of smartphone usage in various contexts.</p><p id="S1.p5">Android event log data also enable us to investigate more granular aspects of smartphone usage beyond high-level metrics like total daily or weekly duration or frequency of usage.
These data can provide insight into the specific apps used on the device and the times and temporal sequence in which these apps were used. Consequently, these data can facilitate fine-grained analyses of app repertoires or sequences, as well as the temporal dynamics of smartphone usage in ways not possible with usage estimates or reports generated by usage tracking apps or features (e.g., <italic>iOS Screen Time, Moment</italic>) that provide users with high-level summaries of their usage.<xref rid="id1" ref-type="fn" specific-use="fn"><sup>1</sup></xref> This temporal component can support investigations of, among other things, temporal ordering, behavioral stability, sequential usage patterns, instances of non-use, and the lagged, accumulative, or decaying effects that these usage patterns may produce.</p><p id="S1.p6">By associating each event on the user’s device with a timestamp, Android event log data enable linkage with other data collected through different techniques. Such data could be collected via, for example, mobile experience sampling methods, other device sensors (e.g., motion sensors, environmental sensors, position sensors),<xref rid="id2" ref-type="fn" specific-use="fn"><sup>2</sup></xref> external sensors, or data from other platforms (Otto et al., <xref rid="bib.bibx23" ref-type="bibr">2024</xref>).</p><p id="S1.p7">Android event log data have become an increasingly valuable resource for researchers seeking to understand the nature, antecedents, contexts, and effects of smartphone use. Their strength lies in the ability to capture high-resolution, time-stamped records of user actions—offering objective, granular data that avoid the recall biases of self-reported measures. By providing rich temporal detail and supporting integration with other data sources and methods, Android logs enable more precise and nuanced analyses of mobile media use. This type of data facilitates a wide range of research questions—for instance, how patterns of app use relate to well-being, how sequential app-switching affects multitasking and cognitive performance, or how usage contexts influence mood regulation. Reflecting this potential, recent studies have employed Android log data to examine the links between personality traits and usage behaviors (Stachl et al., <xref rid="bib.bibx36" ref-type="bibr">2020</xref>), the dynamics of adolescent smartphone use and well-being (Marciano et al., <xref rid="bib.bibx20" ref-type="bibr">2022</xref>), the impact of fragmented or sticky usage on attention (Siebers et al., <xref rid="bib.bibx35" ref-type="bibr">2023</xref>), and the relationship between app use and sleep quality (Siebers et al., <xref rid="bib.bibx34" ref-type="bibr">2024</xref>).</p><p id="S1.p8">While Android event log data excel at capturing precise temporal sequences of user actions, they offer limited insight into the content users engage with, the physical or social contexts in which usage occurs, or the motivations and emotional responses driving behavior. These more qualitative and contextual elements are often better accessed through complementary methods like mobile experience sampling, which captures in-the-moment reflections, or through additional sensor data from smartphones and wearables. By combining Android event log data with experience sampling and other contextual sources, researchers can gain a more holistic and ecologically valid understanding of mobile media use and its effects—enabling investigations not only into when and how people use their phones, but also why, where, and with what consequences.</p><p id="S1.p9">At the same time, the use of Android event log data raises important ethical, privacy, and sampling considerations (Breuer et al., <xref rid="bib.bibx4" ref-type="bibr">2020</xref>). The granularity and sensitivity of these data pose heightened risks of revealing personal information or enabling re-identification. These concerns can lead to participation biases, particularly among individuals with heightened privacy concerns or lower levels of digital literacy, resulting in systematic underrepresentation in samples. Furthermore, the representativeness of Android log data is shaped by the global and socio-economic variability in smartphone brand adoption, which may further skew sample composition across different populations. Although this manuscript primarily focuses on the technical challenges associated with using Android event log data, we emphasize the importance of addressing these ethical and sampling issues. Researchers should proactively account for potential biases in study design and adhere to established ethical guidelines for working with digital trace data (Breuer et al., <xref rid="bib.bibx4" ref-type="bibr">2020</xref>; Ohme et al., <xref rid="bib.bibx21" ref-type="bibr">2023</xref>).</p><sec id="S1.SS1">
        
        
        
        
      <title>Towards a guide for working with Android event log data</title><p id="S1.SS1.p1">Despite the inherent benefits of these data, alongside the important ethical considerations, working with Android event log data presents several technical challenges, complexities, and decisions that must be managed. In this paper we aim to support researchers in tackling some of these complexities. We take as a point of departure that researchers have already collected or accessed raw Android event log data using either custom-built logging apps (e.g., Geyer et al., <xref rid="bib.bibx12" ref-type="bibr">2022</xref>; Stachl et al., <xref rid="bib.bibx36" ref-type="bibr">2020</xref>; Kristensen et al., <xref rid="bib.bibx17" ref-type="bibr">2022</xref>; Toth &amp; Trifonova, <xref rid="bib.bibx38" ref-type="bibr">2021</xref>; Toth, <xref rid="bib.bibx37" ref-type="bibr">2023</xref>), third-party, commercial tracking tools (Marciano et al., <xref rid="bib.bibx20" ref-type="bibr">2022</xref>; Verbeij et al., <xref rid="bib.bibx41" ref-type="bibr">2021</xref>; Siebers et al., <xref rid="bib.bibx34" ref-type="bibr">2024</xref>), or frameworks/apps purpose-built to support research access to Android data (e.g., the AWARE framework Ferreira et al., <xref rid="bib.bibx10" ref-type="bibr">2015</xref>). Importantly, we assume that, rather than providing pre-processed or already summarized data, these data collection methods provide the complete, full Android event log from users’ devices (Stachl et al., <xref rid="bib.bibx36" ref-type="bibr">2020</xref>; Toth, <xref rid="bib.bibx37" ref-type="bibr">2023</xref>).<xref rid="id3" ref-type="fn" specific-use="fn"><sup>3</sup></xref></p><p id="S1.SS1.p2">Regardless of the data collection method, researchers face significant challenges in transforming raw Android event log data into meaningful, research-ready smartphone usage metrics. One of the key issues is the sheer volume and complexity of the data, and the lack of standardized, transparent approaches for processing it. Although smartphone tracking has become increasingly popular, data processing methods are often ad hoc, inconsistently applied, and poorly documented—posing barriers to reproducibility and comparability across studies. Compounding this challenge, many researchers interested in using Android event log data may lack the technical expertise in data wrangling and programming required to handle these datasets effectively. In response to these issues, this paper offers a practical primer to support researchers in navigating and utilizing Android event log data in a systematic, accessible, and reproducible manner.</p><p id="S1.SS1.p3">To present our primer, we first describe what Android event log data are. We then define the smartphone usage types that can be computed from these data. Next, we briefly provide a high-level overview of the process of extracting usage types from the event logs, noting key factors complicating this process. Following these preliminary sections we outline the necessary steps to extract and calculate meaningful measures of human behavior (Lazer et al., <xref rid="bib.bibx18" ref-type="bibr">2021</xref>) from the raw event logs. Finally, we conclude by discussing the key limitations of Android event log data and outlining a research agenda to advance the adoption of these methods.</p><p id="S1.SS1.p4">Given this structure and our research objectives, this paper can be understood as a form of <italic>design science research</italic> (i.e., research that focuses on the creation of artifacts or procedures designed to solve identified real-world problems, Hevner et al., <xref rid="bib.bibx15" ref-type="bibr">2004</xref>). By providing a comprehensive, step-by-step guide, including both verbal descriptions and pseudo-code, we contribute a practical tool that addresses the challenges of working with raw Android event log data (Baskerville et al., <xref rid="bib.bibx1" ref-type="bibr">2018</xref>).</p></sec></sec>
    <sec id="S2">
      
      
      
      
    <title>Key conceptual definitions</title><p id="S2.p1">Before considering <italic>how</italic> to extract meaningful measures of smartphone use from Android event log data, we first need to consider <italic>what</italic> Android event log data are, and <italic>which</italic> indicators of smartphone use we can measure using these data.</p><sec id="S2.SS1">
        
        
        
        
      <title>Android event log data</title><p id="S2.SS1.p1">On Android devices, apps are typically developed using an object-oriented paradigm in programming languages like Java or Kotlin.
This forms the basis for how actions are logged by the operating system. Changes in the state of an app or system component are therefore recorded as <italic>events</italic>. These events capture all system state changes as well as user interactions with elements of the interface presented by the system or a particular app.<xref rid="id4" ref-type="fn" specific-use="fn"><sup>4</sup></xref> The retention period for entries in the system’s event log is not fixed and depends on several factors, including the available storage on the device, specific logging configurations, and the log buffer size set by the system.
For this reason, while it is possible to collect retrospective data using Android event logs (i.e., events logged before a research app is installed), research apps typically access the event log periodically to collect new entries (Geyer et al., <xref rid="bib.bibx12" ref-type="bibr">2022</xref>; Stachl et al., <xref rid="bib.bibx36" ref-type="bibr">2020</xref>; Kristensen et al., <xref rid="bib.bibx17" ref-type="bibr">2022</xref>; Toth, <xref rid="bib.bibx37" ref-type="bibr">2023</xref>). Each event includes four primary attributes that are useful for computing relevant smartphone usage metrics: the <italic>timestamp</italic>, the <italic>event type</italic>, the <italic>package name</italic>, and the <italic>class name</italic> (see Table <xref rid="S2.SS1" ref-type="sec">2.1</xref> for a
summary of these event attributes).</p><table-wrap id="S2.SS1.tab2"><label>Table 1:</label><caption><title>Key Android event attributes.</title></caption>
    An error in the conversion from LaTeX to XML has occurred here.
  <p>In the context of Android log data, “packages” refer to <italic>application packages</italic>, which are unique identifiers for apps installed on an Android device. The <italic>package name</italic> designates the unique namespace for all classes and components associated with a particular function or app. The package name is a unique string that identifies an app both on the <italic>Google Play Store</italic> and on any device where the app is installed. Package names typically follow the format of reverse domain name notation. While they tend to include the actual name of the app (e.g., ‘com.snapchat.android’ for the app <italic>Snapchat</italic>), this naming convention is not mandatory (e.g., ‘com.zhiliaoapp.musically’ for the app <italic>TikTok</italic>). For apps available on the Google Play Store the package name forms part of the app’s URL (e.g., <ext-link xlink:href="https://play.google.com/store/apps/details?id=com.instagram.android" ext-link-type="uri">https://play.google.com/store/apps/details?id=com.instagram.android</ext-link> for the package name ‘com.instagram.android’ for the app <italic>Instagram</italic>).</p><p>Each package consists of one or more <italic>classes</italic> that encapsulate the code defining its behavior. In object-oriented programming, a class is a blueprint defining the attributes/properties and behavior of an object. Android apps are built by defining classes to create these objects. While there are various naming conventions and predefined classes (e.g., ‘Activity’ classes for user interface screens and ‘Service’ classes for background operations), developers have flexibility in naming their own classes. While many events are associated with particular classes (e.g., ‘com.whatsapp.HomeActivity’ or ‘com.whatsapp.Conversation’) in the event log, in some cases the class name for an event is logged as ‘null’. This can occur for various reasons (e.g.,intentional obfuscation to deter reverse engineering, memory management issues, or dynamic class loading processes).</p><p>The <italic>timestamp</italic> indicates the specific point in time an event occurred, represented in Unix timestamp format, which counts the number of milliseconds since the Unix epoch (i.e., January 1, 1970, at 00:00:00 UTC). This integer can be converted to conventional date-time formats for analysis.<xref rid="id5" ref-type="fn" specific-use="fn"><sup>5</sup></xref>
The <italic>event type</italic> is an integer that denotes the specific type of event that occurred. Although these are not extensively detailed in the public Android documentation, their interpretations are available in the Android source code<xref rid="id6" ref-type="fn" specific-use="fn"><sup>6</sup></xref> and various community efforts have documented key event types. Table <xref rid="S2.SS1" ref-type="sec">2.1</xref> provides definitions for event types relevant for the extraction of smartphone usage metrics from raw event log data.<xref rid="id7" ref-type="fn" specific-use="fn"><sup>7</sup></xref> Alongside these event tags, other events not necessary for the identification of human smartphone use are also logged (e.g., <italic>11</italic> designates that the system-internal priority of an app has changed).</p><table-wrap id="S2.SS1.tab1"><label>Table 2:</label><caption><title>Key event type definitions.</title></caption>
    An error in the conversion from LaTeX to XML has occurred here.
  <sec id="S2.SS1.SSS1">
              
              
              
              
            <title>Comparing Android event log data with other forms of smartphone logs</title><p id="S2.SS1.SSS1.p1">Compared to other smartphone tracking tools or data sources Android event log data offer unique advantages in granularity, flexibility, and depth of information. For instance, iOS Screen Time donations provide high-level summaries of phone or app usage, aggregated at the day or week level (Ohme et al., <xref rid="bib.bibx22" ref-type="bibr">2021</xref>). In contrast, Android event logs capture more detailed, timestamped information about specific user interactions. This granular data allows researchers to reconstruct precise sequences of app usage and better understand temporal patterns in smartphone use, like the timing of app launches, periods of inactivity, or device lock/unlock events. While battery usage statistics collected via screen recordings can be used to infer temporal patterns in smartphone use, they typically do not capture detailed app transitions, short-interval app switches, or background processes—information that is available in Android event logs (Baumgartner et al., <xref rid="bib.bibx2" ref-type="bibr">2023</xref>).</p><p id="S2.SS1.SSS1.p2">Another common alternative is the use of third-party commercial tracking apps. These apps, however, often come with limitations.
Alongside costs and potential privacy concerns, they typically collect aggregated usage statistics or predefined categories of behavior, rather than the raw, event-level data that Android logs can provide. Moreover, the black-box nature of many third-party tools makes it difficult to verify how data were collected, processed, or transformed into higher-level usage metrics.
Additionally, third-party apps often impose restrictions on data collection frequency and scope, or limit functionality unless users pay for premium tiers. In contrast, direct access to Android event logs allows for uninterrupted data streams, offering researchers a more transparent and customizable option.
That said, third-party tools do have advantages in providing user-friendly summaries and reducing the need for extensive post-collection data processing.</p><sec id="S2.SS2">
                
                
                
                
              <title>Smartphone usage types</title><p id="S2.SS2.p1">In the socio-behavioral sciences, we are typically interested in
specific types of user-oriented smartphone usage—events involving users rather than background system or application processes. These usage patterns are of interest either independently or in connection with other relevant outcomes or antecedents. To enable this, we can use the event logs to compute various <italic>metrics</italic> that represent particular forms of smartphone use. Here, we provide brief definitions for these foundational smartphone usage types.</p><p id="S2.SS2.p2">Following Canneyt et al. (<xref rid="bib.bibx39" ref-type="bibr">2017</xref>) and Zhu et al. (<xref rid="bib.bibx43" ref-type="bibr">2018</xref>), <italic>smartphone usage sessions</italic> are continuous uninterrupted sequences of device use that occur between unlocking and locking the device. While these sessions can only be initiated by the unlocking of a device, they can end in various ways,(e.g., the user manually locking the phone, the device powering off or rebooting, or the screen timing out and locking automatically). In a similar manner, we define <italic>application usage episodes</italic> as continuous, uninterrupted sequences of app use that occur between launching and closing an app. A <italic>glance</italic> indicates that the smartphone screen was activated and then deactivated without the device being unlocked. Glances can be triggered automatically by the phone itself due to push notifications or initiated by the user touching the screen or through sensor activation (e.g., raising the device). During a glance, limited interactions like clearing notifications, viewing or expanding them, previewing and answering messages, or controlling audio playback are possible, but full app functionality requires unlocking the device, initiating a new smartphone usage session in the process.</p><table-wrap id="S2.T3"><label>Table 3:</label><caption><title>Key Smartphone usage
metrics.</title></caption>
                  
                  
                  
                  
                
<table>
<thead>
<tr>
<th style="padding-left:3.0pt;padding-right:3.0pt;"><p /></th>
<th style="padding-left:3.0pt;padding-right:3.0pt;" /></tr>
<tr>
<th style="padding-left:3.0pt;padding-right:3.0pt;"><p>Metric</p></th>
<th style="padding-left:3.0pt;padding-right:3.0pt;"><p>Definition</p></th></tr>
</thead>
<tbody>
<tr>
<td style="padding-left:3.0pt;padding-right:3.0pt;"><p>Smartphone usage session</p></td>
<td style="padding-left:3.0pt;padding-right:3.0pt;"><p>A continuous uninterrupted sequence of
smartphone use between unlocking and locking the device</p></td></tr>
<tr>
<td style="padding-left:3.0pt;padding-right:3.0pt;"><p>Application usage episode</p></td>
<td style="padding-left:3.0pt;padding-right:3.0pt;"><p>A continuous uninterrupted sequence of app
use between launching and closing an app</p></td></tr>
<tr>
<td style="padding-left:3.0pt;padding-right:3.0pt;"><p>Glance</p></td>
<td style="padding-left:3.0pt;padding-right:3.0pt;"><p>Screen activation while the device is locked.</p></td></tr>
</tbody>
</table></table-wrap><p id="S2.SS2.p3">Table <xref rid="S2.T3" ref-type="table">3</xref> summarizes the definitions for these metrics. Based on these foundational metrics, researchers can derive various secondary metrics. These include, but are not limited to, total smartphone usage duration (comprising the sum of glance and session durations), duration of usage for individual apps, sequences of app usage within specific sessions, and <italic>app repertoires</italic>. App repertoires extend the idea of a <italic>media repertoire</italic> (Hasebrink &amp; Popp, <xref rid="bib.bibx14" ref-type="bibr">2006</xref>), which is used to describe the continued selection and use of a preferred subset of media from the available options. An application repertoire refers to the “set of preferred mobile applications that an individual selects and regularly uses” (Parry &amp; Sewall, <xref rid="bib.bibx26" ref-type="bibr">2021</xref>, ,p. 4). App repertoires can be examined at different levels: aggregated (e.g., combining all available usage data), within specific units (e.g., within a single smartphone session), across various timeframes (e.g., specific times of day or periods), or focusing on the temporal ordering of apps within a repertoire. For the latter, researchers have used the concept of an <italic>application sequence</italic> to refer to the ordered pattern in which a user engages a consecutive set of apps within a session (Peng &amp; Zhu, <xref rid="bib.bibx27" ref-type="bibr">2020</xref>). A <italic>mobile trajectory</italic> refers to the sequence of smartphone sessions interspersed with “mobile-off-time” (Peng &amp; Zhu, <xref rid="bib.bibx27" ref-type="bibr">2020</xref>).</p><p id="S2.SS2.p4">Figure <xref rid="S2.F1" ref-type="fig">1</xref> visualizes an example mobile trajectory, indicating two smartphone use sessions. In this figure, time flows vertically with the left-hand side indicating the actions that have occurred. The numbers in parentheses indicate the corresponding event type. The right side of the figure depicts the relations between glances, app episodes, and smartphone sessions, visualizing how these metrics are constructed on the basis of actions (and events) having taken place. In this example a single glance is followed by a smartphone session consisting of two app episodes, which is then followed by a second smartphone session containing only a single app episode. In this way, the figure illustrates the sequence of event types (on the left) that needs to be specified to identify the usage pattern depicted on the right.</p><fig id="S2.F1"><label>Figure 1:</label><caption><title>A visual summary of key smartphone usage types.</title></caption>
                  
                  
                  
                  
                <graphic xlink:href="figs/fig_metrics_2.svg" /></fig><sec id="S3">
                  
                  
                  
                  
                <title>Challenges going from event logs to usage
metrics</title><p id="S3.p1">Although these usage metrics are intuitive, the Android event log system was not designed to facilitate research analyses. Extracting smartphone usage metrics from event logs requires processing the logs and identifying specific sequences of events indicative of particular actions having taken place. For example, unlocking the device is typically followed by multiple package activities before the device is locked again, which indicates a smartphone usage session. Within this sequence of activities, events associated with one package name followed by events associated with another package name likely indicate that a switch between apps has occurred. We can use these event patterns to sequentially process the event log for each participant/device to extract the metrics of use behavior. A key part of this procedure involves distinguishing between events that involve the user and those that are indicative of background, machine-generated processes initiated by the operating system or apps installed on the device (Zhu et al., <xref rid="bib.bibx43" ref-type="bibr">2018</xref>).</p><p id="S3.p2">To provide a better idea of the structure of such data, the Online Supplementary Material (OSM) contains a sample of Android event logs called sample_events.csv.<xref rid="id8" ref-type="fn" specific-use="fn"><sup>8</sup></xref> This dataset contains 5,000 events from 10 devices.<xref rid="id9" ref-type="fn" specific-use="fn"><sup>9</sup></xref> To illustrate this, Table <xref rid="S3.T4" ref-type="table">4</xref> provides an example extracted from the sample dataset. Here, we briefly describe the process of extracting usage metrics from the event log at a high level, noting key challenges in this process.</p><table-wrap id="S3.T4"><label>Table 4:</label><caption><title>Sample of raw log data</title></caption>
                    
                    
                    
                    
                  
<table>
<thead>
<tr>
<th style="padding:-1.25pt 3.0pt;">package_name</th>
<th style="padding:-1.25pt 3.0pt;">event_type</th>
<th style="padding:-1.25pt 3.0pt;">event_timestamp</th></tr>
</thead>
<tbody>
<tr>
<td style="padding:-1.25pt 3.0pt;">android</td>
<td style="padding:-1.25pt 3.0pt;">17</td>
<td style="padding:-1.25pt 3.0pt;">1692474637684</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">com.sec.android.app.music</td>
<td style="padding:-1.25pt 3.0pt;">1</td>
<td style="padding:-1.25pt 3.0pt;">1692474643241</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">android</td>
<td style="padding:-1.25pt 3.0pt;">15</td>
<td style="padding:-1.25pt 3.0pt;">1692474671257</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">com.sec.android.app.music</td>
<td style="padding:-1.25pt 3.0pt;">1</td>
<td style="padding:-1.25pt 3.0pt;">1692474671341</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">com.sec.android.app.music</td>
<td style="padding:-1.25pt 3.0pt;">1</td>
<td style="padding:-1.25pt 3.0pt;">1692474682922</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">com.sec.android.app.music</td>
<td style="padding:-1.25pt 3.0pt;">1</td>
<td style="padding:-1.25pt 3.0pt;">1692474682982</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">android</td>
<td style="padding:-1.25pt 3.0pt;">18</td>
<td style="padding:-1.25pt 3.0pt;">1692474683046</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">com.sec.android.app.launcher</td>
<td style="padding:-1.25pt 3.0pt;">1</td>
<td style="padding:-1.25pt 3.0pt;">1692474690213</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">de.hafas.android.db</td>
<td style="padding:-1.25pt 3.0pt;">1</td>
<td style="padding:-1.25pt 3.0pt;">1692474693034</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">com.sec.android.app.launcher</td>
<td style="padding:-1.25pt 3.0pt;">1</td>
<td style="padding:-1.25pt 3.0pt;">1692474706586</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">com.whatsapp</td>
<td style="padding:-1.25pt 3.0pt;">1</td>
<td style="padding:-1.25pt 3.0pt;">1692474707448</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">com.sec.android.app.launcher</td>
<td style="padding:-1.25pt 3.0pt;">1</td>
<td style="padding:-1.25pt 3.0pt;">1692474720544</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">com.facebook.katana</td>
<td style="padding:-1.25pt 3.0pt;">1</td>
<td style="padding:-1.25pt 3.0pt;">1692474721985</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">com.sec.android.app.launcher</td>
<td style="padding:-1.25pt 3.0pt;">1</td>
<td style="padding:-1.25pt 3.0pt;">1692474836827</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">android</td>
<td style="padding:-1.25pt 3.0pt;">16</td>
<td style="padding:-1.25pt 3.0pt;">1692474839497</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">com.sec.android.app.music</td>
<td style="padding:-1.25pt 3.0pt;">1</td>
<td style="padding:-1.25pt 3.0pt;">1692474839894</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">android</td>
<td style="padding:-1.25pt 3.0pt;">17</td>
<td style="padding:-1.25pt 3.0pt;">1692474840042</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">com.sec.android.app.music</td>
<td style="padding:-1.25pt 3.0pt;">1</td>
<td style="padding:-1.25pt 3.0pt;">1692474847501</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">android</td>
<td style="padding:-1.25pt 3.0pt;">15</td>
<td style="padding:-1.25pt 3.0pt;">1692474871390</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">com.sec.android.app.music</td>
<td style="padding:-1.25pt 3.0pt;">1</td>
<td style="padding:-1.25pt 3.0pt;">1692474871466</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">com.sec.android.app.launcher</td>
<td style="padding:-1.25pt 3.0pt;">1</td>
<td style="padding:-1.25pt 3.0pt;">1692474887365</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">android</td>
<td style="padding:-1.25pt 3.0pt;">16</td>
<td style="padding:-1.25pt 3.0pt;">1692474889155</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">com.sec.android.app.music</td>
<td style="padding:-1.25pt 3.0pt;">1</td>
<td style="padding:-1.25pt 3.0pt;">1692474889577</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">android</td>
<td style="padding:-1.25pt 3.0pt;">15</td>
<td style="padding:-1.25pt 3.0pt;">1692474899743</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">com.sec.android.app.music</td>
<td style="padding:-1.25pt 3.0pt;">1</td>
<td style="padding:-1.25pt 3.0pt;">1692474899774</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">android</td>
<td style="padding:-1.25pt 3.0pt;">16</td>
<td style="padding:-1.25pt 3.0pt;">1692474901587</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">com.sec.android.app.music</td>
<td style="padding:-1.25pt 3.0pt;">1</td>
<td style="padding:-1.25pt 3.0pt;">1692474902047</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">android</td>
<td style="padding:-1.25pt 3.0pt;">15</td>
<td style="padding:-1.25pt 3.0pt;">1692474921635</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">com.sec.android.app.music</td>
<td style="padding:-1.25pt 3.0pt;">1</td>
<td style="padding:-1.25pt 3.0pt;">1692474921769</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">com.sec.android.app.launcher</td>
<td style="padding:-1.25pt 3.0pt;">1</td>
<td style="padding:-1.25pt 3.0pt;">1692474923678</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">com.sec.android.app.launcher</td>
<td style="padding:-1.25pt 3.0pt;">1</td>
<td style="padding:-1.25pt 3.0pt;">1692474925588</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">android</td>
<td style="padding:-1.25pt 3.0pt;">18</td>
<td style="padding:-1.25pt 3.0pt;">1692474925660</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">de.hafas.android.db</td>
<td style="padding:-1.25pt 3.0pt;">1</td>
<td style="padding:-1.25pt 3.0pt;">1692474930575</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">com.sec.android.app.launcher</td>
<td style="padding:-1.25pt 3.0pt;">1</td>
<td style="padding:-1.25pt 3.0pt;">1692475010818</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">android</td>
<td style="padding:-1.25pt 3.0pt;">16</td>
<td style="padding:-1.25pt 3.0pt;">1692475012611</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">com.sec.android.app.music</td>
<td style="padding:-1.25pt 3.0pt;">1</td>
<td style="padding:-1.25pt 3.0pt;">1692475013061</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">android</td>
<td style="padding:-1.25pt 3.0pt;">17</td>
<td style="padding:-1.25pt 3.0pt;">1692475013215</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">android</td>
<td style="padding:-1.25pt 3.0pt;">15</td>
<td style="padding:-1.25pt 3.0pt;">1692475130503</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">com.sec.android.app.music</td>
<td style="padding:-1.25pt 3.0pt;">1</td>
<td style="padding:-1.25pt 3.0pt;">1692475130608</td></tr>
<tr>
<td style="padding:-1.25pt 3.0pt;">com.sec.android.app.launcher</td>
<td style="padding:-1.25pt 3.0pt;">1</td>
<td style="padding:-1.25pt 3.0pt;">1692475132320</td></tr>
</tbody>
</table></table-wrap><sec id="S3.SS1">
                    
                    
                    
                    
                  <title>Smartphone glances</title><p id="S3.SS1.p1">Glances require minimal information and assumptions to identify in the event log. Typically, glances consist of a sequence of event types 15 and 16 (see Table <xref rid="S2.SS1" ref-type="sec">2.1</xref>), one after another, indicating screen interactivity followed by screen non-interactivity. However, there are instances where a glance includes app usage. For instance, one can receive and accept a phone call without unlocking the device. In this case, the event log contains events linked to the package associated with phone calls, all within the context of event types 15 and 16 without device locking or unlocking. Such glances may
encompass an arbitrary number of app uses, meaning that any number of app events can occur during the interactivity phase before returning to non-interactivity.</p></sec><sec id="S3.SS2">
                    
                    
                    
                    
                  <title>Smartphone usage
sessions</title><p id="S3.SS2.p1">At the simplest, identifying smartphone sessions involves considering the period between event types 18 and 17, which indicate unlocking and locking, respectively. However, several challenges complicate this approach. First, actual smartphone use often begins before unlocking occurs; once the screen becomes interactive (event type 15), users can start interacting with apps (as discussed in the previous section). This means that everything occurring between screen interactivity and unlocking should be considered part of the session, too. Second, the locking may occur immediately after the screen becomes non-interactive or right before it does so. Third, within a session, the screen may become non-interactive and then interactive again—a scenario opposite to a glance. Fourth, smartphone usage sessions consist of an arbitrary number of app usage episodes.</p></sec><sec id="S3.SS3">
                    
                    
                    
                    
                  <title>App usage episodes</title><p id="S3.SS3.p1">Identifying app usage episodes involves the most assumptions and
requires the most information out of all usage types. Generally, each package activity starts with an event of type 1 (activity resumed) and ends with an event of type 23 (activity stopped). However, between these events, there can be multiple instances where classes associated with the same package transition between the foreground and background. This produces prolonged sequences of event types 1 and 2 (activity paused), which eventually conclude with an event type 23. Complicating matters, event type 23 can be delayed, causing the end of package activity to overlap with the start of activity of another package, even though the
use of the first package effectively ceased. In the event log, this makes it seem like app episodes are frequently interrupted by other app episodes, although these are mostly artifacts of prior package activities. Therefore, it is more effective and accurate to define the start of a new app episode (or the end of a glance or session) as the end of the previous app episode, focusing solely on event type 1. Another complicating factor in extracting app episodes is the occurrence of package activity not only within smartphone sessions and glances (as discussed earlier) but also outside of these contexts. Typically, such activity represents background processes rather than active user engagement.</p><sec id="S4">
                      
                      
                      
                      
                    <title>Practical procedure to extract smartphone use metrics from
event log
data</title><sec id="S4.SS1">
                        
                        
                        
                        
                      <title>Preparation</title><p id="S4.SS1.p1">Depending on the method of data collection, logged event data are
usually stored either in a tabular format (with one event per row) or as JSON strings. JSON strings are typically long text strings that follow a specific nested structure (depending on how the data were accessed), listing all events and their attributes as name-value pairs. The method we describe here assumes that the data are in a tabular format (e.g., a
dataframe or equivalent). Therefore, if the data are in a different format, they must first be parsed into a tabular format using the relevant functions in a programming language like R or Python. We assume that said tabular data file contains one event per row and (at least) the columns <italic>timestamp</italic>, <italic>event type</italic>, <italic>package name</italic>, <italic>class name</italic>, and <italic>device/user ID</italic> alongside any other relevant data collected from participants (e.g., participant demographics, network state, battery state, OS version, etc.). All of these columns, which are all accessible within the Android event log, are required to extract smartphone usage and compute relevant metrics. Notably, if researchers are in possession of pre-processed usage data, then such an extraction procedure is likely not necessary. The example provided in Table <xref rid="S3.T4" ref-type="table">4</xref> illustrates this expected data format.</p></sec><sec id="S4.SS2">
                        
                        
                        
                        
                      <title>Steps to extract glances, sessions, and episodes from event log data</title><p id="S4.SS2.p1">Figure <xref rid="S4.F2" ref-type="fig">2</xref> presents a flowchart outlining the steps required to extract glances, sessions, and episodes from a raw event log dataset (ellipses indicate datasets and rectangles indicate processing steps). This process involves a series of sequential operations, which can be grouped into nine distinct steps. Throughout this procedure, multiple sub-datasets are produced, as glances and sessions must be separated from episodes at a specific stage before being merged again for the final data wrangling.</p><p id="S4.SS2.p2">In the following sections each step depicted in Figure <xref rid="S4.F2" ref-type="fig">2</xref> will be described in detail, accompanied by pseudo-code. For simplicity, the pseudo-code uses some implicit high-level functions that may not be available in all programming languages. The mechanics of these functions are explained in the corresponding paragraphs. In all steps, the use of loops is avoided and replaced by vectorized functions, which are considerably faster (Harris et al., <xref rid="bib.bibx13" ref-type="bibr">2020</xref>). Dataset names to the left-hand side of an equal sign (=) are the result of the operations that follow. Dataset names on the right-hand side indicate the dataset that is used as <italic>input</italic> for all operations that follow, which is represented by a pipe symbol
(|&gt;). A semicolon (;) at the end of a code chunk indicates that the following code chunk is part of the same sequence of operations that generates a dataset. The part of the code currently described is referenced with the abbreviation <italic>l.</italic>, followed by the line number.</p><fig id="S4.F2"><label>Figure 2:</label><caption><title>Steps necessary to extract glances,
sessions, and episodes from event log data.</title></caption>
                          
                          
                          
                          
                        <graphic xlink:href="figs/flowchart.svg" /></fig><p id="S4.SS2.p3">To illustrate the outcome of the procedure described in this paper, we applied it to a sample dataset of raw Android event logs. Table <xref rid="S3.T4" ref-type="table">4</xref> presents a portion of the input data, showcasing the structure and format of the raw logs. After processing the data using our implementation of the procedure in the R programming language, the output includes identified glances, sessions, and episodes, each with their corresponding durations and IDs. Table <xref rid="S4.T5" ref-type="table">5</xref> provides a sample of this processed output. This worked example serves to demonstrate the feasibility of applying the proposed approach to real-world smartphone log data and highlights the types of usage metrics that can be derived through this method.</p><p id="S4.SS2.p4">Alongside the sample dataset used to test the procedure, the OSM include the full pseudo-code and an R script named rcode.R, which imports the sample dataset (in the format presented in Table <xref rid="S3.T4" ref-type="table">4</xref>) and implements the procedure outlined in this paper using the dplyr grammar and syntax. While the script closely follows the pseudo-code provided in the main text, there are slight deviations where necessary to accommodate the specific requirements and capabilities of the R programming language. The complete output, of which Table <xref rid="S4.T5" ref-type="table">5</xref> is an excerpt, is also provided in the OSM (see sample_results.csv).</p><table-wrap id="S4.T5"><label>Table 5:</label><caption><title>Sample of results</title></caption>
                          
                          
                          
                          
                        
<table>
<thead>
<tr>
<th style="padding-left:3.0pt;padding-right:3.0pt;">package_name</th>
<th style="padding-left:3.0pt;padding-right:3.0pt;">use_type</th>
<th style="padding-left:3.0pt;padding-right:3.0pt;">use_duration</th>
<th style="padding-left:3.0pt;padding-right:3.0pt;">session_id</th>
<th style="padding-left:3.0pt;padding-right:3.0pt;">glance_id</th></tr>
</thead>
<tbody>
<tr>
<td style="padding-left:3.0pt;padding-right:3.0pt;">android</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">session</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">168240</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">1</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">NA</td></tr>
<tr>
<td style="padding-left:3.0pt;padding-right:3.0pt;">com.sec.android.app.music</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">episode</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">18872</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">1</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">NA</td></tr>
<tr>
<td style="padding-left:3.0pt;padding-right:3.0pt;">com.sec.android.app.launcher</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">episode</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">2821</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">1</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">NA</td></tr>
<tr>
<td style="padding-left:3.0pt;padding-right:3.0pt;">de.hafas.android.db</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">episode</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">13552</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">1</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">NA</td></tr>
<tr>
<td style="padding-left:3.0pt;padding-right:3.0pt;">com.sec.android.app.launcher</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">episode</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">862</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">1</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">NA</td></tr>
<tr>
<td style="padding-left:3.0pt;padding-right:3.0pt;">com.whatsapp</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">episode</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">13096</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">1</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">NA</td></tr>
<tr>
<td style="padding-left:3.0pt;padding-right:3.0pt;">com.sec.android.app.launcher</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">episode</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">1441</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">1</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">NA</td></tr>
<tr>
<td style="padding-left:3.0pt;padding-right:3.0pt;">com.facebook.katana</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">episode</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">114842</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">1</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">NA</td></tr>
<tr>
<td style="padding-left:3.0pt;padding-right:3.0pt;">com.sec.android.app.launcher</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">episode</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">2670</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">1</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">NA</td></tr>
<tr>
<td style="padding-left:3.0pt;padding-right:3.0pt;">android</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">glance</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">17765</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">NA</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">1</td></tr>
<tr>
<td style="padding-left:3.0pt;padding-right:3.0pt;">com.sec.android.app.music</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">episode</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">15899</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">NA</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">1</td></tr>
<tr>
<td style="padding-left:3.0pt;padding-right:3.0pt;">com.sec.android.app.launcher</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">episode</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">1790</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">NA</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">1</td></tr>
<tr>
<td style="padding-left:3.0pt;padding-right:3.0pt;">android</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">glance</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">1844</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">NA</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">2</td></tr>
<tr>
<td style="padding-left:3.0pt;padding-right:3.0pt;">com.sec.android.app.music</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">episode</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">1813</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">NA</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">2</td></tr>
<tr>
<td style="padding-left:3.0pt;padding-right:3.0pt;">android</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">session</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">90976</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">2</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">NA</td></tr>
<tr>
<td style="padding-left:3.0pt;padding-right:3.0pt;">com.sec.android.app.music</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">episode</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">1909</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">2</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">NA</td></tr>
<tr>
<td style="padding-left:3.0pt;padding-right:3.0pt;">com.sec.android.app.launcher</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">episode</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">6897</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">2</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">NA</td></tr>
<tr>
<td style="padding-left:3.0pt;padding-right:3.0pt;">de.hafas.android.db</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">episode</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">80243</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">2</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">NA</td></tr>
<tr>
<td style="padding-left:3.0pt;padding-right:3.0pt;">com.sec.android.app.launcher</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">episode</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">1793</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">2</td>
<td style="padding-left:3.0pt;padding-right:3.0pt;">NA</td></tr>
</tbody>
</table></table-wrap><sec id="S4.SS2.SSS1">
                          
                          
                          
                          
                        <title>Step 1: Remove unused event types and packages</title><p id="S4.SS2.SSS1.p1">The first step aims to narrow down the raw event data to only the events necessary for extracting glances, sessions, and episodes. It involves filtering out all event types and package names that are not required for the identification of glances, sessions, and episodes. Code <xref rid="codelisting1">1</xref> provides pseudo-code for the logic of this step. Specifically, only event types <italic>1</italic>, <italic>15</italic>, <italic>16</italic>, <italic>17</italic>, <italic>18</italic>, <italic>26</italic>, and <italic>27</italic> need to be retained for this purpose (l. <xref rid="LABEL-line-c1l2">LABEL:line:c1l2</xref>). Since the goal is to identify human interaction with the device, packages representing system/background activity must be filtered out as well (l. <xref rid="LABEL-line-c1l3">LABEL:line:c1l3</xref>). These packages are usually never seen or interacted with by the user, but are essential for the proper functioning of the device or other packages.</p><p id="S4.SS2.SSS1.p2">To identify these packages we first need to know which ones represent system/background activity. Schoedel et al. (<xref rid="bib.bibx29" ref-type="bibr">2022</xref>) provide a
categorization of 3,091 packages, with 1,232 categorized as “System” packages. However, while this categorization can be used for this purpose, it includes many packages already filtered out in l. <xref rid="LABEL-line-c1l2">LABEL:line:c1l2</xref>. Additionally, as the categorization is based on data collected in 2020, it may not include all current system packages. It is also apparent that many of the packages that Schoedel et al. (<xref rid="bib.bibx29" ref-type="bibr">2022</xref>) labelled as system are not <italic>background</italic> system packages, but rather general system packages (e.g., com.android.gallery3d represents the default gallery app).<xref rid="id10" ref-type="fn" specific-use="fn"><sup>10</sup></xref> Therefore, we have created a new list of package names that only includes those that 1) have not been filtered
out in l. <xref rid="LABEL-line-c1l2">LABEL:line:c1l2</xref> and 2) run in the background without any
foreground interaction.<xref rid="id11" ref-type="fn" specific-use="fn"><sup>11</sup></xref> This list of background system packages can be found in the OSM in the form of a dataset consisting of a single column and is represented in l. <xref rid="LABEL-line-c1l3">LABEL:line:c1l3</xref> by the object excluded_package_names. However, the list of system/background packages to be removed should be
adjusted based on the specific requirements of the research and we do not necessarily recommend blindly applying it.</p><p id="S4.SS2.SSS1.p3">A further consideration is the handling of the <italic>home screen</italic>. On Android devices the home screen is called a <italic>launcher</italic> and this is indicated in the event log by packages containing this term (e.g., com.android.launcher). Since users interact with the home screen, these packages should not be filtered out in most cases.</p><boxed-text id="codelisting1">
                            
                            
                            
                            
                          <caption><title> Remove unused event types and packages</title></caption><code>filtered_events = raw_events |$&gt;$ $\label{line:c1l1}$
  FILTER WHERE event_type IN [1, 15, 16, 17, 18, 26, 27]; $\label{line:c1l2}$
  FILTER WHERE package_name NOT IN excluded_package_names $\label{line:c1l3}$
</code></boxed-text></sec><sec id="S4.SS2.SSS2">
                          
                          
                          
                          
                        <title>Step 2: Separate glance and session events from episode
events</title><p id="S4.SS2.SSS2.p1">To efficiently identify the starts and stops of glances and sessions, it
is necessary to process the relevant events without any events that only
relate to app activities. Additionally, these starts
and stops are also required to identify unwanted episodes that occur
outside of glances and sessions, as well as the end of the last episode
per glance and session. For these reasons, the filtered event dataset
needs to be split into two subsets, here called
glance_session_events and episode_events, as shown
in Code <xref rid="codelisting2">2</xref>. These subsets can be separated using the
respective event types that are used to identify them (l.
<xref rid="LABEL-line-c2l2">LABEL:line:c2l2</xref> and <xref rid="LABEL-line-c2l5">LABEL:line:c2l5</xref>). In the case of
episode_events, the package name android needs to be
filtered out, as it indicates the launch of a system-internal process
not included in the list of package names filtered out earlier.</p><boxed-text id="codelisting2">
                            
                            
                            
                            
                          <caption><title> Separate glance and session events from
episode events</title></caption><code>glance_session_events = filtered_events |$&gt;$ $\label{line:c2l1}$
  FILTER WHERE event_type IN [15, 16, 17, 18, 26, 27] $\label{line:c2l2}$
   $\label{line:c2l3}$
episode_events = filtered_events |$&gt;$ $\label{line:c2l4}$
  FILTER WHERE event_type == 1 AND package_name != "android" $\label{line:c2l5}$
</code></boxed-text></sec><sec id="S4.SS2.SSS3">
                          
                          
                          
                          
                        <title>Step 3: Identify starts and stops and remove
artifacts</title><p id="S4.SS2.SSS3.p1">This step, depicted in Code <xref rid="codelisting3">3</xref>, identifies the starts and
stops of glances and sessions and removes artifacts. To avoid performing
operations across individuals/devices, the dataset first needs to be
grouped by individual users (l. <xref rid="LABEL-line-c3l2">LABEL:line:c3l2</xref>). Then, both the use
type (glance or session) and state (start or
stop) are stored in separate variables (l.
<xref rid="LABEL-line-c3l3">LABEL:line:c3l3</xref>–<xref rid="LABEL-line-c3l4">LABEL:line:c3l4</xref>). While unlocking (18) and locking (17)
are clearly identified by dedicated event types, the screen usually
becomes <italic>interactive</italic> before <italic>unlocking</italic> and
<italic>non-interactive</italic> before <italic>locking</italic>. This means that actual use
and interaction do not perfectly align with these event types. As both
interactivity and non-interactivity are indicators of glances, too, a
rule needs to be applied to reliably separate these use types from
each other.</p><p id="S4.SS2.SSS3.p2">There are three scenarios that delimit sessions: 1) when screen
interactivity (15) is either directly preceded ([i - 1])
or followed ([i + 1]) by unlocking, 2) when screen
non-interactivity (16) is either directly preceded or followed by
locking, and 3) when the device is started up (27) or shut down (26) (l.
<xref rid="LABEL-line-c3l5">LABEL:line:c3l5</xref>–<xref rid="LABEL-line-c3l8">LABEL:line:c3l8</xref>). Any other instance of screen
(non-)interactivity indicates a glance (l.
<xref rid="LABEL-line-c3l9">LABEL:line:c3l9</xref>–<xref rid="LABEL-line-c3l10">LABEL:line:c3l10</xref>). Consequently, every screen
interactivity and device startup is a start (l.
<xref rid="LABEL-line-c3l12">LABEL:line:c3l12</xref>–<xref rid="LABEL-line-c3l13">LABEL:line:c3l13</xref>), and every screen non-interactivity
and device shutdown is a stop (l. <xref rid="LABEL-line-c3l14">LABEL:line:c3l14</xref>–<xref rid="LABEL-line-c3l15">LABEL:line:c3l15</xref>).
After identifying these, locks and unlocks can be filtered out as they
are not required anymore (l. <xref rid="LABEL-line-c3l17">LABEL:line:c3l17</xref>).</p><p id="S4.SS2.SSS3.p3">After applying these rules, there are still some instances where glance
or session starts are not followed by stops or vice-versa. For example,
after some time without activity, the device screen is dimmed. In the
event logs, this is represented as screen non-interactivity. If the user
then prevents the device from fully locking by tapping the screen, it
becomes interactive again. This is the opposite order of events that are
logged when a glance occurs. Likewise, a session start or end may not be
logged successfully when the device is started up or shut down. To catch
these exceptions, all 1) glance/session starts that are <italic>not
followed</italic> by glance/session stops and 2) glance/session stops that are
<italic>not preceded</italic> by glance/session starts are filtered out (l.
<xref rid="LABEL-line-c3l18">LABEL:line:c3l18</xref>–<xref rid="LABEL-line-c3l21">LABEL:line:c3l21</xref>).</p><boxed-text id="codelisting3">
                            
                            
                            
                            
                          <caption><title> Identify starts and stops and remove
artifacts</title></caption><code>glances_sessions = glance_session_events |$&gt;$ $\label{line:c3l1}$
  GROUP BY user_id; $\label{line:c3l2}$
    DECLARE use_type; $\label{line:c3l3}$
    DECLARE use_state; $\label{line:c3l4}$
    IF (event_type == 15 AND (event_type[i - 1] == 18 OR event_type[i + 1] == 18)) OR $\label{line:c3l5}$
       (event_type == 16 AND (event_type[i - 1] == 17 OR event_type[i + 1] == 17)) OR $\label{line:c3l6}$
       event_type IN [16, 27]) THEN; $\label{line:c3l7}$
      use_type = "session"; $\label{line:c3l8}$
    ELSE; $\label{line:c3l9}$
      use_type = "glance"; $\label{line:c3l10}$
    END IF; $\label{line:c3l11}$
    IF event_type IN [15, 27] THEN; $\label{line:c3l12}$
      use_state = "start"; $\label{line:c3l13}$
    ELSE IF event_type IN [16, 26] THEN; $\label{line:c3l14}$
      use_state = "stop"; $\label{line:c3l15}$
    END IF; $\label{line:c3l16}$
    FILTER WHERE use_type NOT IN [17, 18]; $\label{line:c3l17}$
    FILTER WHERE NOT (use_type == "glance" AND use_state == "start" AND NOT (use_type[i + 1] == "glance" &amp; use_state[i + 1] == "stop")); $\label{line:c3l18}$
    FILTER WHERE NOT (use_type == "glance" AND use_state == "stop" AND NOT (use_type[i - 1] == "glance" &amp; use_state[i - 1] == "start")); $\label{line:c3l19}$
    FILTER WHERE NOT (use_type == "session" AND use_state == "start" AND NOT (use_type[i + 1] == "session" &amp; use_state[i + 1] == "stop")); $\label{line:c3l20}$
    FILTER WHERE NOT (use_type == "session" AND use_state == "stop" AND NOT (use_type[i - 1] == "session" &amp; use_state[i - 1] == "start")); $\label{line:c3l21}$
</code></boxed-text></sec><sec id="S4.SS2.SSS4">
                          
                          
                          
                          
                        <title>Step 4: Calculate metrics</title><p id="S4.SS2.SSS4.p1">With the starts and stops of glances and sessions identified, this
information can now be used to calculate the duration of each glance and
session, as shown in Code <xref rid="codelisting4">4</xref>. First, the end of each use is
defined by the timestamp of the next row (l. <xref rid="LABEL-line-c4l1">LABEL:line:c4l1</xref>). While
this operation is only practically required for rows indicating a
start, it is easiest to apply it to all events. The duration of
each use can now be calculated as the difference between the timestamp
of the event itself and the timestamp marking the end of the use that it
represents (l. <xref rid="LABEL-line-c4l2">LABEL:line:c4l2</xref>). After that, the grouping can be
concluded (l. <xref rid="LABEL-line-c4l3">LABEL:line:c4l3</xref>).</p><boxed-text id="codelisting4">
                            
                            
                            
                            
                          <caption><title> Calculate metrics</title></caption><code>    DECLARE use_end_timestamp = event_timestamp[i + 1]; $\label{line:c4l1}$
    DECLARE use_duration = use_end_timestamp - event_timestamp; $\label{line:c4l2}$
  END GROUP; $\label{line:c4l3}$
</code></boxed-text></sec><sec id="S4.SS2.SSS5">
                          
                          
                          
                          
                        <title>Step 5: Create session and glance IDs</title><p id="S4.SS2.SSS5.p1">To uniquely identify glances, sessions, the episodes they each contain,
and episodes that are <italic>not</italic> part of any glance or session, ID
variables are required. Code <xref rid="codelisting5">5</xref> describes the procedure for
producing these IDs.</p><p id="S4.SS2.SSS5.p2">First, a glance ID variable is defined as a sequence of integers from 1
to the total number of events n (l. <xref rid="LABEL-line-c5l1">LABEL:line:c5l1</xref>). Rows that
do not indicate glances are assigned NA accordingly (l.
<xref rid="LABEL-line-c5l2">LABEL:line:c5l2</xref>–<xref rid="LABEL-line-c5l3">LABEL:line:c5l3</xref>). As there are now gaps between the IDs
due to this replacement with NA, the variable is re-calculated
as a sequence from 1 to the number of remaining unique IDs (l.
<xref rid="LABEL-line-c5l5">LABEL:line:c5l5</xref>). The same procedure is applied to produce session IDs
(l. <xref rid="LABEL-line-c5l6">LABEL:line:c5l6</xref>–<xref rid="LABEL-line-c5l10">LABEL:line:c5l10</xref>).</p><p id="S4.SS2.SSS5.p3">In a later step, it will be necessary to identify episodes that occur
<italic>between</italic> glances or sessions. To achieve this efficiently, a
function will be applied that copies the previous non-NA value
in the case of NA. If the stop of the glance or session
received the same ID as its start, any episode occurring after it (but
before a new glance or session start) would appear to belong to the same
glance or session. To avoid this, each stop of a glance or session
receives the integer 0 instead (l. <xref rid="LABEL-line-c5l11">LABEL:line:c5l11</xref>–<xref rid="LABEL-line-c5l16">LABEL:line:c5l16</xref>).
This way, any episode that receives a 0 after applying the function lies
outside of a glance or session.</p><boxed-text id="codelisting5">
                            
                            
                            
                            
                          <caption><title> Create session and glance IDs</title></caption><code>  DECLARE glance_id = SEQUENCE[1, n]; $\label{line:c5l1}$
  IF NOT (use_type == "glance" AND use_state == "start") THEN; $\label{line:c5l2}$
    glance_id = NA; $\label{line:c5l3}$
  ENDIF; $\label{line:c5l4}$
  DECLARE glance_id = SEQUENCE[1, LENGTH(UNIQUE(glance_id))]; $\label{line:c5l5}$
  DECLARE session_id = SEQUENCE[1, n]; $\label{line:c5l6}$
  IF NOT (use_type == "session" AND use_state == "start") THEN; $\label{line:c5l7}$
    session_id = NA; $\label{line:c5l8}$
  ENDIF; $\label{line:c5l9}$
  DECLARE session_id = SEQUENCE[1, LENGTH(UNIQUE(session_id))]; $\label{line:c5l10}$
  IF use_type == "glance" &amp; use_state == "stop" THEN; $\label{line:c5l11}$
    glance_id = 0; $\label{line:c5l12}$
  END IF; $\label{line:c5l13}$
  IF use_type == "session" &amp; use_state == "stop" THEN; $\label{line:c5l14}$
    session_id = 0; $\label{line:c5l15}$
  END IF $\label{line:c5l16}$
</code></boxed-text></sec><sec id="S4.SS2.SSS6">
                          
                          
                          
                          
                        <title>Step 6: Merge and
prepare</title><p id="S4.SS2.SSS6.p1">To enable merging the glances and sessions and the episode events, the
variables storing the type and state of use first need to be created in
the episode events dataset, as shown in Code <xref rid="codelisting6">6</xref>. As this
dataset exclusively contains starts of episodes, each row receives
<italic>episode</italic> as type and <italic>start</italic> as state values (l.
<xref rid="LABEL-line-c6l2">LABEL:line:c6l2</xref>–<xref rid="LABEL-line-c6l3">LABEL:line:c6l3</xref>).</p><p id="S4.SS2.SSS6.p2">Once these two variables are created, the rows of the glances and
sessions dataset can be appended to the rows of the episode events
dataset (l. <xref rid="LABEL-line-c6l4">LABEL:line:c6l4</xref>). To correct the order of the rows, the
resulting dataset then needs to be sorted by user ID as well as the
event timestamp (l. <xref rid="LABEL-line-c6l5">LABEL:line:c6l5</xref>). For internal consistency, the
variable that formerly identified the timestamp of a single event should
now be renamed to indicate that it now represents the start of a use (l.
<xref rid="LABEL-line-c6l6">LABEL:line:c6l6</xref>).</p><p id="S4.SS2.SSS6.p3">As in <xref rid="S4.SS2.SSS3" ref-type="sec">Step 3</xref>, the data now need to be grouped to avoid
calculations that involve multiple users/devices (l. <xref rid="LABEL-line-c6l7">LABEL:line:c6l7</xref>).
As noted previously, in the event log, the use of a single app is represented as a sequence of multiple starts
and stops of sub-processes within it. To remove this redundancy and
represent each app use through a single start event, it is necessary to
filter out all episode events that are preceded by an episode event with
the same package name (l. <xref rid="LABEL-line-c6l8">LABEL:line:c6l8</xref>). This effectively retains
only the first event within each app use episode, marking its start.</p><boxed-text id="codelisting6">
                            
                            
                            
                            
                          <caption><title> Merge and prepare</title></caption><code>glances_sessions_episodes = episode_events |$&gt;$ $\label{line:c6l1}$
  DECLARE use_type = "episode"; $\label{line:c6l2}$
  DECLARE use_state = "start"; $\label{line:c6l3}$
  ROWBIND(glances_sessions); $\label{line:c6l4}$
  SORT(BY user_id ASC, event_timestamp ASC); $\label{line:c6l5}$
  RENAME(event_timestamp TO use_start_timestamp); $\label{line:c6l6}$
  GROUP BY user_id; $\label{line:c6l7}$
    FILTER WHERE NOT (use_type == "episode" AND use_type[i - 1] == "episode" AND package_name[i - 1] == package_name); $\label{line:c6l8}$
</code></boxed-text></sec><sec id="S4.SS2.SSS7">
                          
                          
                          
                          
                        <title>Step 7: Calculate
metrics</title><p id="S4.SS2.SSS7.p1">Now that the start of each app use episode is identified, the stop can
also be identified, as shown in Code <xref rid="codelisting7">7</xref>. Since an episode
ends with the start of the next event, the timestamp from the subsequent
row can be used to indicate the stop of the current episode (l.
<xref rid="LABEL-line-c7l1">LABEL:line:c7l1</xref>–<xref rid="LABEL-line-c7l2">LABEL:line:c7l2</xref>). Analogous to glances and sessions in
<xref rid="S4.SS2.SSS4" ref-type="sec">Step 4</xref>, the duration of the episode can now be
calculated as the difference between start and stop (l.
<xref rid="LABEL-line-c7l3">LABEL:line:c7l3</xref>).</p><boxed-text id="codelisting7">
                            
                            
                            
                            
                          <caption><title> Calculate metrics</title></caption><code>    IF use_type == "episode" THEN; $\label{line:c7l1}$
      use_end_timestamp = use_start_timestamp[i + 1]; $\label{line:c7l2}$
      use_duration = use_end_timestamp - use_start_timestamp; $\label{line:c7l3}$
    END IF; $\label{line:c7l4}$
</code></boxed-text></sec><sec id="S4.SS2.SSS8">
                          
                          
                          
                          
                        <title>Step 8: Apply glance and session IDs</title><p id="S4.SS2.SSS8.p1">The glance and session IDs are now used to identify which glance or
session each episode belongs to, as shown in Code <xref rid="codelisting8">8</xref>. After
applying the function FILL_DOWN (l.
<xref rid="LABEL-line-c8l1">LABEL:line:c8l1</xref>–<xref rid="LABEL-line-c8l2">LABEL:line:c8l2</xref>),<xref rid="id12" ref-type="fn" specific-use="fn"><sup>12</sup></xref> the value for each is either the ID
of a glance or session (if one was <italic>started</italic> before the current
sequence of episodes) or a <italic>0</italic> for both (if one was <italic>stopped</italic>
before the current sequence of episodes), as described in
<xref rid="S4.SS2.SSS5" ref-type="sec">Step 5</xref>. If the latter applies, the respective episode
lies outside of a glance or session. This means that the screen was not
interactive during that time and thus, the episode can be considered
background activity rather than use.<xref rid="id13" ref-type="fn" specific-use="fn"><sup>13</sup></xref> Any episode
where both the session and the glance ID have the value <italic>0</italic> hence
receives the value <italic>NA</italic> for both (l.
<xref rid="LABEL-line-c8l3">LABEL:line:c8l3</xref>–<xref rid="LABEL-line-c8l5">LABEL:line:c8l5</xref>).</p><boxed-text id="codelisting8">
                            
                            
                            
                            
                          <caption><title> Apply glance and session IDs</title></caption><code>    FILL_DOWN(glance_id); $\label{line:c8l1}$
    FILL_DOWN(session_id); $\label{line:c8l2}$
    IF use_type == "episode" AND session_id == 0 AND glance_id == 0 THEN; $\label{line:c8l3}$
      session_id = NA; $\label{line:c8l4}$
      glance_id = NA; $\label{line:c8l5}$
    END IF; $\label{line:c8l6}$
</code></boxed-text></sec><sec id="S4.SS2.SSS9">
                          
                          
                          
                          
                        <title>Step 9: Cleansing</title><p id="S4.SS2.SSS9.p1">In the final step, some artifacts and residual inconsistencies (mostly
due to minor problems with the logging procedure itself) need to be
addressed, as shown in Code <xref rid="codelisting9">9</xref>. Every episode should be
followed either by the start of another episode or the stop of a glance
or session. Any episode that does not meet this criterion is removed (l.
<xref rid="LABEL-line-c9l1">LABEL:line:c9l1</xref>). All events indicating use stops can also be removed
now (l. <xref rid="LABEL-line-c9l2">LABEL:line:c9l2</xref>), as they were only required for ID assignments
and calculating the end and duration of use. Finally, all episodes that
lie outside of glances or sessions (see <xref rid="S4.SS2.SSS8" ref-type="sec">Step 8</xref>) can be
removed (l. <xref rid="LABEL-line-c9l3">LABEL:line:c9l3</xref>) before ending the grouping (l.
<xref rid="LABEL-line-c9l4">LABEL:line:c9l4</xref>).</p><boxed-text id="codelisting9">
                            
                            
                            
                            
                          <caption><title> Cleansing</title></caption><code>    FILTER WHERE NOT (use_type == "episode" AND NOT (use_type[i + 1] == "episode" OR (use_type[i + 1] IN ["smartphone", "glance"] &amp; use_state[i + 1] == "stop"))); $\label{line:c9l1}$
    FILTER WHERE use_state != "stop"; $\label{line:c9l2}$
    FILTER WHERE NOT (glance_id == NA AND session_id == NA); $\label{line:c9l3}$
  END GROUP $\label{line:c9l4}$
</code></boxed-text></sec></sec><sec id="S4.SS3">
                        
                        
                        
                        
                      <title>Naming and categorising
applications</title><p id="S4.SS3.p1">Studies using Android event log data to identify application episodes are likely concerned with the specific applications to which these episodes belong, or at the very least, the categories of apps associated with these episodes.
As previously mentioned, apps are internally identified by a package name, which may not correspond to their common names.
Unfortunately, currently neither the <italic>Google Play Store</italic> nor the operating system APIs offer a suitable method to automatically map package names to their commonly known app names, nor do they provide mechanisms to automatically associate package names with app categories.
Consequently, researchers have automated this mapping process using web scraping to access related information from the Google Play Store (e.g., Stachl et al., <xref rid="bib.bibx36" ref-type="bibr">2020</xref>). While not ideal, this
approach is necessary given the lack of relevant operating system
functionality and is the only scalable alternative to
hand-coding.<xref rid="id14" ref-type="fn" specific-use="fn"><sup>14</sup></xref></p><p id="S4.SS3.p2">In this approach, a list of unique package names in the dataset should
be created. Then, to retrieve more information about a package from the
<italic>Google Play Store</italic>, the package name can be appended to the end of the
standard URL
(https://play.google.com/store/apps/details?id=). For example,
the package name for TikTok is com.zhiliaoapp.musically, so
appending it to the URL would result in:
<ext-link xlink:href="https://play.google.com/store/apps/details?id=com.zhiliaoapp.musically" ext-link-type="uri">https://play.google.com/store/apps/details?id=com.zhiliaoapp.musically</ext-link>.
This allows one to programmatically access the page for the package on the <italic>Google Play Store</italic>. The page returned by this URL contains all relevant information about an app, including its
name, an <italic>optional</italic> app category, whether it contains ads or in-app
purchases, and whether it has received a content rating. These elements
can be extracted using XPath expressions to target the relevant HTML
elements on the page. This procedure only needs to be performed once for
each unique package in a dataset. The OSM includes an example of this
web scraping procedure written in the R programming
language.<xref rid="id15" ref-type="fn" specific-use="fn"><sup>15</sup></xref> Alongside this script, the OSM also includes a file
that provides the package and corresponding app names for the most
popular 5700+ packages used by a sample of European smartphone users in
2023.</p><p id="S4.SS3.p3">This approach does, however, only work for apps downloaded from the
<italic>Google Play Store</italic>. Apps installed from other marketplaces (e.g., on Huawei or
Xioami devices), those installed directly from .apk files, or
those provided as part of the operating system (e.g., gallery, settings,
etc.) or the original equipment manufacturer (OEM) skin (e.g., Samsung
versions of system apps like gallery or dialer), will not be retrieved
using this method. To map these packages to names, Schoedel et al. (<xref rid="bib.bibx29" ref-type="bibr">2022</xref>) provide generic names and categories for nearly two thousand
packages. Alternatively, a similar appending procedure to what we
described for the <italic>Google Play Store</italic> can be applied to <italic>APKPure.com</italic> to
retrieve generic names using the package name.</p><sec id="S5">
                          
                          
                          
                          
                        <title>Concluding Remarks</title><p id="S5.p1">From messaging and social networking to content consumption and
productivity tasks, smartphones mediate a vast range of daily
communication activities. Understanding these interactions requires
robust data collection methods that capture both the extent and nature
of smartphone use. Acknowledging this need, and recognizing both the
availability and potential utility of log data alongside the inherent
challenges associated with handling raw Android event log data, this
paper provides a foundational guide aimed at enhancing the accessibility
of these data. To do so, we first described the characteristics of
Android event log data, and defined key smartphone usage metrics. Next,
to provide context for our primer, we discussed some of the challenges
associated with working with Android event log data. Thereafter, we
outlined a set of procedures that can be followed to extract relevant
smartphone usage metrics from the raw Android event logs.</p><p id="S5.p2">We hope that this paper will enable more researchers to use Android
event log data, and support increased understanding of
smartphone uses and effects across various domains. However, we
recognize that the dynamic and constantly evolving nature of the Android
operating system might render the procedure time-sensitive and subject
to degradation with new Android releases. Despite this, many aspects of
the procedure are generic and do not rely on specific variable names or
classes, making it likely that foreseeable changes to the event log
system will not fundamentally alter the extraction process.
Additionally, while some changes have been made to the event log, the
Android event log system is relatively stable compared to many
user-facing aspects of the operating system, with updates typically
being additive rather than destructive (i.e., new event types are added
while existing ones remain). Nonetheless, we encourage researchers to
evaluate whether the Android event log system has undergone fundamental
changes since the time of writing before following this procedure.</p><p id="S5.p3">While updates
to the operating system could potentially affect aspects of our
procedure, we have successfully tested it across Android versions 10–14, covering 314 unique device models from 31 manufacturers without issue (see the OSM for details). Notably, no
deprecating changes have been made to the Android event log system, the
UsageEvents.Event method, or the associated APIs since the
release of Android 9 in 2018. Given
the stability of this core system over the past seven years, we
are confident in the robustness of our approach. However, we acknowledge
that future modifications to the Android system may necessitate
adaptations to our methodology.</p><p id="S5.p4">Although we have covered a range of factors relevant to working with Android event log data, there are several topics that are beyond the scope of the present paper.
First, in this primer we did not consider how one might extract usage metrics from the information available in package classes, nor did we consider the ways in which other passive sensors (e.g., GPS, accelerometers, etc.) embedded in a smartphone may be accessed.
Second, as is the case with trace data more generally (Ohme et al., <xref rid="bib.bibx21" ref-type="bibr">2023</xref>), there are a range of ethical questions and challenges that come with accessing Android event log data.
Among others, these may include issues related to privacy and data security, as event logs potentially contain sensitive information about users’ activities, behaviors, and preferences.
Furthermore, there are challenges related to data stewardship and research transparency, raising questions about how research with smartphone logs can be conducted in an open and transparent manner (Dienlin et al., <xref rid="bib.bibx8" ref-type="bibr">2021</xref>).
Data stewardship challenges include ensuring robust privacy protections, secure storage, and clear consent processes, given the sensitive nature of event log data.
Research transparency is complicated by the difficulty of sharing detailed data while protecting participant privacy, but sharing metadata, analysis code, and processing pipelines can help ensure reproducibility.
While not discussed in this paper, these issues merit dedicated attention.</p><p id="S5.p5">It is also important to acknowledge that smartphone logs are not a panacea set to solve all measurement issues.
Although smartphone logs can provide granular, real-time behavioral data and insights into app usage patterns, they cannot capture contextual factors like user motivations, emotional states, or social interactions outside the digital environment.
In the form currently available, such logs also do not enable access to the content that the user engages with within an app.</p><p id="S5.p6">Alongside these limitations, there remain a range of sampling and measurement biases, including self-selection biases (e.g., those more willing to share their data may not be representative) and incomplete data due to technical limitations or selective app usage, that can also impact the validity and reliability of the data collected (Sen et al., <xref rid="bib.bibx30" ref-type="bibr">2021</xref>; Toth &amp; Trifonova, <xref rid="bib.bibx38" ref-type="bibr">2021</xref>).
These require careful consideration and mitigation strategies to ensure the accuracy and integrity of research findings.</p><p id="S5.p7">Building on this primer, to further enable a broad range of
communication scholars to access and work with smartphone log data,
there is a need for the development of research infrastructure and tools
that can automate (parts of) the Android event log extraction process.
While there are commercial end-to-end solutions available (e.g., App
Usage Data Source from Avicenna Research), the substantial cost outlay
required to use these tools can be prohibitive. Additionally, these
solutions may not provide the level of customization or transparency
desired by researchers. These third-party tools often function as black
boxes meaning that researchers have limited insight into what is tracked
and how events are logged, recorded, and extracted. This lack of
transparency regarding the inner workings of these tools can pose
significant challenges for researchers, making it difficult to ensure
the accuracy and integrity of results. Researchers may not have full
visibility of the data collection process, including which specific
events are being logged and how they are being recorded. Without this
information, it becomes difficult to assess the accuracy and
completeness of the data being collected, leading to potential biases or
inaccuracies in the analysis. Moreover, the methods used by third-party
tools to extract and process smartphone log data are typically not
disclosed or documented. This lack of transparency can make it
challenging for researchers to understand how the data have been
manipulated or transformed before analysis, making it difficult to
replicate or validate findings.</p><p id="S5.p8">To address these challenges, we can draw insights from related fields within communication science.
For example, similar efforts are under way to enable the seamless collection and processing of digital trace data through the donation of data download packages (DDPs) retrieved from social media platforms (e.g., Boeschoten et al., <xref rid="bib.bibx3" ref-type="bibr">2023</xref>).
Here, participants submit a file containing their digital traces to a program running on their own device for processing and extraction, before sending only the necessary data to the researchers for analysis.
Although this approach may not align with the smartphone context, it offers valuable lessons on how to efficiently manage data collection and processing while prioritizing privacy and data security.
Code to process Android event log data could be combined with apps to collect such data.
This could enable the extraction of events through local processing on participant’s own devices before being sent to researchers (e.g., Geyer et al., <xref rid="bib.bibx12" ref-type="bibr">2022</xref>). Regardless of future developments, with the present paper we hope that
the black box of Android event log data can become a little bit more
transparent for scholars in the socio-behavioral sciences.</p><sec id="S6">
                            
                            
                            
                            
                          <title>Acknowledgements</title><p id="S6.p1">Parts of this work were funded by the German Research Foundation (DFG; EM 191/11-1).</p><ref-list><title>References</title>
                              <ref id="bib.bibx1"><mixed-citation publication-type="journal"><string-name><surname>Baskerville</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Baiyere</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Gergor</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Hevner</surname>, <given-names>A.</given-names></string-name>, &amp; <string-name><surname>Rossi</surname>, <given-names>M.</given-names></string-name> (<year>2018</year>). <article-title>Design Science Research Contributions: Finding a Balance between Artifact and Theory</article-title>. <source><italic>Journal of the Association for Information Systems</italic></source>, <volume>19</volume>(<issue>5</issue>), <fpage>358</fpage>–<lpage>376</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.17705/1jais.00495">https://doi.org/10.17705/1jais.00495</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx2"><mixed-citation publication-type="journal"><string-name><surname>Baumgartner</surname>, <given-names>S. E.</given-names></string-name>, <string-name><surname>Sumter</surname>, <given-names>S. R.</given-names></string-name>, <string-name><surname>Petkevič</surname>, <given-names>V.</given-names></string-name>, &amp; <string-name><surname>Wiradhany</surname>, <given-names>W.</given-names></string-name> (<year>2023</year>). <article-title>A Novel iOS Data Donation Approach: Automatic Processing, Compliance, and Reactivity in a Longitudinal Study</article-title>. <source><italic>Social Science Computer Review</italic></source>, <volume>41</volume>(<issue>4</issue>), <fpage>1456</fpage>–<lpage>1472</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1177/08944393211071068">https://doi.org/10.1177/08944393211071068</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx3"><mixed-citation publication-type="journal"><string-name><surname>Boeschoten</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>De Schipper</surname>, <given-names>N. C.</given-names></string-name>, <string-name><surname>Mendrik</surname>, <given-names>A. M.</given-names></string-name>, <string-name><surname>Van Der Veen</surname>, <given-names>E.</given-names></string-name>, <string-name><surname>Struminskaya</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Janssen</surname>, <given-names>H.</given-names></string-name>, &amp; <string-name><surname>Araujo</surname>, <given-names>T.</given-names></string-name> (<year>2023</year>). <article-title>Port: A Software Tool for Digital Data Donation</article-title>. <source><italic>Journal of Open Source Software</italic></source>, <volume>8</volume>(<issue>90</issue>), <fpage>5596</fpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.21105/joss.05596">https://doi.org/10.21105/joss.05596</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx4"><mixed-citation publication-type="journal"><string-name><surname>Breuer</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Bishop</surname>, <given-names>L.</given-names></string-name>, &amp; <string-name><surname>Kinder-Kurlanda</surname>, <given-names>K.</given-names></string-name> (<year>2020</year>). <article-title>The Practical and Ethical Challenges in Acquiring and Sharing Digital Trace Data: Negotiating Public-Private Partnerships</article-title>. <source><italic>New Media &amp; Society</italic></source>, <volume>22</volume>(<issue>11</issue>), <fpage>2058</fpage>–<lpage>2080</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1177/1461444820924622">https://doi.org/10.1177/1461444820924622</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx5"><mixed-citation publication-type="journal"><string-name><surname>Brinberg</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Ram</surname>, <given-names>N.</given-names></string-name>, <string-name><surname>Wang</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Sundar</surname>, <given-names>S. S.</given-names></string-name>, <string-name><surname>Cummings</surname>, <given-names>J. J.</given-names></string-name>, <string-name><surname>Yeykelis</surname>, <given-names>L.</given-names></string-name>, &amp; <string-name><surname>Reeves</surname>, <given-names>B.</given-names></string-name> (<year>2023</year>). <article-title>Screenertia: Understanding “Stickiness” of Media Through Temporal Changes in Screen Use</article-title>. <source><italic>Communication Research</italic></source>, <volume>50</volume>(<issue>5</issue>), <fpage>535</fpage>–<lpage>560</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1177/00936502211062778">https://doi.org/10.1177/00936502211062778</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx6"><mixed-citation publication-type="journal"><string-name><surname>Brinberg</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Ram</surname>, <given-names>N.</given-names></string-name>, <string-name><surname>Yang</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Cho</surname>, <given-names>MJ.</given-names></string-name>, <string-name><surname>Sundar</surname>, <given-names>S. S.</given-names></string-name>, <string-name><surname>Robinson</surname>, <given-names>T. N.</given-names></string-name>, &amp; <string-name><surname>Reeves</surname>, <given-names>B.</given-names></string-name> (<year>2021</year>). <article-title>The Idiosyncrasies of Everyday Digital Lives: Using the Human Screenome Project to Study User Behavior on Smartphones</article-title>. <source><italic>Computers in Human Behavior</italic></source>, <volume>114</volume>, <fpage>106570</fpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/j.chb.2020.106570">https://doi.org/10.1016/j.chb.2020.106570</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx7"><mixed-citation publication-type="journal"><string-name><surname>Cernat</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Keusch</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Bach</surname>, <given-names>R. L.</given-names></string-name>, &amp; <string-name><surname>Pankowska</surname>, <given-names>P. K.</given-names></string-name> (<year>2024</year>). <article-title>Estimating Measurement Quality in Digital Trace Data and Surveys Using the MultiTrait MultiMethod Model</article-title>. <source><italic>Social Science Computer Review</italic></source>,  <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1177/08944393241254464">https://doi.org/10.1177/08944393241254464</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx8"><mixed-citation publication-type="journal"><string-name><surname>Dienlin</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Johannes</surname>, <given-names>N.</given-names></string-name>, <string-name><surname>Bowman</surname>, <given-names>N. D.</given-names></string-name>, <string-name><surname>Masur</surname>, <given-names>P. K.</given-names></string-name>, <string-name><surname>Engesser</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Kümpel</surname>, <given-names>A. S.</given-names></string-name>, <string-name><surname>Lukito</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Bier</surname>, <given-names>L. M.</given-names></string-name>, <string-name><surname>Zhang</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Johnson</surname>, <given-names>B. K.</given-names></string-name>, <string-name><surname>Huskey</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Schneider</surname>, <given-names>F. M.</given-names></string-name>, <string-name><surname>Breuer</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Parry</surname>, <given-names>D. A.</given-names></string-name>, <string-name><surname>Vermeulen</surname>, <given-names>I.</given-names></string-name>, <string-name><surname>Fisher</surname>, <given-names>J. T.</given-names></string-name>, <string-name><surname>Banks</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Weber</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Ellis</surname>, <given-names>D. A.</given-names></string-name>, <string-name><surname>Smits</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Ivory</surname>, <given-names>J. D.</given-names></string-name>, <string-name><surname>Trepte</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>McEwan</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Rinke</surname>, <given-names>E. M.</given-names></string-name>, <string-name><surname>Neubaum</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Winter</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Carpenter</surname>, <given-names>C. J.</given-names></string-name>, <string-name><surname>Krämer</surname>, <given-names>N.</given-names></string-name>, <string-name><surname>Utz</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Unkel</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Wang</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Davidson</surname>, <given-names>B. I.</given-names></string-name>, <string-name><surname>Kim</surname>, <given-names>N.</given-names></string-name>, <string-name><surname>Won</surname>, <given-names>A. S.</given-names></string-name>, <string-name><surname>Domahidi</surname>, <given-names>E.</given-names></string-name>, <string-name><surname>Lewis</surname>, <given-names>N. A.</given-names></string-name>, &amp; <string-name><surname>de Vreese</surname>, <given-names>C.</given-names></string-name> (<year>2021</year>). <article-title>An Agenda for Open Science in Communication</article-title>. <source><italic>Journal of Communication</italic></source>, <volume>71</volume>(<issue>1</issue>), <fpage>1</fpage>–<lpage>26</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1093/joc/jqz052">https://doi.org/10.1093/joc/jqz052</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx9"><mixed-citation publication-type="journal"><string-name><surname>Ellis</surname>, <given-names>D. A.</given-names></string-name> (<year>2019</year>). <article-title>Are Smartphones Really That Bad? Improving the Psychological Measurement of Technology-Related Behaviors</article-title>. <source><italic>Computers in Human Behavior</italic></source>, <volume>97</volume>, <fpage>60</fpage>–<lpage>66</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/j.chb.2019.03.006">https://doi.org/10.1016/j.chb.2019.03.006</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx10"><mixed-citation publication-type="journal"><string-name><surname>Ferreira</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Kostakos</surname>, <given-names>V.</given-names></string-name>, &amp; <string-name><surname>Dey</surname>, <given-names>A. K.</given-names></string-name> (<year>2015</year>). <article-title>AWARE: mobile context instrumentation framework</article-title>. <source><italic>Frontiers in ICT</italic></source>, <volume>2</volume>, <fpage>6</fpage>.</mixed-citation></ref>
                              <ref id="bib.bibx11"><mixed-citation publication-type="journal"><string-name><surname>Festic</surname>, <given-names>N.</given-names></string-name>, <string-name><surname>Büchi</surname>, <given-names>M.</given-names></string-name>, &amp; <string-name><surname>Latzer</surname>, <given-names>M.</given-names></string-name> (<year>2021</year>). <article-title>How Long and What For? Tracking a Nationally Representative Sample to Quantify Internet Use</article-title>. <source><italic>Journal of Quantitative Description: Digital Media</italic></source>, <volume>1</volume>,  <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.51685/jqd.2021.018">https://doi.org/10.51685/jqd.2021.018</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx12"><mixed-citation publication-type="journal"><string-name><surname>Geyer</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Ellis</surname>, <given-names>D. A.</given-names></string-name>, <string-name><surname>Shaw</surname>, <given-names>H.</given-names></string-name>, &amp; <string-name><surname>Davidson</surname>, <given-names>B. I.</given-names></string-name> (<year>2022</year>). <article-title>Open-Source Smartphone App and Tools for Measuring, Quantifying, and Visualizing Technology Use</article-title>. <source><italic>Behavior Research Methods</italic></source>,  <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.3758/s13428-021-01585-7">https://doi.org/10.3758/s13428-021-01585-7</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx13"><mixed-citation publication-type="journal"><string-name><surname>Harris</surname>, <given-names>C. R.</given-names></string-name>, <string-name><surname>Millman</surname>, <given-names>K. J.</given-names></string-name>, <string-name><surname>van der Walt</surname>, <given-names>S. J.</given-names></string-name>, <string-name><surname>Gommers</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Virtanen</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Cournapeau</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Wieser</surname>, <given-names>E.</given-names></string-name>, <string-name><surname>Taylor</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Berg</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Smith</surname>, <given-names>N. J.</given-names></string-name>, <string-name><surname>Kern</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Picus</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Hoyer</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>van Kerkwijk</surname>, <given-names>M. H.</given-names></string-name>, <string-name><surname>Brett</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Haldane</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>del Río</surname>, <given-names>J. F.</given-names></string-name>, <string-name><surname>Wiebe</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Peterson</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Gérard-Marchant</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Sheppard</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Reddy</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Weckesser</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Abbasi</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Gohlke</surname>, <given-names>C.</given-names></string-name>, &amp; <string-name><surname>Oliphant</surname>, <given-names>T. E.</given-names></string-name> (<year>2020</year>). <article-title>Array Programming with NumPy</article-title>. <source><italic>Nature</italic></source>, <volume>585</volume>(<issue>7825</issue>), <fpage>357</fpage>–<lpage>362</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1038/s41586-020-2649-2">https://doi.org/10.1038/s41586-020-2649-2</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx14"><mixed-citation publication-type="journal"><string-name><surname>Hasebrink</surname>, <given-names>U.</given-names></string-name>, &amp; <string-name><surname>Popp</surname>, <given-names>J.</given-names></string-name> (<year>2006</year>). <article-title>Media Repertoires as a Result of Selective Media Use. A Conceptual Approach to the Analysis of Patterns of Exposure</article-title>. <source><italic>Communications</italic></source>, <volume>31</volume>(<issue>3</issue>),  <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1515/COMMUN.2006.023">https://doi.org/10.1515/COMMUN.2006.023</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx15"><mixed-citation publication-type="journal"><string-name><surname>Hevner</surname>, <given-names>A. R.</given-names></string-name>, <string-name><surname>March</surname>, <given-names>S. T.</given-names></string-name>, <string-name><surname>Park</surname>, <given-names>J.</given-names></string-name>, &amp; <string-name><surname>Ram</surname>, <given-names>S.</given-names></string-name> (<year>2004</year>). <article-title>Design Science in Information Systems Research</article-title>. <source><italic>MIS Quarterly</italic></source>, <volume>28</volume>(<issue>1</issue>), <fpage>75</fpage>–<lpage>105</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.2307/25148625">https://doi.org/10.2307/25148625</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx16"><mixed-citation publication-type="journal"><string-name><surname>Kim</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Kim</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Kim</surname>, <given-names>Y.</given-names></string-name>, &amp; <string-name><surname>Wang</surname>, <given-names>Y.</given-names></string-name> (<year>2017</year>). <article-title>Mobile Communication Research in Communication Journals from 1999 to 2014</article-title>. <source><italic>New Media &amp; Society</italic></source>, <volume>19</volume>(<issue>10</issue>), <fpage>1668</fpage>–<lpage>1691</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1177/1461444817718162">https://doi.org/10.1177/1461444817718162</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx17"><mixed-citation publication-type="journal"><string-name><surname>Kristensen</surname>, <given-names>P. L.</given-names></string-name>, <string-name><surname>Olesen</surname>, <given-names>L. G.</given-names></string-name>, <string-name><surname>Egebæk</surname>, <given-names>H. K.</given-names></string-name>, <string-name><surname>Pedersen</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Rasmussen</surname>, <given-names>M. G.</given-names></string-name>, &amp; <string-name><surname>Grøntved</surname>, <given-names>A.</given-names></string-name> (<year>2022</year>). <article-title>Criterion Validity of a Research-Based Application for Tracking Screen Time on Android and iOS Smartphones and Tablets</article-title>. <source><italic>Computers in Human Behavior Reports</italic></source>, <volume>5</volume>,  <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/j.chbr.2021.100164">https://doi.org/10.1016/j.chbr.2021.100164</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx18"><mixed-citation publication-type="journal"><string-name><surname>Lazer</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Hargittai</surname>, <given-names>E.</given-names></string-name>, <string-name><surname>Freelon</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Gonzalez-Bailon</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Munger</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Ognyanova</surname>, <given-names>K.</given-names></string-name>, &amp; <string-name><surname>Radford</surname>, <given-names>J.</given-names></string-name> (<year>2021</year>). <article-title>Meaningful Measures of Human Society in the Twenty-First Century</article-title>. <source><italic>Nature</italic></source>, <volume>595</volume>(<issue>7866</issue>), <fpage>189</fpage>–<lpage>196</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1038/s41586-021-03660-7">https://doi.org/10.1038/s41586-021-03660-7</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx19"><mixed-citation publication-type="journal"><string-name><surname>Lee</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Park</surname>, <given-names>J.</given-names></string-name>, &amp; <string-name><surname>Lee</surname>, <given-names>U.</given-names></string-name> (<year>2023</year>). <article-title>A Systematic Survey on Android API Usage for Data-driven Analytics with Smartphones</article-title>. <source><italic>ACM Computing Surveys</italic></source>, <volume>55</volume>(<issue>5</issue>), <fpage>1</fpage>–<lpage>38</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1145/3530814">https://doi.org/10.1145/3530814</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx20"><mixed-citation publication-type="journal"><string-name><surname>Marciano</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Driver</surname>, <given-names>C. C.</given-names></string-name>, <string-name><surname>Schulz</surname>, <given-names>P. J.</given-names></string-name>, &amp; <string-name><surname>Camerini</surname>, <given-names>AL.</given-names></string-name> (<year>2022</year>). <article-title>Dynamics of Adolescents' Smartphone Use and Well-Being Are Positive but Ephemeral</article-title>. <source><italic>Scientific Reports</italic></source>, <volume>12</volume>(<issue>1</issue>), <fpage>1316</fpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1038/s41598-022-05291-y">https://doi.org/10.1038/s41598-022-05291-y</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx21"><mixed-citation publication-type="journal"><string-name><surname>Ohme</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Araujo</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Boeschoten</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Freelon</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Ram</surname>, <given-names>N.</given-names></string-name>, <string-name><surname>Reeves</surname>, <given-names>B. B.</given-names></string-name>, &amp; <string-name><surname>Robinson</surname>, <given-names>T. N.</given-names></string-name> (<year>2023</year>). <article-title>Digital Trace Data Collection for Social Media Effects Research: APIs, Data Donation, and (Screen) Tracking</article-title>. <source><italic>Communication Methods and Measures</italic></source>, <fpage>1</fpage>–<lpage>18</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1080/19312458.2023.2181319">https://doi.org/10.1080/19312458.2023.2181319</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx22"><mixed-citation publication-type="journal"><string-name><surname>Ohme</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Araujo</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>de Vreese</surname>, <given-names>C. H.</given-names></string-name>, &amp; <string-name><surname>Piotrowski</surname>, <given-names>J. T.</given-names></string-name> (<year>2021</year>). <article-title>Mobile Data Donations: Assessing Self-Report Accuracy and Sample Biases with the iOS Screen Time Function</article-title>. <source><italic>Mobile Media &amp; Communication</italic></source>, <volume>9</volume>(<issue>2</issue>), <fpage>293</fpage>–<lpage>313</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1177/2050157920959106">https://doi.org/10.1177/2050157920959106</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx23"><mixed-citation publication-type="journal"><string-name><surname>Otto</surname>, <given-names>L. P.</given-names></string-name>, <string-name><surname>Loecherbach</surname>, <given-names>F.</given-names></string-name>, &amp; <string-name><surname>Vliegenthart</surname>, <given-names>R.</given-names></string-name> (<year>2024</year>). <article-title>Linkage Analysis Revised -- Linking Digital Traces and Survey Data</article-title>. <source><italic>Communication Methods and Measures</italic></source>, <volume>18</volume>(<issue>2</issue>), <fpage>186</fpage>–<lpage>204</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1080/19312458.2023.2257595">https://doi.org/10.1080/19312458.2023.2257595</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx24"><mixed-citation publication-type="journal"><string-name><surname>Parry</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Davidson</surname>, <given-names>B. I.</given-names></string-name>, <string-name><surname>Sewall</surname>, <given-names>C. J. R.</given-names></string-name>, <string-name><surname>Fisher</surname>, <given-names>J. T.</given-names></string-name>, <string-name><surname>Mieczkowski</surname>, <given-names>H.</given-names></string-name>, &amp; <string-name><surname>Quintana</surname>, <given-names>D. S.</given-names></string-name> (<year>2021</year>). <article-title>A Systematic Review and Meta-Analysis of Discrepancies between Logged and Self-Reported Digital Media Use</article-title>. <source><italic>Nature Human Behaviour</italic></source>, <volume>5</volume>,  <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1038/s41562-021-01117-5">https://doi.org/10.1038/s41562-021-01117-5</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx25"><mixed-citation publication-type="journal"><string-name><surname>Parry</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>le Roux</surname>, <given-names>D. B.</given-names></string-name>, &amp; <string-name><surname>Bantjes</surname>, <given-names>J. R.</given-names></string-name> (<year>2020</year>). <article-title>Testing the Feasibility of a Media Multitasking Self-Regulation Intervention for Students: Behaviour Change, Attention, and Self-Perception</article-title>. <source><italic>Computers in Human Behavior</italic></source>, <volume>104</volume>,  <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/j.chb.2019.106182">https://doi.org/10.1016/j.chb.2019.106182</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx26"><mixed-citation publication-type="book"><string-name><surname>Parry</surname>, <given-names>D.</given-names></string-name>, &amp; <string-name><surname>Sewall</surname>, <given-names>C. J. R.</given-names></string-name> (<year>2021</year>). <source><italic>How Consistent Are Smartphone Application Preferences? A Descriptive Study of Mobile Application Repertoires Using Behavioral Data</italic></source>. <publisher-name>SocArXiv</publisher-name>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.31235/osf.io/jzxun">https://doi.org/10.31235/osf.io/jzxun</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx27"><mixed-citation publication-type="journal"><string-name><surname>Peng</surname>, <given-names>TQ.</given-names></string-name>, &amp; <string-name><surname>Zhu</surname>, <given-names>J. J. H.</given-names></string-name> (<year>2020</year>). <article-title>Mobile Phone Use as Sequential Processes: From Discrete Behaviors to Sessions of Behaviors and Trajectories of Sessions</article-title>. <source><italic>Journal of Computer-Mediated Communication</italic></source>, <volume>25</volume>(<issue>2</issue>), <fpage>129</fpage>–<lpage>146</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1093/jcmc/zmz029">https://doi.org/10.1093/jcmc/zmz029</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx28"><mixed-citation publication-type="journal"><string-name><surname>Rozgonjuk</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Levine</surname>, <given-names>J. C.</given-names></string-name>, <string-name><surname>Hall</surname>, <given-names>B. J.</given-names></string-name>, &amp; <string-name><surname>Elhai</surname>, <given-names>J. D.</given-names></string-name> (<year>2018</year>). <article-title>The Association between Problematic Smartphone Use, Depression and Anxiety Symptom Severity, and Objectively Measured Smartphone Use over One Week</article-title>. <source><italic>Computers in Human Behavior</italic></source>, <volume>87</volume>, <fpage>10</fpage>–<lpage>17</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/j.chb.2018.05.019">https://doi.org/10.1016/j.chb.2018.05.019</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx29"><mixed-citation publication-type="journal"><string-name><surname>Schoedel</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Oldemeier</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Bonauer</surname>, <given-names>L.</given-names></string-name>, &amp; <string-name><surname>Sust</surname>, <given-names>L.</given-names></string-name> (<year>2022</year>). <article-title>Systematic Categorisation of 3,091 Smartphone Applications From a Large-Scale Smartphone Sensing Dataset</article-title>. <source><italic>Journal of Open Psychology Data</italic></source>,  <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.5334/jopd.59">https://doi.org/10.5334/jopd.59</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx30"><mixed-citation publication-type="journal"><string-name><surname>Sen</surname>, <given-names>I.</given-names></string-name>, <string-name><surname>Flöck</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Weller</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Weiß</surname>, <given-names>B.</given-names></string-name>, &amp; <string-name><surname>Wagner</surname>, <given-names>C.</given-names></string-name> (<year>2021</year>). <article-title>A Total Error Framework for Digital Traces of Human Behavior on Online Platforms</article-title>. <source><italic>Public Opinion Quarterly</italic></source>, <volume>85</volume>(<issue>S1</issue>), <fpage>399</fpage>–<lpage>422</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1093/poq/nfab018">https://doi.org/10.1093/poq/nfab018</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx31"><mixed-citation publication-type="journal"><string-name><surname>Sewall</surname>, <given-names>C. J. R.</given-names></string-name>, <string-name><surname>Bear</surname>, <given-names>T. M.</given-names></string-name>, <string-name><surname>Merranko</surname>, <given-names>J.</given-names></string-name>, &amp; <string-name><surname>Rosen</surname>, <given-names>D.</given-names></string-name> (<year>2020</year>). <article-title>How Psychosocial Well-Being and Usage Amount Predict Inaccuracies in Retrospective Estimates of Digital Technology Use</article-title>. <source><italic>Mobile Media &amp; Communication</italic></source>, <volume>8</volume>(<issue>3</issue>), <fpage>379</fpage>–<lpage>399</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1177/2050157920902830">https://doi.org/10.1177/2050157920902830</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx32"><mixed-citation publication-type="journal"><string-name><surname>Sewall</surname>, <given-names>C. J. R.</given-names></string-name>, &amp; <string-name><surname>Parry</surname>, <given-names>D.</given-names></string-name> (<year>2021</year>). <article-title>The Role of Depression in the Discrepancy Between Estimated and Actual Smartphone Use: A Cubic Response Surface Analysis</article-title>. <source><italic>Technology, Mind, and Behavior</italic></source>, <volume>2</volume>(<issue>2</issue>),  <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1037/tmb0000036">https://doi.org/10.1037/tmb0000036</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx33"><mixed-citation publication-type="journal"><string-name><surname>Sewall</surname>, <given-names>C. J.</given-names></string-name>, <string-name><surname>Goldstein</surname>, <given-names>T. R.</given-names></string-name>, &amp; <string-name><surname>Rosen</surname>, <given-names>D.</given-names></string-name> (<year>2021</year>). <article-title>Objectively Measured Digital Technology Use during the COVID-19 Pandemic: Impact on Depression, Anxiety, and Suicidal Ideation among Young Adults</article-title>. <source><italic>Journal of Affective Disorders</italic></source>, <volume>288</volume>, <fpage>145</fpage>–<lpage>147</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/j.jad.2021.04.008">https://doi.org/10.1016/j.jad.2021.04.008</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx34"><mixed-citation publication-type="journal"><string-name><surname>Siebers</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Beyens</surname>, <given-names>I.</given-names></string-name>, <string-name><surname>Baumgartner</surname>, <given-names>S.</given-names></string-name>, &amp; <string-name><surname>Valkenburg</surname>, <given-names>P. M.</given-names></string-name> (<year>2024</year>). <article-title>Adolescents' Digital Nightlife: The Comparative Effects of Day- and Nighttime Smartphone Use on Sleep Quality</article-title>. <source><italic>Communication Research</italic></source>,  <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1177/00936502241276793">https://doi.org/10.1177/00936502241276793</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx35"><mixed-citation publication-type="journal"><string-name><surname>Siebers</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Beyens</surname>, <given-names>I.</given-names></string-name>, &amp; <string-name><surname>Valkenburg</surname>, <given-names>P. M.</given-names></string-name> (<year>2023</year>). <article-title>The Effects of Fragmented and Sticky Smartphone Use on Distraction and Task Delay</article-title>. <source><italic>Mobile Media &amp; Communication</italic></source>,  <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1177/20501579231193941">https://doi.org/10.1177/20501579231193941</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx36"><mixed-citation publication-type="journal"><string-name><surname>Stachl</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Au</surname>, <given-names>Q.</given-names></string-name>, <string-name><surname>Schoedel</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Buschek</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Völkel</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Schuwerk</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Oldemeier</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Ullmann</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Hussmann</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Bischl</surname>, <given-names>B.</given-names></string-name>, &amp; <string-name><surname>Bühner</surname>, <given-names>M.</given-names></string-name> (<year>2020</year>). <article-title>Predicting Personality from Patterns of Behavior Collected with Smartphones.</article-title>. <source><italic>Proceedings of The National Academic Of Sciences</italic></source>, <volume>117</volume>(<issue>30</issue>), <fpage>17680</fpage>–<lpage>17687</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1073/pnas.1920484117">https://doi.org/10.1073/pnas.1920484117</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx37"><mixed-citation publication-type="journal"><string-name><surname>Toth</surname>, <given-names>R.</given-names></string-name> (<year>2023</year>). <article-title>One App to Assess Them All</article-title>. <source><italic>Publizistik</italic></source>, <volume>68</volume>(<issue>2</issue>), <fpage>281</fpage>–<lpage>290</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/s11616-023-00788-6">https://doi.org/10.1007/s11616-023-00788-6</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx38"><mixed-citation publication-type="journal"><string-name><surname>Toth</surname>, <given-names>R.</given-names></string-name>, &amp; <string-name><surname>Trifonova</surname>, <given-names>T.</given-names></string-name> (<year>2021</year>). <article-title>Somebody's Watching Me: Smartphone Use Tracking and Reactivity</article-title>. <source><italic>Computers in Human Behavior Reports</italic></source>, <volume>4</volume>,  <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/j.chbr.2021.100142">https://doi.org/10.1016/j.chbr.2021.100142</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx39"><mixed-citation publication-type="journal"><string-name><surname>Van Canneyt</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Bron</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Haines</surname>, <given-names>A.</given-names></string-name>, &amp; <string-name><surname>Lalmas</surname>, <given-names>M.</given-names></string-name> (<year>2017</year>). <article-title>Describing Patterns and Disruptions in Large Scale Mobile App Usage Data</article-title>. <source><italic>Proceedings of the 26th International Conference on World Wide Web Companion - WWW '17 Companion</italic></source>, <fpage>1579</fpage>–<lpage>1584</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1145/3041021.3051113">https://doi.org/10.1145/3041021.3051113</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx40"><mixed-citation publication-type="journal"><string-name><surname>Vanden Abeele</surname>, <given-names>M. M. P.</given-names></string-name>, &amp; <string-name><surname>Nguyen</surname>, <given-names>M. H.</given-names></string-name> (<year>2022</year>). <article-title>Digital Well-Being in an Age of Mobile Connectivity: An Introduction to the Special Issue</article-title>. <source><italic>Mobile Media &amp; Communication</italic></source>, <volume>10</volume>(<issue>2</issue>), <fpage>174</fpage>–<lpage>189</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1177/20501579221080899">https://doi.org/10.1177/20501579221080899</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx41"><mixed-citation publication-type="journal"><string-name><surname>Verbeij</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Pouwels</surname>, <given-names>J. L.</given-names></string-name>, <string-name><surname>Beyens</surname>, <given-names>I.</given-names></string-name>, &amp; <string-name><surname>Valkenburg</surname>, <given-names>P. M.</given-names></string-name> (<year>2021</year>). <article-title>The Accuracy and Validity of Self-Reported Social Media Use Measures among Adolescents</article-title>. <source><italic>Computers in Human Behavior Reports</italic></source>, <volume>3</volume>,  <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/j.chbr.2021.100090">https://doi.org/10.1016/j.chbr.2021.100090</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx42"><mixed-citation publication-type="journal"><string-name><surname>Wei</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Fan</surname>, <given-names>J.</given-names></string-name>, &amp; <string-name><surname>Leo-Liu</surname>, <given-names>J.</given-names></string-name> (<year>2023</year>). <article-title>Mobile Communication Research in 15 Top-Tier Journals, 2006--2020: An Updated Review of Trends, Advances, and Characteristics</article-title>. <source><italic>Mobile Media &amp; Communication</italic></source>, <volume>11</volume>(<issue>3</issue>), <fpage>341</fpage>–<lpage>366</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1177/20501579221110324">https://doi.org/10.1177/20501579221110324</ext-link></mixed-citation></ref>
                              <ref id="bib.bibx43"><mixed-citation publication-type="journal"><string-name><surname>Zhu</surname>, <given-names>J. J. H.</given-names></string-name>, <string-name><surname>Chen</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Peng</surname>, <given-names>TQ.</given-names></string-name>, <string-name><surname>Liu</surname>, <given-names>X. F.</given-names></string-name>, &amp; <string-name><surname>Dai</surname>, <given-names>H.</given-names></string-name> (<year>2018</year>). <article-title>How to Measure Sessions of Mobile Phone Use? Quantification, Evaluation, and Applications</article-title>. <source><italic>Mobile Media &amp; Communication</italic></source>,  <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1177/2050157917748351">https://doi.org/10.1177/2050157917748351</ext-link></mixed-citation></ref>
                            </ref-list></sec></sec></sec></sec></sec></sec></sec></sec><table-wrap-foot><p>to ¿p1.8cm¿p3.1cm¿X
Event type  Name  Explanation1  Activity resumed  An activity (associated with a package and class) moved to the foreground15  Screen interactive  The screen went into an interactive state (i.e., turned on for full user interaction, not ambient display or other non-interactive state)16  Screen non-interactive  The screen went into a non-interactive state (i.e., completely turned off or turned on only in a non-interactive state)17  Keyguard shown  The screen’s keyguard was shown18  Keyguard hidden  The screen’s keyguard was hidden (i.e., the user unlocked the device)26  Device shutdown  The Android runtime underwent a shutdown process (all started activities are also stopped, without explicit ‘activity stopped’ (23) events)27  Device startup  The Android runtime launched</p></table-wrap-foot></table-wrap><table-wrap-foot><p>to ¿p2.5cm¿X¿p4.5cm
Attribute  Definition  Exampletimestamp  When the event occurred  1693312744148event type  The action the device performed  1 (activity resumed)package name  A unique string identifying an app  com.whatsappclass name  The internal name of an app activity  com.whatsapp.HomeActivity</p></table-wrap-foot></table-wrap></sec></sec>
    </body>
  <back>
    <fn-group><title>Notes</title><fn id="id1" symbol="1"><p id="footnote1">
            
            
            
            
          Notably, iPhones currently do not allow access to the event log system. This means that any event logging procedure only works on Android phones, and that without using burdensome forensic tools to access system databases (e.g., KnowledgeC, PowerLog, or Biome), it is currently not possible to access fine-grained temporal data. The iOS Screen Time report only provides high-level aggregated data at the day or week-level.</p></fn><fn id="id2" symbol="2"><p id="footnote2">
            
            
            
            
          See <ext-link xlink:href="https://developer.android.com/develop/sensors-and-location/sensors/sensors_overview" ext-link-type="uri">https://developer.android.com/develop/sensors-and-location/sensors/sensors_overview</ext-link> for a comprehensive description of all sensors available on Android smartphones.</p></fn><fn id="id3" symbol="3"><p id="footnote3">
              
              
              
              
            While various research projects have collected such data with proprietary apps (e.g., Stachl et al., <xref rid="bib.bibx36" ref-type="bibr">2020</xref>), there are few open source tools available. Toth (<xref rid="bib.bibx37" ref-type="bibr">2023</xref>) introduces one such tool that researchers can use, and Geyer et al. (<xref rid="bib.bibx12" ref-type="bibr">2022</xref>) discuss another tool for this purpose. While these and other tools enable researchers to access these data without having to rely on expensive, black-box commercial tools, there is a substantial need for investment into the development and maintenance of more robust tools to further democratize access to this type of data.</p></fn><fn id="id4" symbol="4"><p id="footnote4">
              
              
              
              
            See <ext-link xlink:href="https://developer.android.com/reference/android/app/usage/UsageEvents.Event" ext-link-type="uri">https://developer.android.com/reference/android/app/usage/UsageEvents.Event</ext-link> for relevant documentation</p></fn><fn id="id5" symbol="5"><p id="footnote5">
              
              
              
              
            The time zone of the device is not stored as an event attribute. If the local date and time of the events are of interest, the time zone (offset) therefore has to be accessed separately. This has to happen rather frequently to ensure that every event can be interpreted correctly in case the device is used in different time zones during data collection.</p></fn><fn id="id6" symbol="6"><p id="footnote6">
              
              
              
              
            See <ext-link xlink:href="https://android.googlesource.com/platform/frameworks/base/+/HEAD/core/java/android/app/usage/UsageEvents.java" ext-link-type="uri">https://android.googlesource.com/platform/frameworks/base/+/HEAD/core/java/android/app/usage/UsageEvents.java</ext-link></p></fn><fn id="id7" symbol="7"><p id="footnote7">
              
              
              
              
            Earlier versions of Android (e.g., version 9, API28, or lower) provide a much more limited set of event types, preventing extraction of certain types of device usage.</p></fn><fn id="id8" symbol="8"><p id="footnote8">
                        
                        
                        
                        
                      The OSM are located at:
<ext-link xlink:href="https://osf.io/5bekx/" ext-link-type="uri">https://osf.io/5bekx/</ext-link></p></fn><fn id="id9" symbol="9"><p id="footnote9">
                        
                        
                        
                        
                      This sample
dataset was randomly extracted from a much larger dataset collected as part of a project on mobile media use among German internet users, involving the collection of Android event log data and mobile experience sampling data for seven days via a custom-built app from a panel of n = 1,226 Android-using Internet users in 2023 (Toth, <xref rid="bib.bibx37" ref-type="bibr">2023</xref>).</p></fn><fn id="id10" symbol="10"><p id="footnote10">
                                
                                
                                
                                
                              Background system packages run in the background with no user interface elements displayed. For example, this can include packages that manage WiFi or Bluetooth connections, or packages that facilitate cellular signal or updates. In contrast, general system packages, like ‘com.android.gallery3d’, provide user interface elements and, for all intents and purposes, function to the user like any other app.</p></fn><fn id="id11" symbol="11"><p id="footnote11">
                                
                                
                                
                                
                              We produced this list with an event log dataset collected in late 2023, <italic>n</italic> = 1,103</p></fn><fn id="id12" symbol="12"><p id="footnote12">
                                
                                
                                
                                
                              See
https://tidyr.tidyverse.org/reference/fill.html for an example of this
type of function from the package <italic>tidyr</italic> in <italic>R</italic>.</p></fn><fn id="id13" symbol="13"><p id="footnote13">
                                
                                
                                
                                
                              Depending on the topic and
scope of research, this type of background activity may be of
interest, though. For example, activity of apps like <italic>Spotify</italic> or
sleep tracking/health apps (e.g., <italic>Sleep Cycle</italic>) may indicate
actual use despite not involving screen interactivity.</p></fn><fn id="id14" symbol="14"><p id="footnote14">
                              
                              
                              
                              
                            Given the absence of an official Play Store API,
the community has produced open source packages that can be used to
implement these scraping procedures. See
<ext-link xlink:href="https://gitlab.com/AuroraOSS/gplayapi" ext-link-type="uri">https://gitlab.com/AuroraOSS/gplayapi</ext-link> or
<ext-link xlink:href="https://pypi.org/project/google-play-scraper/" ext-link-type="uri">https://pypi.org/project/google-play-scraper/</ext-link>.</p></fn><fn id="id15" symbol="15"><p id="footnote15">
                              
                              
                              
                              
                            As with web scraping in general, when the interface
of the Play Store changes, there is a possibility that this code may
not work anymore.</p></fn></fn-group></back>
</article>