Release 1.3.1

This release contains a tiny fix to a tiny problem I had failed to solve in the 1.3.0 release but (of course) thought of a solution to the very next morning.

You want to know what it was? Okay, thanks for asking.

When I was drawing counts on contingency chart bubbles, and the bubbles were too small for the texts to fit into, I couldn’t figure out where to draw the texts so that (a) they could be read and (b) they would be associated with the right bubble. Without displacement they looked like this. You knew which bubble the text referred to, but it was sometimes ugly.

So I tried moving the texts outside the bubbles in both X and Y dimensions. But the resulting charts looked crazy, with numbers scattered all over the place, and it was not always easy to tell which text went with which bubble.

So I put out version 1.3.0 with the numbers always in the same place, but sometimes hard to read.

Then, the next morning, I realized that I should displace the texts only in the Y dimension. That way they look consistent but shift downward when they can’t fit inside the bubble.

It looks a lot better now.

 

Release 1.3.0

This release includes many improvements, mainly to to the catalysis process. We would like to thank our supporters for the development commissions that funded this release. (Want to see what’s coming next for NarraFirma? Have a look at our new commissions page.)

New report type

First, there is a new catalysis report type organized by themes, or clusters of observations. In this new type of report, interpretations follow observations instead of the other way around.

Also, you can now save a bundle of images associated with your observations in a ZIP file (in PNG or SVG format).

Also, all reports now use HTML headers (H1 to H6) to start the various sections of the report. These are more likely to be recognized by your word processor as styles. (LibreOffice picks up HTML headers pretty well.)

More flexibility in creating observations

You can now set up multiple observations per pattern. You could already do that using the @header@ sectioning system, but it was awkward and difficult. Now you can do the same thing using buttons in the interface. This also means you can cluster your observations separately even if they connect to the same pattern. You couldn’t do that before.

Please note that we have not included backward compatibility for the old @header@ sectioning system. We decided that leaving in all that messy code (not to mention adapting it to the new report types) was too risky. If you have any reports with observations that use the old @header@ system, please copy and paste your texts into new observations.

Also, it is now possible to include multiple patterns per observation. This is useful when you see the same thing happening across two or more patterns, and you don’t want to write what is essentially the same observation in two places. Now you can include a list of additional patterns (graphs) to display for any observation. This is also useful when you are showing a particularly confusing contingency (bubble) chart, because you can include the bar charts for each axis right there in the observation.

 

New report fields

Observations have a new linking question field, which you can use to connect the observation to its interpretations. This question will help you avoid restating the observation as you write each interpretation.

Interpretations have a new questions field, which you can use to pose questions to the people who are doing the sensemaking. This addition was suggested by a NarraFirma user who pointed out that because catalysis is supposed to generate more questions than answers, it would make sense to have a place to write the questions. (I should have thought of that a long time ago.)

 

This example shows, respectively, the interpretation name, text, questions, and idea.

New report options

Many more things about the catalysis report can be controlled by the NarraFirma user, including:

  • Which observation strengths to include (in any of the four types of report)
  • The order of report sections (which can now be set during clustering)
  • Whether to print each perspective/theme/observation/interpretation (that is, you can temporarily hide report elements)
  • Whether to show sequence numbers (1, 1.2, 1.2.3) for all report elements
  • More labels (for interpretation questions and ideas)
  • How big graphs and graph fonts should be
  • Whether to show or hide non-response (“No answer”) counts (overall and per pattern)
  • Your own replacements for all graph and statistical texts (making it possible, for example, to remove all English words from reports)

Graphing improvements

A few tweaks to the graphs make them look better. Contingency charts now show observed (and sometimes expected) counts per bubble and per row/column. This is useful in printed reports where you can’t hover over anything to see a number.

Also, the Y axis labels on contingency chart have been flipped — now they read from top to bottom, which makes more sense. And the “No answer” count is last, not first.

You can now suppress showing “No answer” counts, and you can set this option for the entire report and per pattern (for example, note the lack of “No answer” counts in the table above).

The little histograms on contingency-histogram charts are now all the same width, so they are easier to compare. The heights of the boxes show the number of stories, but the widths are all the same.

Interface improvements

A variety of interface improvements have been made. For example:

You can save any graph you are looking at to a file.

Clustering has gotten easier, with multi-select click and drag, plus more information on what you are clustering.

Multi-user collisions (between users editing the same text box) are now handled more gracefully.

You no longer have to wait while the “Explore patterns” page calculates statistics; now that is done in the background.

Options that pertain only to printing the catalysis report have been moved to the “Print catalysis report” page. Interface texts and interactions throughout the catalysis section have been improved.

You could always write simple HTML in catalysis report fields, but now you can also use simple markup for **bold** and __italic__ text. (I added this for my own convenience, but you might like it too.)

And of course several bugs have been fixed. Most importantly, PNG graphs now draw correctly in catalysis reports, and custom CSS is now working correctly for graphs as well as texts.

Release 1.2.6

This release fixes a major bug which we only noticed the other day, but which apparently had been in NarraFirma from the beginning. Deep in the code, an accessor returned the value of a field. While checking to see if the stored value existed, the code mistakenly returned a blank string if the value happened to be exactly zero. This error has now been fixed, but this means that on every histogram drawn (and every statistical test run) before version 1.2.6 of NarraFirma, all scale values that were exactly zero were ignored.

We were very upset to discover this mistake, and we heartily apologize for never having noticed it before.

Most graphs will not have been affected much by this error, since it is rare to collect huge numbers of zero scale values. However, please be aware that it is possible, if you load an older project into version 1.2.6+ of NarraFirma, that a histogram (and its statistical test results) could change.

 

 

Release 1.2.5

This minor release adds a few more little things related to having more fun doing narrative catalysis. Most importantly, you can now hide the various panels of statistical information on the Explore patterns page, opting instead to see the same information in a popup window. (Apparently not everyone loves to wallow in statistical results.)

 

 

Release 1.2.4

This release contains several quality-of-life improvements for the process of narrative catalysis.

The biggest change is the ability to “switch out” the story collection under a catalysis report by exporting your report elements to CSV, then importing them to a new (empty) catalysis report on a different story collection. This will be useful when you’re partway into writing observations and realize you should have lumped the answers for a question differently (or some other fix to the data). As long as the question short names are the same in both story collections, your observations, interpretations, and perspectives will transfer to the new report.

Several other little improvements and fixes should make catalysis easier, such as:

  • a running observation count
  • a way to randomly sample stories from a graph selection
  • better sorting options in the patterns table
  • an index number for each story (so they are easier to link up between the catalysis report and the story cards)

And so on.

 

Release 1.1.0

Version 1.1.0 of NarraFirma adds two new ways to get your data out of NarraFirma.

First, in the survey, participants can see and copy a summary of their submitted stories (and you can control whether people see this or not).

Second, in the application, you can print an HTML project report that summarizes everything you typed into NarraFirma (for use in other software).

If you have an existing NarraFirma installation and need help upgrading it to the new version, check our installation page for instructions.

Releases 1.0.1 and 1.0.2

Release 1.0.1  is a minor version with a small bug fix (the navigation bar had been accidentally made to scroll with the page). The release also updates the banner and screen shots in the WordPress plugin directory.

Release 1.0.2 adds eleven more customizable texts to the story form. It should now be possible to present a survey with participants seeing no English text at all. That was my goal before, but I missed some texts on buttons and error messages. Thank you to the user who pointed out the still-only-English texts!

In 1.0.2 I also added a “Notes” field to each question, for times when you want to remember why you chose a particular question or why you worded it in a that way. (Because I wanted to do that and couldn’t.)

If you have an existing NarraFirma installation and need help upgrading it to the new version, check our installation page for instructions.

Release 1.0.0

I (Cynthia Kurtz) am pleased to announce version 1.0.0 of NarraFirma. The software now looks better and works better. I have been working on it for about four months, adding functionality, fixing bugs, and tweaking lots of little things.

These are the main changes in NarraFirma 1.0.0 (in the order in which I happened to think of them).

Data integrity. The “Explore Patterns” page in the Catalysis section now includes several “data integrity” graphs, which show overall trends across questions. These include:

  • Values for all scale questions together in one graph (to look for systematic biases such as all answers converging to the left or middle or right)
  • Means and standard deviations of scale values per participant (to look for patterns such as small ranges within participants, which might mean people were not paying much attention)
  • Counts of unanswered choice and scale questions (to look for questions people avoided or didn’t understand)

Data integrity graph

These new graphs are listed on the “Explore Patterns” page, so you can write observations about them and include them in your catalysis report. (Also note that bar graphs and histograms now have number labels above each bar.)

Qualitative observations. The answers to free-text questions are now included in the “Explore Patterns” page. You can look at all the answers in one place (sorted alphabetically, with duplicates marked), and you can write observations and interpretations based on them.

You do have to copy and paste texts into your observations. This may seem like a cop-out, but I did it on purpose. I played with different options for creating observations based on text answers, such as clicking on check boxes, reviewing texts in tables, and so on. In the end I decided that simple copy and paste gives users the most flexibility. You might want to include only part of what somebody wrote, or you might want to embed what somebody wrote in your own explanatory text about it. This option shows you what people wrote and gives you the ability to review it and use what you need from it. That’s all you need.

narrafirma text question

Multiple scatterplots. The “Explore Patterns” page now includes scale+scale+choice question combinations. This was something we had on the list to do in the earlier version but ran out of time for.

narrafirma multiple scatter plots

A few other things to note with respect to these graphs:

  • Scatterplots can now (optionally) show correlation lines.
  • Statistical displays have been made both smaller and more informative. For example, all graphs now show the count of stories on which the question was not answered.
  • Because this scale+scale+choice addition means there could now be hundreds of scatterplots generated, I added a progress bar (with cancel button) when more than 200 statistical results are being generated for the patterns table. This prevents people having to look at a blank screen while the page calculates its content.

Custom CSS. You can now style the HTML content of your survey (on-line and printed), story cards, and catalysis report. Nearly every element of these generated pages has a class whose style you can change.

narrafirma custom css

NarraFirma’s survey system is still far less sophisticated than that of most surveying packages (there is still no built-in “other” field for choice questions, and no question piping), but at least now you can make your survey page look a lot better. Also note that in the survey itself, users can now see the numerical value of each slider as they drag the button (though if you don’t like this you can use CSS to hide the new number value). They can also click on the number to change it in a popup dialog. I also made the survey image field function (it was an oversight that this field never worked).

More catalysis options. There are now more options for drawing graphs and for building a catalysis report, including:

  • choosing which graph types to see at any time (a big plus for times when thousands of graphs can be generated)
  • setting dot size, opacity, and correlation lines on scatter plots; numbers of bins on histograms (these choices are especially useful if you imported your data from elsewhere)
  • showing interpretations in the patterns list (for times when you wrote an interpretation but can’t remember what observation it was attached to)
  • more user-supplied sections in the catalysis report: introduction, “about this report”, table-of-contents headers, labels for report parts, conclusion, custom CSS
  • better support for HTML in texts for observations, interpretations, perspectives, and ideas (and ideas now print in the report)
  • the default catalysis report (without writing any custom CSS) now looks a lot better (I think)

narrafirma configure catalysis options

narrafirma catalysis report

Please note: If you have a catalysis report created with a version of NarraFirma prior to version 1.0.0, and it contains interpretations with ideas in them, the ideas will not print with your catalysis report in NF >= 1.0.0 until you go to the “Cluster interpretations” page and click “Start or update clustering diagram.” (This is the only backward incompatibility issue in this version release. Few people should be affected by it, and it’s easily fixed.)

Improved colors. NarraFirma’s color scheme has been improved and simplified. (I don’t know about you, but I gradually lost my patience with the color of green I thought was energetic two years ago. These new colors are more subdued, possibly more professional, and at very least less irritating.) I also replaced the home page “PNI diagram” image map with something that I think is easier to understand. I removed the most annoying parts of the visual look of NarraFirma (at least to me) – the diagram triangle, the blue gradients, the rounded rectangles. I think the software looks more confident and “grown up” now. (Hopefully you do too.) Also notice the new “Choose another project” link, which means you can switch projects without logging out.

narrafirma new home page

More testing. I spent several weeks on additional testing, in two ways. First, I created some new fake projects and ran through them, looking for problems to pop up (and they did, and I fixed them). Second, I converted and imported data from several old projects. In these I compared NarraFirma’s graphs and statistics to those generated using other software (and fixed more little bugs). Here is an example of a large (pre-NarraFirma) data set I imported for stress testing.

narrafirma with a large data set

Note that I also tested several data sets created or imported within the past two years, and I can report that your updated copy of NarraFirma should not have any problems reading data you created in it (or imported into it) within the past two years. I did add some new fields, but they are optional and have defaults. No existing data formats have been changed. (The one exception, ideas on clustered interpretations, is explained above.)

Better importing. While importing old data sets I gave the data import function a good workout. As a result I added more import options, better error checking and reporting, and a much better explanation of how the import system works. Shown here are an example error report, a CSV story form with new “form” options, and (the start of) one of the import help pages.

narrafirma import error message

narrafirma import file with new options

Auto-created story forms. One of the irritating things about building a story form in NarraFirma was that you had to write your questions, then place them one by one into a story form. I’d had about enough of that, so I added a button that generates a new form based on the questions you’ve written.

narrafirma auto fill story form

Better story cards. You can now choose which questions to include on your story cards. You can also customize how ranges are drawn and control all aspects of the cards with custom CSS. In this example I used color and spacing to create cards on which differences will stand out from further away. This can be helpful during a sensemaking session.

narrafirma story cards

Observation strengths. You can now set a strength value on each observation as you write it and use these to sort your observations. This will be a big help during the stage of catalysis when you stop looking at every pattern and start whittling down your observations to what you have time to explore in detail.

narrafirma observation strengths

Number of stories told. There is now an auto-generated field in each story collection that counts how many stories each participant told.

  • In a NarraFirma web survey (or data entry form), this depends on people clicking the “Yes, I’d like to tell another story” button (so the count is how many stories people told per session, not necessarily per individual).
  • In an imported file, the column titled “Participant ID” determines how stories are grouped by participant.

In either case, the story count per person is handled as though it was a question, and NarraFirma generates graphs showing it in relation to other questions. If everyone told one story, you can ignore this generated question. However, in cases where people had the option of telling any number of stories, you can sometimes see useful patterns in how voluble people wanted to be.

narrafirma num stories told

I considered doing the same thing with story length, but decided not to, for two reasons. First, I’ve looked at story length on several projects and have never found any useful patterns in it. Whether somebody talks or writes for longer doesn’t seem to mean much. Second, it’s impossible to set categories for story length when all the stories haven’t yet been collected, and I didn’t want to introduce a graph whose meaning kept changing. Besides, if anyone really wants to look at story length, they can use the annotation system to add such a question and fill in the values by hand.

Side note: I found a bug in the chi-squared statistical test which was leading to too few test results being shown (and too many “count below threshold” messages showing instead). You will see more p-values in your “table” graphs now.

Better admin page. I cleaned up the way-too-nerdy page for creating projects and users in the node.js version. (The WordPress version admin page is unchanged.)

narrafirma node.js admin page

Observation sections. A user asked about adding the ability to write more than one observation per graph. I didn’t want to clutter up the most complicated page in the application even more, so instead I added a function that is hidden from view. If you segment an observation using tags such as @first@ and @second@, you can then refer to those sections in your interpretations. In your report, the observation under each interpretation will show only the section of the observation you referred to.

narrafirma observation sections

narrafirma observation sections printed

I also fixed a bug where changes to interpretations made after the clustering diagram was created did not appear in the printed catalysis report.

Fully configurable survey fields. You can now enter your own texts for every part of your story form. There are no longer any hard-coded texts, like “Please enter your story here.”

narrafirma configurable fields

That’s it. There were also many little bug fixes and tweaks to how things look. We hope this new version will be even more useful than the last. Please send feedback and ideas.

Last thing: If you have an existing NarraFirma installation and need help upgrading it to the new version, check our installation page for instructions.

Release 0.9.8

This is a “prettifying” release. The lists of pages on project phase pages (like Planning, Collection, etc) are now separated into groups with headings. This should help to avoid the “there are so many pages here” problem in Planning and Collection. Also, all of those page links now have popup hints (hover over the page link) so people can remember what the pages are about.

Also, exports of the story form, story cards, and catalysis report have been cleaned up and made nicer looking.

Release 0.9.7

This release contains three major changes.

  1. Most importantly, the release has a fix for a bug that caused data entered (in a survey or during data entry) to be garbled for questions with multiple checkboxes. Instead of saving an array, NarraFirma attempted to save a text string. That meant that data for those questions was lost. Sorry :( This did not impact data imported from CSV.
  2. The release adds functionality to support a “Does not apply” non-answer for sliders (scales). Now there is a check box under the slider, which starts out checked. When the user grabs the slider button and drags it, the box gets unchecked. To remove their slider value, they can check the box again. What it says on the box can be configured by adding a third line to the slider options. Some reasonable choices are “I don’t know” and “Not sure” and “It’s not important to this story”.
  3. There are also some improvements to usability and appearance in the “Review incoming stories” and “Explore patterns” screens.