About the Organization
Benetech is a nonprofit, 501(c)(3), software company addressing large scale and global needs in literacy, human rights and the environment.
In our Literacy program, we operate Bookshare – the largest library of accessible e-books for people with print disabilities (e.g., blind, dyslexic, cerebral palsy). Via an award from the U.S. Department of Education, we provide Bookshare membership for free to over 200,000 students in the U.S. Membership in the U.S. is not limited to students and we have members all around the world thanks to partnerships with organizations in countries, such as India, Kenya and Qatar. To address the challenge of making images in educational books and textbooks accessible, Benetech is currently developing Poet - an open source web application for managing volunteer and crowdsourced creation of image descriptions. With Poet a volunteer can upload a book in the accessible DAISY format, quickly scan and navigate to all the images in the book and add images descriptions which educate the vision impaired reader. To learn more about issues around image/diagram accessibility and about Poet visit http://diagramcenter.org.
In our Environment Program, Benetech formed a joint venture with the Conservation Measures Partnership (CMP) to develop Miradi. Miradi - a Swahili word meaning "project" or "goal" - is a user-friendly program that allows over 5,000 nature conservation practitioners across over 100 countries to design, manage, monitor, and learn from their projects to more effectively meet their conservation goals. The program guides users through a series of step-by-step interview wizards, based on the Open Standards for the Practice of Conservation. As practitioners go through these steps, Miradi helps them to define their project scope, and design conceptual models and spatial maps of their project site. The software helps teams to prioritize threats, develop objectives and actions, and select monitoring indicators to assess the effectiveness of their strategies. Miradi also supports the development of workplans, budgets, and other tools to help practitioners implement and manage their project. Users can export Miradi project data to donor reports or, in the future, to a central database to share their information with other practitioners.
One of the organizations using Miradi is Rare - a nonprofit promoting and protecting biodiversity. Using Miradi Rare identified actions that endanger Guam’s coral reefs and determined that sedimentation due to wildfires is the main threat to reefs in Guam’s Sella Bay and Cetti Bay. Miradi helped Rare focus on the concrete result of increasing branching coral species in Guam’s marine areas. To learn more about Rare's use of Miradi, visit this case study. To learn more in general about Miradi visit http://miradi.org.
In our Human Rights Program, we have developed Martus, an open source software solution been used to securely store, organize and protect over 200K "bulletins" of witness testimonies and other evidence of human rights abuses. These documents have formed a base of evidence used in advocacy efforts and trials in Burma, Colombia, Democratic Republic of Congo, Guatemala, and Iraq. To learn more about a coalition of NGOs using Martus to capture data about human rights issues in Burma, visit this case study.
Finally SocialCoding4Good in itself is a Benetech project and was created to increase volunteer participation among product developers in Humanitarian Free and Open Source Software (HFOSS), such as Miradi.
Currently, we are looking for volunteers to contribute to our Miradi, Poet, Martus and SocialCoding4Good applications.
|Primary Language/Framework||Java for desktop client. Limited use of Rails for web-based components.|
|Platforms||Cross-platform desktop application moving to hybrid desktop and web-based model|
|Primary Language/Framework||Ruby on Rails|
|Platforms||Web-based model, MySQL, easily deployed on Heroku and Amazon RDS|
Martus, the Greek word for "witness," is a software tool that allows users to document incidents of abuse by creating bulletins, and storing them on redundant servers located around the world. Using Martus helps countries torn apart by civil conflicts come to a consensus and rational understanding of their histories, leading to reconciliation and reform processes.
Martus is Java-based, cross-platform compatible open-source software and runs on standard PC, Mac, & Linux machines. Future releases of Martus will be focussed on having mobile client, APIs to publish Martus data on social media websites (with user's permission), improve performance, and extend more language offerings.
|Primary Language/Framework||Java for desktop client.|
Windows, Mac, Linux
Cross-platform desktop application, moving to integration with mobile and web-based tools
|Primary Language/Framework||To be determined. Currently Drupal/PHP, considering Rails|
|Developer community management is handled by our Lead Developer, Kevin Smith, who is based in Florida.|
|Developer community management is handled by our Lead Developer, Rom Srinivasan, who is based in Palo Alto.|
|Developer community management is handled by our product manager, Anna Berns, who is based in Palo Alto.|
|Developer community management is handled by our VP of Engineering, Gerardo Capiel, who is based in Palo Alto.|
|Miradi||Issue and bug tracking is done using Jira. We collaborate primarily using Jabber.|
|Miradi||We utilize agile development which will allow us to easily incorporate volunteers into our team. We are currently running three-week iterations.|
|Poet||We utilize agile development which will allow us to easily incorporate volunteers into our team. We are currently running three-week iterations.|
|Martus||We utilize agile development, with releases scheduled as funding allows.|
|SocialCoding4Good||This is a new development project, so the process will be set by the initial development team.|
With newly received funding, upcoming Martus releases will focus on usability and search enhancements, improved visualizations of Martus data, and secure integration with mobile tools. Initial items which volunteers can be involved with are:
Project : Martus form template builder
Time frame : 2-10 days
Description : Create user friendly fields for interview forms using text, checkboxes, dates, dropdown lists, and tables. These need to be converted into Martus XML template formats. Develop with any open source tools that can be easily integrated with Martus Java client.
Project : Tor integration for Martus Java client
Time frame : 2-30 days
Description: Integrate Martus Java client with Tor to provide extra protection for human right activists securing their sensitive private data.
Project : Visualization of Martus data
Time frame : 5-10days
Description: Develop tool(s) to search Martus bulletins (e.g. "show me bulletins like this one") and present results as word clouds and by location maps. These tools need to be integrated with Martus client (Java, Windows/Mac).
Project : Updating translations of Martus software and documentation
Time frame : 1-20 days (per language)
Description: Martus is available in 10 languages, but many translations are out of date due to funding constraints. We would love to have both the software and documentation updated to the latest version in all languages! We need tech-savvy translators to do minor to major updates to either UI or documentation in the following languages: Spanish, Arabic, French, Nepali, Khmer, Farsi/Dari, Thai, and Russian. See www.martus.org/downloads for examples of user documentation including UI screenshots.
Project : Build Android API to securely send message data to Martus server
Time frame : 20-80 days
Description : Develop secure method of sending data (text, image or other file types) to a Martus server from mobile phone. Using Tor would be an optional addition for extra security to the data.
Project : Improve and optimize Martus server and client performance
Time frame : 5-60 days
Description : For Martus client, need to improve performance for large attachments (files > 1Mb) large number of bulletins in an account (2000 or more), and searching encrypted data. For Martus server, need to improve connectivity timing, thread prioritization/optimization, and caching records (with security in mind). Speed profiling/research is first step.
Project : Build enhanced search/suggestion tools for Martus bulletin data
Time frame : 10-40 days
Description : Implement search suggestions (“Did you mean to search for xxxx instead?”), auto-completion of entries, results rankings, “similar results” links next to returned search results. Note that all data is encrypted, so searching needs to take that into account.
Project : To be able to make Martus public data available on social media platforms
Time frame : 10-30 days
Description: Provide a simple option (as part of Martus client) for users to feed public Martus data into blogs, Twitter feeds, Facebook updates, RSS feeds or other applications.
This is a new development project, so a blank slate. Initial projects include: