NarraFirma commissions

About commissions

A development commission (also called a bounty) is a way in which NarraFirma users can help us maintain and improve NarraFirma. Commissions usually have narrow, fixed scopes centered around fixing bugs, making changes, or adding useful features. If you are interested in contributing to NarraFirma development in a particular area, talk to us. Please remember, however, that we wrote NarraFirma for everyone. We will decide whether (and when and how) to take on commissions based on our availability and our evaluation of the resulting benefit to all NarraFirma users.

Past commissions

We would like to thank our commission funders for helping us bring these elements of NarraFirma functionality to all of its users:

  • Improved options for importing data collected elsewhere
  • Improved support for the catalysis process
  • Better looking graphs and catalysis reports
  • Better administrative tools
  • Many interface and usability improvements

Future commission possibilities

These are some wish-list items we think NarraFirma users might like to see in the software, plus some rough estimates of how long we think it might take to make them happen. "Small effort" means somewhere around 50 hours; "medium" means about 100 hours; "large" means 200+ hours.

Internationalization. Medium effort. We started NarraFirma expecting it to be fully translatable, but that idea fell by the wayside as we struggled to get the essentials finished in the time we had. We could make the software translation-ready, but it would take some time.

Support for online sensemaking. Medium effort. We would like NarraFirma to support group sensemaking workshops, so you could have distant people calling in and doing a Zoom-style collaborative sensemaking session.

Rakontu integration. Medium to large effort. We would love to incorporate the essential functionality of Rakontu into NarraFirma, so people could create groups that share stories over time, then periodically make sense of those stories together.

Live data import. Medium to large effort, depending on which platform you want to connect to. We have heard that it may be possible to link NarraFirma directly to one or more survey systems (LimeSurvey, for example) using a JavaScript-accessible API. If we could make this work, it would mean that you could create and run a survey, then import the data to NarraFirma without dealing with any intermediate files.

Survey improvements. Medium to large effort. We would like to improve NarraFirma’s surveying capabilities. This would require implementing things people take for granted in the big survey systems, such as:

  • the ability to invite people by email and monitor who has responded
  • persistent survey sessions (that a person can come back to)
  • full accessibility support (such that a standards board would accept it)
  • more survey complexity (question piping, more question types, drag-and-drop, etc)
  • the ability to work fully off-line and batch send surveys when a connection is found

RTF reports. Small to medium effort. NarraFirma writes its reports to HTML. It could write reports to RTF format so word processors could read them directly. We have experimented with this a bit, but we have not implemented it because RTF support is so varied and inconsistent across word processors. Still, if we spent more time on it, we could probably get it to work.

Optimization. Small to medium effort. We have not had time to try (more than a little) to optimize the speed of NarraFirma’s operations. If we could set aside some time to work specifically on this, we could probably speed up response time and capacity significantly. The software could handle more stories, more questions, and more graphs, in less time.

Better testing. Medium effort. At this point we do all of our testing of NarraFirma by hand, both as we make each change and before each release. We would like to add two types of automated testing. First, we would like to place unit tests throughout the code (we did not have time to do this before, and we still have not found the time to do it). Second, we would like to set up an automated testing suite such as Cypress so we can run regression tests on a regular basis and find bugs more quickly. Both of these things will take time.

Desktop version. Large effort. Javascript is fine, but working in a browser environment does create some limitations. We could create a desktop version of NarraFirma that would still talk to a network client but offer more local capability. It could handle more data more quickly, and we could do more interesting things in the interface (probably with Java) than we can do with Javascript.

Better multi-user support. Small to medium effort. We have thought about improving the multi-user experience in NarraFirma, most specifically by adding a running chat channel.

Undo support. Small to medium effort. Because NarraFirma uses a journaling data store, it could theoretically support an undo system, where you could reverse your changes all the way back to the creation of a project. We have not implemented this, however, due to the fact that it would take a while to implement the actual rolling back of actions.

Interface overhaul. Small effort. We are limited in what we can do to improve the NarraFirma interface in Javascript, but we could improve the experience by adding more real-time interactivity to the software (more drag and drop, for example).

Design overhaul. Small effort. It might be nice to bring in some outside advice on making NarraFirma look nicer in its interface and reports.

Code cleanup. Small effort. You wouldn’t notice this in the software, but we would like to find the time to do a code cleanup and refactoring, to make the code more robust. As one example, we used a lot of “var” declarations early on, and apparently now that is frowned upon, and we would like to go through the code cleaning up that sort of thing.

If you think of something you would like to see included in (or improved in) NarraFirma, let us know. If you know of any grant opportunities we should pursue, we would love to hear about it.