Provide Robust, Flexible, Documented, and Sustainable Software
Once an online strategy is defined, the right tool will make or break that strategy. At the same time, a groundbreaking tool can often drive the strategy in ways previously unimagined by organizers. Appropriate, reliable, accessible tools rest at the heart of what’s possible.
Conclusions
- Organizers do not request any sort of universal “killer app” or mention one runaway toolset. And no two organizations express exactly the same need. We are witnessing a sector that is far too nimble and specialized for a “one-size fits all” solution, or for a “one-stop shop.” Social change organizers needs are too varied to render any single tool suite a viable sector-wide solution. As one organizer put it, “We have no way of combining all of our needs into one package. [We need] customizable integration — at an affordable price!”
- In the nonprofit technology sector, in particular, software applications intended to be everything to everyone often fail. They either don’t work well, rely too heavily on highly specialized technical support, cost too much to maintain, or cannot implement feature enhancements in a timely manner because their technical infrastructure doesn’t allow this easily. New trends in commercial software development are moving away from tightly integrated, monolithic applications toward a model of interconnected applications, which share a unified interface. A great example of this is Salesforce.com’s AppExchange, in which additional applications can be added, a la carte, to Salesforce’s core platform offerings (depending on each organization’s unique business/program needs). This might also be a viable direction for nonprofit technology developers to consider.
- “Ecosystems” of software and software modules that share data and build on each other’s strengths, rather than stand-alone applications that seek to be all things to all organizations, are most likely to succeed. This enables organizations to invest incrementally in software, as their budgets and technology capacity allow, without creating the data silos and vendor lock-in that inhibit future growth and innovation.
- Program and operational staff need more opportunities to articulate what they need from Web applications, and to influence how these tools aid their daily workflow. This increases the tool’s effectiveness, and also forefronts cultural and political conditions that can be overlooked by software developers, such as multilingual access, or assuring that sensitive membership data is protected from surveillance under the U.S. Patriot Act. Giving a stronger voice to staff reverses the familiar trend of well-intentioned coders driving software creation that staff must shoehorn into their day-to-day activities. This recommendation is not intended to inhibit the creativity of progressive software developers, but rather to encourage stronger feedback loops between those using the software and those building it.
Recommendations
- dotOrganize plans to facilitate a Tools Lab, which encourages interoperability between software applications relevant to the social change sector. This project aims to augment the functionality of current tools by integrating them with other compatible tools. This kind of integration decreases redundancy and promotes more flexible ecosystems of applications and services. An example of this concept in action is the promising integration of Salesforce.com (a powerful Constituent Relationship Management tool offering free licenses to nonprofits) with the open source content management system Plone. ONE/Northwest, which supports Pacific Northwest environmental organizations, currently leads this development effort. With Plone, users can create interactive websites to engage their communities. However, they need Salesforce.com to effectively track, manage, and develop the relationships built through those Websites. The communication and tracking power provided by integrating these two applications is unprecedented in the nonprofit social change sector.
- Design a strategy for increasing data standardization amongst diverse nonprofit technology service providers. In order for two applications to “talk” to one another, as we’re proposing in the section, we need to develop accepted standards for synchronizing, migrating, or updating data between applications. To facilitate seamless integration between two different applications, data fields need to be standardized. Otherwise, each integration is unique and requires custom coding and maintenance.Data standardization is notoriously difficult in all areas of software development. However, it is also essential to promoting interoperability between software applications. Aspiration is addressing this problem as two distinct sets of challenges — a technology challenge that accompanies data formats and Application Programming Interfaces (APIs), as well as a procedural challenge that involves sorting through intellectual property and privacy issues. While these challenges are considerable, the motivations to address and overcome them are equally substantial, from the promise of shared and open legislative databases for campaigning organizations, to the visualization potential of easy-to-use geographic information system (GIS) services that could render nonprofit data in new and compelling ways.