Benetech

About the Organization

http://benetech.github.org

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.

Software

Miradi

License GPL
Source Repository

http://code.google.com/p/miradi-client/

Issue Tracker https://bugs.benetech.org/secure/Dashboard.jspa
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

Poet

License BSD
Source Repository

https://github.com/benetech/ImageDescService

Issue Tracker https://bugs.benetech.org/secure/Dashboard.jspa
Primary Language/Framework Ruby on Rails
Platforms Web-based model, MySQL, easily deployed on Heroku and Amazon RDS

Martus

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.

License GPL
Source Repository http://code.google.com/p/martus/
Documentation

https://www.martus.org/downloads/

Primary Language/Framework Java for desktop client.
Platforms

Windows, Mac, Linux

Cross-platform desktop application, moving to integration with mobile and web-based tools

SocialCoding4Good

License Open Source
Source Repository https://github.com/socialcoding4good
Issue Tracker https://github.com/socialcoding4good
Primary Language/Framework To be determined.  Currently Drupal/PHP, considering Rails
Platforms Web

Development Team

Miradi

Developer community management is handled by our Lead Developer, Kevin Smith, who is based in Florida.

Poet

Developer community management is handled by our Lead Developer, Rom Srinivasan, who is based in Palo Alto.

Martus

Developer community management is handled by our product manager, Anna Berns, who is based in Palo Alto.

SocialCoding4Good

Developer community management is handled by our VP of Engineering, Gerardo Capiel, who is based in Palo Alto.

Tools

Miradi Issue and bug tracking is done using Jira.  We collaborate primarily using Jabber.
Poet Issue and bug tracking is done using Jira.  We collaborate primarily using Jabber.
Martus

Issue and bug tracking is done using TestTrack with plans to move to Jira.  We collaborate primarily using email and Jabber. 

SocialCoding4Good Issue and bug tracking is done using GitHub Issues.  We collaborate primarily using IRC #sc4G on 
benetech.irc.grove.io. You can create an account at 
https://grove.io/signup?invite=6K96u6Jf

Development Process

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.

Volunteer Onboarding

Miradi

In 2012, we started development of Miradi 4.0.  Features in which volunteers can get involved with are:

  • The ability to publish Miradi projects to cloud storage for sharing and backup
  • Support for spreadsheet type fields
  • "Save as Image" for importing diagrams into popular desktop applications
  • XSL transformations for new reports and/or integration with open source reporting tools 
  • "Auto-arranger" that automatically visually groups and arranges factors on any diagrams
  • Development of an HTML5 renderer for conceptual diagrams and other views


Smaller volunteer tasks may include enhancing our documentation, fixing typos and minor bugs, refactoring and improving test coverage.

Poet

Major roadmap items which volunteers can be involved with are:

  • Support for processing books and textbooks in the newly approved EPUB 3 ebook format.  EPUB 3 incorporates the accessibility capabilities found in the DAISY format and will replace the DAISY 3 standard.  Major publishers have commited to providing ebooks in EPUB 3 and ebook readers, such as Apple's iBooks, have begun to support EPUB 3 features, however many of these books, particularly educational textbooks, will need to be enhanced with image descriptions.
  • Automated image classification (e.g. bar chart, photo, math equation, decorative art with no educational value)
  • Automated estimation of tabular values from images of bar charts, pie charts and other common graphs in textbooks
Martus

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.

 

SocialCoding4Good

This is a new development project, so a blank slate.  Initial projects include:

  • Selecting a development framework and hosting platform
  • Definition of 1.0 product
  • Development of initial 1.0 product