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.2.3 (Critical release – please update)

This critical release fixes a bug we accidentally introduced in version 1.2.0. Starting with that version, if you exported a “project snapshot with stories,” no stories were actually being written out. This happened due to inadequate testing of our new “housecleaning” purge of unconnected stories. (Of course we thought our testing was adequate, but it wasn’t.) We apologize for the error. Since it has only been six days since the release of version 1.2.0, we hope nobody was adversely affected. Please do update your copy of NarraFirma right away, though.

This release also improves NarraFirma’s handling of catalysis in projects where the number of questions is very large (over 100). The “Configure catalysis report” page now tells you how many patterns you will be generating and warns you if the number is very large.

We also found a bug in the code that displays Mann-Whitney U test results. It caused extra test results to be reported in cases where the selected choice question was left blank. It did not affect the accuracy of the test results.

Releases 1.2.1 and 1.2.2

Release 1.2.1:

This was a “thought of it the next day” release, with something I forgot to add until the day after I posted the previous version. This release adds the option to graph multi-choice questions against themselves, so you can explore patterns of coincidence. For example, if you asked people to choose from a list of emotions a story evoked in them, you can look at differences between times when somebody checked BOTH “happy” and “inspired,” and when they just checked one of those things.

While I was testing this, I noticed that some graphs had titles and some didn’t. So I made every graph have a title (and then I messed around with the title styling for a while). While testing this, I noticed that the “observations only” catalysis report did not include observations that had no strength value set. So I fixed that. Now if you choose “observations (all)” it includes observations that have no strength value set.

Release 1.2.2:

This minor update is a “why didn’t I think of that before” update. It copies the button for running a pre-import data check, plus the two buttons for exporting a story form, right to the panel where you are editing the story form. So now you can do those things without creating a story collection, which means that you can mess around with your story form and run the pre-import check while it’s still “live” and able to be changed. It’s a little more confusing with two copies of the buttons (I left the old ones there in case you want to use the “snapshot” of the story form saved with the story collection), but the utility is worth it.

This release also fixes three small bugs for errors that could come up when you are importing data (meaning, they came up when I was importing data).

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

Release 1.2.0

Hooray! NarraFirma has leveled up again, to version 1.2.0. This new version was funded (in part) by several paid commissions, to add things people needed in their projects. Our thanks to everyone who contributed. NarraFirma is getting better for everybody!

Here are instructions for installing or upgrading NarraFirma.

The changes in NarraFirma 1.2.0 are in four areas: better catalysis reports and story cards; better support for importing data collected in other surveying systems; better housekeeping options; and usability improvements.

A. Better catalysis reports and story cards

A1. Better navigation links.  Catalysis reports now have tables of links for each perspective that show all the interpretations and observations, sorted by observation strength. Previously, only the interpretations were listed.

A2. Observations-only catalysis report. You can now save an catalysis report with only observations in it, for use in a catalysis session (where a group of people write and cluster interpretations). You can select all of the observations or just a subset based on strength.

A3. Filtered catalysis reports. You can filter the stories used in a catalysis report or in story cards based on answers to any choice or scale question. You can use this function to create multiple catalysis reports based on subsets of the same story collection, for different locations or participant groups, for example.

In this example, only stories for which the question “Feel about” was answered “satisfied” or “supported” will be included.

A4. Better graphs. You can now save catalysis report graphs in SVG format. This means:

  • The graphs look a lot better, with crisper lines.
  • Because SVG is a vector graphics format, the graphs will scale up when you print your report or look at it on a higher-resolution screen.
  • The report generates a lot faster.
  • You can change many detailed aspects of how graphs are drawn (colors, lines, fonts) using CSS classes.
  • When  you save reports to HTML, the graphs are saved in the file.
  • You can edit the CSS styling in the HTML file and its accompanying CSS file. This means you can style your catalysis report outside NarraFirma. It also means that you can save your “house style” in a separate document you paste in, or just reference.
  • Even though you can’t save a SVG graph to an image file from your browser (like you could with the old PNG format), the images look so much better, and your screenshots are likely to be of so much higher resolution, that this is not much of a loss.
  • Just in case, I left the PNG option in for anybody who wants it back (but it’s not the default).

Here’s an example of the same portion of the same graph using

PNG:         SVG:

In the SVG version, note the increased sharpness, and the ability to change the graph colors.

A5. Copy selected story texts. There is a new button on the Explore patterns page. It opens a window with just the texts of the selected stories in a graph, so you can copy and paste them elsewhere.

A6. Question and answer CSS classes. In story cards, individual question names, and their answers, now have their own classes. So you can style them separately, for example to make particular questions or answers “jump out” when people are looking over story cards.

This is an ugly example, but I was trying to show you how you can change the appearance of everything now, even the commas between choices and the little bars on the slider.

A7. Hide graphs with little data. In multi-graph displays such as scale-by-choice histograms or scale-by-scale-by-choice scatterplots, you can now hide graphs with small numbers of stories in them. This setting is used in the Explore patterns page and the catalysis report.

Here’s an example of a multi-histogram display before, with every graph included:

And here are graphs for the same question with the minimum story limit set to 20:

A8. Story length question. NarraFirma now generates a question showing story length (in characters). I wanted to do this a long time ago, but I wasn’t sure how to handle the upper limits, because story length can vary so widely. But I finally added the question. It acts just like a question you asked, and you can see patterns in how it combines with other things.

On the “Spot-check graphs” page, there is a hard-coded maximum of 5000 characters counted (before the rest pile up in the last bin). In the catalysis report, you can choose your own maximum based on the story lengths you have. In this example, the last bin (2700 to 3000 characters) also includes stories with more than 3000 characters.

A9. Choice x choice x scale graphs. This new graph type was suggested by a NarraFirma user, and I have to say I was amazed to realize that I had never even thought of building such a graph before. I’m calling it a “contingency-histogram table,” and it looks like this.

The size of the boxes shows the (relative) number of stories, and the boxes are overlaid (in the horizontal dimension only) with the mean (the blue line) and the standard deviation (the aqua box) of the scale-question distribution. You can compare the distributions of subsets (e.g., sad stories about trust versus happy stories about traffic) by looking at how the different means are displaced this way or that. You can also hover your mouse over each distribution to see its mean, standard deviation, skewness, and kurtosis.

And there are statistical results: the Mann-Whitney U test for differences between means (the same one you see when you do a choice x scale comparison).

In this example, when somebody said a story was both common and recent, they were more likely to say the story showed “traditional” thinking than when they said the story was rarer and further in the past. This may or may not mean anything, of course – beware of equating statistical significance with actual importance! – but it could be a pattern that worth exploring (by comparing subsets of stories).

The only bad thing about this new type of graph is that you can now generate a really huge number of graphs if you select all of the available graph types at once. Depending on how many stories and questions you have, you could end up with a pretty long wait on the Explore patterns page. However, if you turn on the different graph types one at a time, you should be fine.

B. Better support for importing data collected in other surveying systems

B1. Describe your data in NarraFirma. You no longer have to write a CSV file to import CSV data into NarraFirma. You can now specify import options in NarraFirma itself. You can still write a CSV format specification file, but it is no longer the only option.

B2. More CSV data types. The import system in NarraFirma has been expanded to accommodate a wider variety of CSV data formats, including:

  • Multiple choice delimited questions, where one column has all of the answers to a multi-choice question (e.g., “apples, bananas, pears”)
  • Single and multiple choice indexed questions, where answers are indexes to answers in a list (e.g., instead of “apples”, it says just “1”)
  • Multiple choice yes/no questions, where the answer is in the header and in the cells it just says “yes” or “no”  or “1” or “0” or something (e.g., instead of “apples” it says “yes” in the “apples” column)

B3. More import options. In most cases, you will no longer need to edit the CSV file you saved from the surveying system you like best. For example:

  • You can specify a story length below which stories will be ignored during import. This helps to weed out test stories and misfires.
  • You can specify a text string to remove from your column headers that makes it harder to read them, like weird things your survey system puts in that you would otherwise have to delete by hand.
  • You can specify column headers for the story text, story title, eliciting question, and participant ID, all of which were all hard-coded before.
  • You can specify text questions whose answers will be appended to the story proper as it is being read in (they are not treated as proper questions at all). This is useful if you want to add “can you tell us more about” questions later on in the story form.
  • You can enter a list of column names you want NarraFirma to ignore as it reads your data.
  • You can set custom ranges for individual scale questions.

B4. Pre-import data check. You can now run a verbose pre-import check of your CSV file that will tell you exactly what NarraFirma read correctly and incorrectly, before you import any stories. This will be a boon to people who have been importing stories over and over to get their import formats and settings right. The log appears in your browser console, and it tells you in which row and column errors are detected, so you can fix import problems more easily.

B5. Data consolidation. You can use the import function to consolidate data, that is, to merge similar answers. This is useful in situations where your numbers are too small, but if you added them up you might see some patterns. To consolidate answers, just use the same names for both answers during import, and NarraFirma will count the answers together.

In this example, putting “respect and trust” in the list twice, once for “respect” and once for “trust,” will combine the answers into one larger category. Note that this does change your data during import, and you can’t take such consolidated answers apart again. But in many cases this option will help you convert weak patterns into stronger ones. (If you entered your data in NarraFirma, you can export it and import it again to consolidate it.)

B6. More explanation than you could possibly want. I have written an 18-page “Guide to importing data,” which goes into exhaustive detail, with examples, on the import process.

C. Better housekeeping options

C1. Project reset. You can now empty out a project completely. Why would you want to do this? Because now, when you export a project to a JSON backup file, NarraFirma strips out any stories that were left disconnected (but not deleted) when their story collection was deleted. So if you have been importing the same CSV data file over and over (which you should no longer have to do, but still), you can export the project, reset it, and re-import it, and that will clear out any intermediate stories that didn’t load perfectly.

Note that only project administrators can use the reset facility. Importing projects has been restricted to the administrator role as well.

You can also get a list of all the story collections you deleted, so you can get your stories back again if you deleted them accidentally. (We really don’t like the idea of you losing your stories.)

C2. Project archiving. In the node.js version of NarraFirma, you can now archive a project. This actually just renames the project folder with a dot in front of it, which causes NarraFirma to ignore it, and you could have done that by hand before; but it’s easier now.

D. Usability improvements

D1. Quick links. The NarraFirma home page now has a list of quick links to things you created in the project: questions, forms, reports.

D2. Site admin link. In the node.js version, site administrators finally have a Site administration link right on the Home page.

D3. Nicer admin pages. The design and organization of the site administration pages have been improved in both the node.js and WordPress versions. Here’s the new node.js page:

And in WordPress:


D4. Better descriptions of graph types. I’ve improved the way graph types are listed, so it’s easier to see how graphs are derived from questions, and why you’d want to see each type of graph.

Limits and bugs

I stress tested the software with an imported file of 13,000 stories (actually a 1600-story file copied and pasted seven more times). I wasn’t sure what would happen, but NarraFirma worked perfectly, although very slowly (a few page loads were more than a minute; most responses to button presses were 1-2 seconds). If you are working with large numbers of stories, you might have to increase the memory available to NarraFirma (in node.js, increase the Javascript heap limit; in WordPress, increase the PHP memory limit). Also, I would suggest making subset projects if you collect more than 10,000 stories, just to keep within the limits of your own patience. But in terms of the software handling large numbers of stories, it works.

I found and fixed a number of small bugs as I worked. There are probably only two bugs that anybody noticed:

  1. In WordPress, if you created a new project with a name longer than about 20 characters, you probably got a 500 server error. That’s fixed (in that you can’t create a new project with a name longer than 20 characters anymore). I never noticed the bug before because all of my test projects were called “Test” or some other short thing.
  2. If you had a boolean type question, NarraFirma was graphing its answers wrong: a “no” answer was being graphed as if it was a “no answer” answer. I’m not sure if anybody was using that type of question, but now it’s fixed.

All the other bugs I found were not very important, just spurious error messages or little things that looked less than beautiful.

If you find a bug in the new version of NarraFirma, please send me an email or create a new issue on the GitHub issues page.

Looking forward

The next time I take the plunge into NarraFirma development, these are some of the things I am interested in working on.

  • Internationalization. We started out intending to make NarraFirma easily translatable, but it got triaged out. I estimate it would take about a month or two to make this work now.
  • Better surveys. It seems that most NarraFirma users are collecting their data using other systems, mainly because of concerns about accessibility, off-line use, non-text data, and some of the other things the big surveying systems do really well. I think it would take at least three months to bring NarraFirma up to the “big systems” standards in data collection. Still, this might be something worth pursuing eventually, since our original idea was to remove the need to ship data around between systems. (For simple projects it’s still fine. It’s just for the bigger projects, or those for more particular clients or more difficult conditions, that NarraFirma’s surveying capability falls short.)
  • Effortless import. Another option is to have NarraFirma read survey specification files directly, so you don’t have to enter anything at all to read your data. I’m a little wary of adding this feature, because (a) there are so many surveying systems, and (b) any time a surveying system changed its export format, I would need to quickly update NarraFirma to catch up. But there’s no doubt that doing this would speed up the import process a lot. I can’t say how long it would take to deal with each type of specification file, but two weeks per system is a safe bet (plus more time in the future when formats change).
  • Refactoring. When you’re writing software, you always make some assumptions during early development that you wish you could revisit later. There are several things we assumed early on about NarraFirma use that are turning out different than we expected. For example, it never occurred to me at the start that people would want to write more than one observation per graph, so I had to bolt on an awkward multi-part system to accommodate the need. Another thing I didn’t see coming is that, while the advice in NarraFirma (project planning, suggestions, etc) is valuable to PNI newcomers, experienced PNI practitioners would rather hide it away. So I’d like to add a configuration screen where you can decide how you want to use NarraFirma. It would make certain things appear or disappear, like longer versus shorter questions, tips, opportunities for reflection, import options, and so on. And I’d like to revamp the way NarraFirma talks to you, to make nicer-looking alert messages, for example. These kinds of changes to assumptions buried in the source code require refactoring – that is, going through the code and making widespread changes to the way things work. Refactoring has to be done very carefully so as not to disturb backward compatibility with older data files, so it’s not a thing I would attempt if I didn’t have a nice long time to double-check and test my changes.
  • Better testing. It’s always a bad idea to have developers be testers. Serious, robust software development always includes non-developer testers. But on our shoestring budget I’ve been both developer and tester since NarraFirma started. If I had more funding, I would hire someone to test the software as I worked on it. I’m sure that would improve its quality and stability. I would also take the time to add unit tests – another thing we left out due to lack of time – throughout the code. That would reduce the possibility of “gotcha” errors I didn’t see coming. I do the best I can, but for true quality you need more and better testing.
  • Optimization. NarraFirma is pretty fast if you have a small number of stories and and questions. But if you want to do huge projects, it starts to bog down. It would be nice to work on speeding things up. I’m not sure how long it would take to do this or how much faster I could make NarraFirma work, but I’d like to try.
  • Better stability. If you look at the NarraFirma code on GitHub, you’ll see many “TO DO” comments about things we would rather have done a little better as we built it. Most of them are lower-level things having to do with data storage, message processing, web traffic, and so on. My husband wrote the bottom half of NarraFirma, and he’s a much better system-level programmer than I am. Every time I work on NarraFirma I understand it a little better, but I can’t do most of these improvements. So this item doesn’t depend on my availability but on my husband’s, and he’s pretty busy right now doing other work. We’d need a really big commission for him to work on NarraFirma again. The software is stable, but it could be even better. That’s something we’d love to revisit someday.

If there is anything you would like to see in NarraFirma’s future, please let me know. I charge half my normal consulting rate for software commissions (though I do usually let commissions bunch up until I get enough to plunge into the software for a month or two, because it takes a while to get my bearings). I very much want to keep NarraFirma alive, relevant, and useful. Again, my thanks to everyone who helped out with the new version.

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.

New video

We have a new video showing people what NarraFirma is like to use. It’s me (Cynthia) taking you through some screenshots and talking about why you’d want to do each thing the software supports. Enjoy :)

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.