SoSciSo Info

Neu + Fallstudie: NVivotools

Autor: Jonathan Schultz, (BarraQDA.org)


NVivotools provides a way to interface NVivo with other software tools. It can be used at each stage of the QDA process – data entry, coding, analysis, reporting and archiving. This blog post outlines how it works and its potential applications. It then describes the author’s experience of using it in a simple real-world example.


NVivo is probably the most widely used software for QDA. It provides an integrated GUI-driven system for managing, coding and reporting on research material in textual, audio and video form. Yet it suffers from a number of shortcomings, some of which NVivotools seeks to overcome. Most notably:

1. NVivo uses a closed (proprietary) data format to ‘lock up’ your data and prevent you from using other software with it. By freeing your research data from this environment, NVivotools lets you use the wide range of free and non-free tools for data harvesting, manipulation, coding, analysis, reporting and archiving.

2. NVivo requires a fairly powerful Windows or Mac computer. There is no chance of coding on a portable device or Linux box, and even your old Windows computer will struggle with any but the smallest research project. By using the simple and lightweight SQLite database and allowing you to use your own tools, NVivotools makes computer assisted QDA accessible on smaller and cheaper devices, including Linux machines.

3. NVivo’s GUI is great for users who are starting out and need help finding their way around, but for everyone else it quickly becomes a handicap. It makes small errors almost inevitable and provides no means of validation as it leaves no record of the steps that have been taken, and it cannot be automated. NVivotools provides another way to work on your research data using powerful scripting languages such as R and Python.

How it works

NVivotools accesses NVivo files (which are actually database files – Microsoft SQL Server for the Windows edition and SQL Anywhere for the Mac edition). It provides command-line tools to transform NVivo data from an NVivo file into and out a simpler and more easily accessed database, which it refers to as the normalised database. Because NVivotools uses the Python module SQLAlchemy for database access, it is able to deploy many different database engines for the normalised database. By far the simplest of these is SQLite, and NVivotools largely assumes that this is the one you will use.

The normalised database format is (almost) self-explanatory. Files can be opened with any program that can read SQLite files (try SQLiteBrowser as a first point of call) and the structure and content of the NVivo project data extracted, modified, added to or otherwise used at will. The data can also be re-imported into an NVivo project file, making any changes available within NVivo. In this way, researchers can tailor the data analysis to suit a particular project, and write or make use of existing tools to work with the data.

To use NVivotools, you can either install it on your own computer, or use an online version. In either case, it is free to use or redistribute, subject to the usual GPL licence conditions.

A simple example

As a demonstration of NVivo’s potential, the author took NVivo’s sample project for NVivo 10 for Windows, which can be downloaded here. This demonstration script uses Python’s textblob module to find the most commonly occurring noun phrases across all the sources in the project. It creates a node for a lemmatised version of each noun phrase, and codes every sentence that contains one of them at that node. In order to limit the number of noun phrases, it allows the user to specify the minimum number of times the noun phrase must occur to be included.

Installing textblob requires two commands:

 $ pip install textblob
 $ python -m textblob.download_corpora

To use NVivotools, first convert the sample project to a normalised database. This creates an output which by default has the same name as the input file, with the extension .nvp replaced by .norm:

 C:> NormaliseNVP.py Sample-Project-NVivo10.0-Format.nvp
 Using MSSQL instance: QSRNVIVO10
 File activation failure. The physical file name "C:\Users\jschultz\Documents\NVivo 10 Sample Project_log.LDF" 
 may be incorrect.
 New log file 'C:\Users\jschultz\AppData\Local\Temp\SQL\tmpdx9ri9_log.LDF' was created.
 Msg 15025, Level 16, State 1, Server WINDOWS7-TS\QSRNVIVO10, Line 1
 The server principal 'nvivotools' already exists.
 Attached database nt1456
 Normalising users
 Normalising project
 Normalising node categories
 Normalising nodes
 Normalising node attributes
 Normalising source categories
 Normalising sources
 Normalising source attributes
 Normalising taggings
 Normalising annotations
 Dropped database nt1456

Next, run the demonstration script with the occurrence threshold set to 5. Notice that the database engine is specified explicitly here as SQLite. This command does the actual textual analysis and adds the nodes and coding information to the normalised file.

 C:> textblobExampleCode.py --threshold 5 sqlite:///Sample-Project-NVivo10.0-Format.norm

The resulting data can then be reloaded into the original sample project file. If you try this with real live data, make sure you have a backup!

 C:> DenormaliseNVP.py Sample-Project-NVivo10.0-Format.norm Sample-Project-NVivo10.0-Format.nvp
 Using MSSQL instance: QSRNVIVO10
 File activation failure. The physical file name 
 "C:\Development\NVivo\Development\Main\NVivo\Installer\Client\Databases\Sample Project_log.LDF" may be incorrect.
 New log file 'C:\Users\jschultz\AppData\Local\Temp\SQL\tmpwsr7o4_log.LDF' was created.
 Msg 15025, Level 16, State 1, Server WINDOWS7-TS\QSRNVIVO10, Line 1
 The server principal 'nvivotools' already exists.
 Attached database nt3504
 Denormalising users
 Denormalising project
 Denormalising node categories
 Denormalising nodes
 Denormalising node attributes
 Denormalising source categories
 Denormalising sources
 Denormalising source attributes
 Denormalising taggings and/or annotations
 WARNING: Unrecognised tagging fragment: 0:-2 for Source: NC Sea Turtle Project
 WARNING: Unrecognised tagging fragment: 0:-2 for Source: Barrier island undeveloped
 Saved database nt3504

Don’t worry about those warnings – they refer to more complex coding from the NVivo project that NVivotools currently ignores. Now open the modified NVivo project file, and you can see the nodes that have been created under the top-level node ‘Noun Phrases’. In the screenshot below, you can see that the node ‘green turtles’ has been opened, and two of the 29 selections containing the words ‘green turtles’ can be seen.


As this simple example demonstrates, NVivotools makes it easy to retrieve your data from NVivo, from where it can be examined and analysed, and if required imported back into NVivo. This gives researchers great scope to integrate NVivo more strongly with existing IT systems at each phase of a research project. As NVivotools is written in Python and has an Open Source (GPLv3) licence, it is and will remain free to use, as well as to examine, fork, modify and contribute to. There is certainly scope for improvement and to build it into a more integrated engine for computer assisted QDA using Open Standards. Nonetheless in its current state, it can be a useful addition to a CAQDAS toolkit.


SoSciSo Info

Literaturhinweise zum Einsatz von QDA-Software

Nur kurz, diese zwei Beiträge sind uns gerade über den Weg gelaufen:

Paulus, T. M. & Bennett, A. M. ‘I have a love–hate relationship with ATLAS. ti’™: integrating qualitative data analysis software into a graduate research methods course International Journal of Research & Method in Education, Taylor & Francis, 2015, 1-17

Johnston, L. Software and method: Reflections on teaching and using QSR NVivo in doctoral research International Journal of Social Research Methodology, Taylor & Francis, 2006, 9, 379-391

SoSciSo Info

Teamwork und QDA-Software

Mit mehreren Forschern zusammen im Team zu arbeiten, kann man ja mittlerweile zu den Standardszenarien in der qualitativen sozialwissenschaftlichen Forschung zählen. Nach kurzem Überlegen fiel uns jedenfalls kein Einzelprojekt oder Bekannte*r ein, die oder der alleine auf seinen Daten sitzt und darüber nachgrübelt. Und selber stehen wir auch gerade vor der Aufgabe, für ein Forschungsprojekt die passende QDA-Software für den Mehrnutzereinsatz zu finden. Wir haben uns dafür intensiver mit Atlas.ti und NVivo beschäftigt. MAXQDA wurde aus praktischen Gründen nicht in Erwägung gezogen, wir wollen die Software trotzdem gern in unsere Überlegungen zur Teamwork hier mit einbeziehen, da es neben den beiden anderen zu den üblichen Verdächtigen zu zählen ist.


Unser Hauptaugenmerk bei der Suche nach einer passenden Software lag vor allem auf der Unterstützung der Teamarbeit. Den Beschreibungen auf den einzelnen Webseiten zufolge, sind alle 3 Programme für die Teamarbeit geeignet. In der Praxis hat sich das allerdings nicht bestätigt und wir waren doch sehr überrascht. Leider kann man in den gängigen Versionen (Atlas.ti 7, MAXQDA 12, NVivo Pro) keine echte Teamarbeit erwarten.


Bei NVivo heißt es z.B. – und zwar hier – dass Teamwork Support in allen Versionen gegeben ist. Allerdings mussten wir dann im Test feststellen, dass man dafür die Serverversion von NVivo braucht, NVivo for Teams. Wir haben gar nicht erst danach gefragt, was das kosten würde. Eine zweite Option ist, das gemeinsame Projekt zu kopieren und danach wieder zusammenzufügen („Merge separate projects in to one project file.“). Das geschieht dann manuell und ein Teammitglied sollte diese Aufgabe übernehmen. Hier kann man nun nicht wirklich von Teamarbeit sprechen. Außerdem ist uns aufgefallen, dass NVivo sämtliches Datenmaterial in einer Projektdatei ablegt. Das führte bei uns dazu, dass nach kurzer Zeit die Projektdatei auf über 150 MB angewachsen ist. Die Nutzung eines gemeinsamen Datenlaufwerks bzw. das Speichern in der Cloud wird damit ebenfalls, wie wir finden, unnötigerweise erschwert bzw. gänzlich unmöglich gemacht. Wir hatten zu dem Zeitpunkt bei weitem noch nicht alle Daten hinzugefügt und eine Datei von 500 MB Größe und mehr möchte man ungern nach jedem Speichern auf das Projektlaufwerk hochladen.


Atlas.ti wieder rühmt sich auf der Webseite mit „Every installation of ATLAS.ti 7 is always fully teamwork enabled.“ Das soll wahrscheinlich ein Verweis auf die NVivo Starter Version sein, in der es nicht möglich ist, Projekte zusammenzufügen. Doch nach einiger Recherche stößt man auch hier wieder auf das Ergebnis, dass Teamarbeit nicht wirklich unterstützt wird. Auf Seite 102 ff des Manuals wird zwar ausführlich erklärt, welche Szenarien der Projektarbeit man unterscheiden kann. Die Lösungen dafür sind allerdings ausschließlich in den Arbeitsprozessen des Nutzers zu finden, von Seiten der Software gibt es relativ wenig Unterstützung. Man kann verschiedene Nutzer anlegen und die Projekte zu einem ganzen zusammenfügen, die parallele Arbeit an einem Projekt ist allerdings auch hier defacto nicht möglich.


MAXQDA haben wir diesbezüglich gar nicht erst getestet, was praktische Gründe hatte. Für diesen Artikel haben wir uns trotzdem angeschaut, was dazu auf den Seiten des Herstellers zu Teamwork zu finden war. Und auch hier steht geschrieben: „MAXQDA is not a multi-user program. Simultaneous use of the same project file at the same time is not possible. Various people cannot make changes to the same file at the same time.“ Somit auch hier, keine wirkliche Teamfunktionalität.

Das Fazit aus unser kleinen Recherche zu Teamarbeit ist etwas ernüchternd. Wir sind tatsächlich davon ausgegangen, dass dies heute zum Standard zu zählen wäre, gemeinsam und vor allem parallel an einem Projekt arbeiten zu können. Die Hersteller bieten zwar alle möglichen Funktionen bezüglich Abfragen, Mixed Methods und Textanalyse an – die in der Praxis wahrscheinlich eh kaum eine*r nutzen wird, die wesentliche Aufgabe der Teamarbeit wurde darüber anscheinend vergessen. Irgendwie unverständlich.

SoSciSo Info

QDA mit NVivo

In der neuen Ausgabe des Online Journals Forum Qualitative Research (FQS) befindet sich ein Artikel über qualitative Datenanalyse, QDA mit NVivo: A Software-Assisted Qualitative Content Analysis of News Articles: Example and Reflections. Zitat aus dem Abstract: „This article offers a step-by-step description of how qualitative data analysis software can be used for a qualitative content analysis of newspaper articles.“ Für alle, die mit NVivo bzw. inhaltsanalytisch arbeiten, sicher sehr zu empfehlen. Und ebenfalls im Abstract zu finden ist der folgende Hinweis, den wir von SoSciSo ebenfalls unterstützen und hin und wieder, gerne auch mantraartig, wiederholen: „[…] while qualitative data analysis software, such as NVivo, will not do the analysis for the researcher, it can make the analytical process more flexible, transparent and ultimately more trustworthy.

SoSciSo Info

The KWALON Experiment

Ist zwar schon ne Weile her mit der Publikation, ich möchte Sie aber jenen nicht vorenthalten, die davon vielleicht  noch nicht gehört haben: The KWALON Experiment: Discussions on Qualitative Data Analysis Software by Developers and Users. Forum Qualitative Social Research. 12 (1). 2011. Es wird der Einsatz der hier verschlagworteten Programme (Atlas.ti, Cassandre, MAXQDA, NVivo, Transana) erklärt, diskutiert und verglichen. Hervorzuheben ist vor allem die Gegenüberstellung der Entwickler- und Nutzerperspektiven.  Und wem der eine oder andere Beitrag seltsam bekannt vorkommt, der hat vielleicht daran gedacht. Die Zeitschrift FQS sei im übrigen jedem ans Herz gelegt, der sich mit qualitativer Forschung beschäftigt.