Im Zentrum des Forschungsprojekts steht die anonymisierte Sammlung von Daten zum Leseverhalten der NutzerInnen, dem sogenannten Lesetagebuch. Die erfassten Daten werden in Form von Formulardaten (survey), Protokolldaten (log), als auch durch Abfrage der NutzerInnen während des Lesens, erfasst. Durch die technische Struktur der Daten wird eine Anonymisierung gewährleistet.
Die Daten wurden während der Nutzung der literaturlesen-App mit dem Einverständnis der Nutzer*innen gewonnen und stehen zur allgemeinen Nutzung und Beforschung zur Verfügung (MIT Lizenz).
Folgende Forschungsfragen soll das Projekt beantworten.
| Forschungsfrage | Ergebnisse/Aussagen |
1 | Wann lesen die NutzerInnen? | Uhrzeiten, Wochentage |
2 | Wieviel lesen die NutzerInnen? | Anzahl an Werken, Anzahl an Seiten, Reihenfolge der Texte, Linearität des Lesens, Vollständigkeit der gelesenen Texte |
3 | Wie lange lesen die NutzerInnen? | pro Tag, pro Woche, … |
4 | Wie schnell lesen die NutzerInnen? | Wörter pro Minute |
5 | Was lesen die NutzerInnen? | Texte, Gattung, Wiederholungen, Textpassagen |
6 | Wie annotieren die NutzerInnen? | Anzahl, Art, Annotationshäufigkeit nach Text oder Gattung |
7 | Nach was suchen die NutzerInnen? | Suchbegriffe |
8 | Wo lesen die NutzerInnen? | Anzahl an und Art der Leseorte |
Die erhobenen Daten stehen in drei Formaten für verschiedene Anwendungszwecke zur Verfügung.
Das JSON-Format ist besonders für Webanwendungen geeignet und ermöglicht die Darstellung der Daten in Objekt-Form. Die Datenstruktur ist auf verschiedene Dateien verteilt. Für die Log-Daten (log-YYYY-MM-DD.json) wird ein täglicher Datensatz abgelegt.
CSV ist perfekt geeignet tabellarische Daten auf einfache Art als Textdateien abzubilden und daher hoch kompatibel. Dabei werden Tabellenzeilen durch Zeilenumbrüche im Dokument gekennzeichnet und Spalten durch ein Symbol voneinander geteilt. Im Fall der literaturlesen-Daten ist dieser Separator ein Komma ",". Die Datenstruktur des Projekts ist in verschiedene CSV-Einzeldateien aufgeteilt. Die Log-Daten werden zudem täglich als Datei abgelegt (YYYY-MM-DD_literaturlesen.csv).
SQL ist die bekannteste Datenbankformat schlecht hin. Organisiert in Tabellen können vielfältige Strukturen abgebildet werden. Auch die literaturlesen-App erfasst ihre Daten in Form einer SQL-Tabelle. In doppelt anonymisierter Form können diese Daten heruntergeladen werden.
Die Forschungsdaten werden bei der Erfassung in verschiedene Tabellen aufgeteilt und unterteilen sich in statische Daten und Nutzer*innendaten. Statische Daten sind Referenzen auf die gelesenen Texte (texts.json, SQL-Tabelle texte, texte_literaturlesen.csv) und die dazugehörigen Text-Elemente wie Absätze und Zeilen (textelements.json, SQL-Tabelle textelements, textelements_literaturlesen.csv). Die enthaltenen Daten haben ihren Ursprung in der Text-Grid-Datenbank und sind in der erfassten Form ohne Annotationen oder Meta-Daten gemeinfrei (https://www.textgrid.de/Digitale-Bibliothek).
Die anonymisierten Nutzer*innendaten stellen den eigentlichen Schatz des Projekts dar und unterteilen sich in Umfragedaten (survey.json, SQL-Tabelle survey, survey_literaturlesen.csv) und Log- bzw. Protokolldaten (log-YYYY-MM-DD.json, YYYY-MM-DD_literaturlesen.csv, SQL Tabelle log und log_details).
Die Forschungsdatenbank speichert Interaktionen der NutzerInnen mit der App und den Leseinhalten. Die Datenbank ist so gestaltet, dass sie sich in ihren Aktionen und Funktionen auch während des Projektverlaufs erweitern lässt.
Spalte | Datenart | Beispielwert(e) | Beschreibung |
id | Numerisch | 56 | Unique ID des Datenbankeintrags |
time | Numerisch | 1620127363511 | Unix-Timecode: Anzahl an Millisekunden seit 1.1.1970. Der Wert wird innerhalb der App generiert und nicht beim Eintrag in die Datenbank. Selektionen nach NutzerInnen müssen nach der Zeit sortiert werden, um eine Chronologie zu gewährleisten. Zeiten zwischen zwei Ereignissen lassen die Aussage über die Dauer der Aktion zu. |
appid | Alphanumerisch, Zeichenkette | 365922d4df0fab5de253657b1590b5d3 | Zufälliger und einzigartiger Wert, welcher einmalig zum erstmaligen Start der App generiert wird. Alle Einträge mit derselben App-ID gehören zur selben NutzerIn. Die App-ID verknüpft Protokoll- und Formulardatenbank. In der öffentlichen Forschungsdatenbank wurde die randomisierte App-ID zusätzlich gehashed. |
session | Alphanumerisch, Zeichenkette | kmk224a | Die Session wird für jede Sitzung erneut innerhalb der App erzeugt. Eine Änderung der Session findet auch statt, wenn die App aus dem Hintergrund erneut geöffnet wird. Folgen von Aktionen lassen sich so optimal abgrenzen und ermöglichen Aussagen über die Kontinuität des mobilen Lesens. |
bereich | Alphanumerisch, Zeichenkette | faust1, desknabenwunderhorn, impressum | Seiten, Screens oder Texte der App als Wert codiert. |
item | Alphanumerisch, Zeichenkette | page1 | Das Item spezifiziert ggf. einen Bereich. Bei Texten sind es zum Beispiel die Seiten. Eine Codeliste wird erstellt und während des Projekts ergänzt. |
action | Alphanumerisch, Zeichenkette | Enter, EmojiOpen, EmojiConfirm, … | Aktionen beschreiben in codierter Form, was die NutzerIn ggf. gerade mit dem Item in dem spezifischen Bereich macht. Z.B. beschreibt die Aktion „Enter“ immer das Betreten eines Bereichs. Aktionen und deren Bedeutung werden in einer Codeliste gepflegt. |
value | Alphanumerisch, Zeichenkette | Kommentar, 0.32111 | Das Value spezifiziert ggf. die Aktion und gibt z.B. bei einer Annotations-Aktion an, welche Art der Annotation erfolgte. Das Value ist demnach direkt von der Aktion abhängig. Bei einer Seitenangabe als Item spezifiziert das Value die genaue prozentuale Textposition oder einen Bezug auf eine Normseiten-Position. Auch komplexere Values können mittels Kommaseparierung oder Serialisierung enthalten sein. |
words | Numerisch | 400 | Gilt nur für Textfortschritte und zeigt an, wie viele Wörter auf der aktiven Seite betrachtet werden. |
Die Log-Details erweitern und präzisieren die Log-Einträge vorallem beim Lesen. Dabei werden für jeden Lese-Protokollaufruf (log) die aufgerufenen Text-Elemente wie Absätze, Verse oder Zeilen notiert. Als Referenzen dienen Elemente aus der Tabelle textelements.
Spalte | Datenart | Beispielwert(e) | Beschreibung |
id | Numerisch | 56 | Unique ID des Datenbankeintrags |
logid | Numerisch | 21605 | Referenz auf den Wert log.id |
elementid | Zeichenkette | effibriest-1-2-1-46 | Referenz auf das Text-Element textelements.elementid |
Nach dem erstmaligen Öffnen der App können Nutzer*innen freiwillig demografische Daten beisteuern, welche den Datenstamm erweitern.
Spalte | Datenart | Beispielwert(e) | Beschreibung |
id | Numerisch | 56 | Unique ID des Datenbankeintrags |
time | Numerisch | 1620127363511 | Unix-Timecode: Anzahl an Millisekunden seit 1.1.1970. Der Wert wird innerhalb der App generiert und nicht beim Eintrag in die Datenbank. Selektionen nach NutzerInnen müssen nach der Zeit sortiert werden, um eine Chronologie zu gewährleisten. Zeiten zwischen zwei Ereignissen lassen die Aussage über die Dauer der Aktion zu. |
appid | Alphanumerisch, Zeichenkette | Fj3m652a031Q | Zufälliger und einzigartiger Wert, welcher einmalig zum erstmaligen Start der App generiert wird. Alle Einträge mit derselben App-ID gehören zur selben NutzerIn. Die App-ID verknüpft Protokoll- und Formulardatenbank. |
age | Numerisch | 25 | Alter der NutzerIn. |
gender | Numerisch | d, w, m | Codiertes Geschlecht: d=divers, w=weiblich, m=männlich |
language | Numerisch | deutsch, bilingual, other | deutsch=Deutsch als Muttersprache, bilingual=zweisprachig, other=anders |
beruflich | Numerisch | 0/1 | Codierte Antwort: 0=Nein, 1=Ja |
buecher | Numerisch | 500 | Anzahl an Büchern analog und digital oder ggf. Codierte Antworten für eine Auswahloption. |
Die Texte-Datenbank (texte) ist eine Hilfsdatenbank und gibt eine Übersicht der 50 gemeinfreien, importierten Texte des Text-Grid-Projekts. Bei jedem Text-Update werden alle Einträge gelöscht und die Datenbank neu aufgebaut - weswegen die texte.id nicht statisch sind.
Spalte | Datenart | Beispielwert(e) | Beschreibung |
id | Numerisch | 1769 | Unique ID des Datenbankeintrags, welche bei jedem Update erneuert werden. |
textid | Numerisch | textgrid:pvts.0 | Textgrid-ID der zugrunde liegenden TEI-Datei |
title | Zeichenkette | Ardinghello und die glückseligen Inseln | Titel des Textes |
type | Zeichenkette | prose | Text-Typ: prose, verse, drama, other |
shortname | Zeichenkette | ardinghellounddieglckseligeninseln | Lesbarer, urlsicherer-Kurzname |
author | Zeichenkette | Heinse, Wilhelm | Name und Vorname des Autors |
Die Texte-Elemente Datenbank (textelements) ist auch eine Hilfsdatenbank und beinhaltet die Text-Elemente (Verse, Absätze) aller Texte und deren Wortlänge.
Spalte | Datenart | Beispielwert(e) | Beschreibung |
id | Numerisch | 5667567 | Unique ID des Datenbankeintrags, welche bei jedem Update erneuert werden. |
elementid | Zeichenkette | buntesteine-1-1-72 | Textgrid-ID der zugrunde liegenden TEI-Datei |
textid | Zeichenkette | textgrid:pvts.0 | Textgrid-ID des TEI-Textes |
text | Zeichenkette | »Alfred,« sagte ich, »was ist dir denn?« | Textinhalt des Text-Elements |
words | Numerisch | 7 | Anzahl an Wörtern |