Monday, November 10, 2014

Help Thread Help Baltimore at the Baltimore Hackathon

Update 11/12/2014: Added an FAQ at the bottom and more problems and projects. You don't have to be present at this particular weekend to help!

This weekend I am planning to work on a service project at the Baltimore Hackathon and I would love to form a group to work together! I have been working with Thread, an excellent local nonprofit group that helps students in Baltimore. I'm interested in working with them because of their unusual, comprehensive approach, and because they are already fairly tech-savvy.

Details below. Please e-mail me if you'd like to team up!

BACKGROUND

Thread, formerly the Incentive Mentoring Program (IMP), has a volunteer base of 700+ volunteers who are providing continuous daily support to 150+ students, who live and go to school in neighborhoods all across Baltimore. These volunteers work in teams called Thread Families to provide each student with everything they need to succeed in school as well as increased access to community resources. Because of the diverse range and sometimes urgent nature of interactions, Thread has struggled to capture the full depth and breadth of their efforts and impact. Thread works in every part of the city, 365 days a year, and commit to working with students for 10 years.

PROBLEM 1: CAPTURE MORE INTERACTIONS AND LOCATION OF INTERACTIONS

According to Thread (emphasis mine):
"Up until 2013 we tracked most of our activities via volunteer logs using Google Spreadsheets and Forms, but at year-end the hours that were logged were always far short of what we know had actually happened in Thread Families. We think the barriers had to do with poor ease of use and lack of feedback from the system. It was difficult to log things from a smartphone, and you never received any feedback from your interactions, which essentially went into a black hole (a Google Spreadsheet that was inconvenient to access and check). In 2013, we applied for a grant with NextJump to help create a website optimized for mobile devices that would make logging significantly easier.
"A small team of developers at NextJump donated two weeks of time to create ThreadShare, which is both aesthetically pleasing and easy to use. However, ThreadShare is still missing two critical components, a more comprehensive feedback loop and increased engagement functionality. While interactions are now posted for Thread volunteers to see, the overall app is still relatively limited in its functionality. You can't post pictures, you can't location track and see a map of your impact in Baltimore, and you don't know how you fare as compared to your fellow volunteers.  Understanding the impact of their hard work and connectedness to a larger movement is critical in encouraging volunteers to continue and increase their commitment.  
"I truly believe that with a few small tweaks, like the ones mentioned above, ThreadShare v2.0 could be more than just an administrative tool, but a key engagement strategy as we fully transition from a small non-profit to a movement within Baltimore. I also hope that, since Thread is all about facilitating connection, the app would be something that we can then share with other nonprofits for their use in engaging volunteers." 
"A common criticism of Thread is that because we serve 150+ students, our impact is small. The Thread vision is not about just tutoring underperforming high school students facing significant challenges outside of the classroom, however; it is about creating “intentional families” with strong relationships and weaving a new social fabric. It is about ending the sense of social isolation that many students and volunteers within the community feel, and it is about facilitating relationships that transcend barriers of race and class. Our current metrics highlight student achievement and our ability to accomplish our mission, but fall short of telling the full story of the overwhelming comprehensive and extensive nature of what we do and the impact that it also has on the lives of our volunteers and the Baltimore community. Only the day-to-day actions of our volunteers paint a complete picture of what individualized support and relationship building really means.”

PROBLEM 2: SALESFORCE INTEGRATION

Thread is moving various business operations to a Salesforce application, and there is currently no automatic means of transferring IMPshare data to Salesforce.

PROBLEM 3: MAINTENANCE PLAN TO PROTECT AGAINST CODE ROT

There is no person or company currently responsible for the day-to-day upkeep or improvement of IMPshare and no easy way for volunteers to contribute source code to the project. There is however a staging environment where code changes can be tested. The plan should also include regular backups of ThreadShare's MySQL database.

TECHNOLOGIES

The IMPshare app runs on a LAMP stack with the CodeIgniter framework and jQuery. The source code is currently hosted on the IMPshare server and does not appear to be version-controlled.

POTENTIAL HACKATHON PROJECTS
  • Partially address problem #3 by engaging Baltimore's PHP and mobile web communities: we can make IMPshare easy to work on.
    • Move the code to a private bitbucket or github repository. Consider making it an open source application.
    • Create a setup script that installs dependencies and allows code to be run locally
    • Write technical documentation & make diagrams, including a thorough README that explains how to run the app in a development environment
    • Create sample / test data
    • Create an app deployment procedure for the staging and production environments
    • Sign up to present the project at Baltimore PHP and Mobile and Techies For Good meet ups
    • Draft an RFP for PHP consultancies to estimate the cost for ongoing app maintenance (routine things that are harder to get volunteers to focus on, such as bug fixes, security patches, etc.)
  • Prototype a leaderboard tool. This could be a separate application that connects to IMPshare’s MySQL database, runs a SQL query, and emails a leaderboard to Thread leadership (who could then review it and forward to volunteers).
    • If Thread likes it, this report could be incorporated directly into the app’s user interface
  • Add a “Neighborhood” field to the user interface
    • Can leverage HTML5 APIs to auto-fill with the user’s current location
  • Prototype an impact map that uses various Google geocoding APIs to geocode locations using the new "neighborhood" field
  • Setup MySQL backups
  • Create a standalone reporting app that allows database gurus to create SQL reports that could be embedded in Google Docs
  • Prototype an IMPshare-to-Salesforce connector
    • Will need to gather more data about Thread’s salesforce installatio
FAQ

Q: I want to help but this is pretty short notice so I'm not available this weekend? Can I still help?

A: Totally! We consider the hackathon to be a motivating/catalyzing/social occasion but I expect most of the work will occur over the next months and years. We want to help in a sustainable way, and want you to contribute in any way you can and would enjoy.

Q: I'm new / inexperienced / young / don't know PHP. Can I still help?

A: Yes! The main point of this exercise is to connect enthusiastic people to Thread to help them leverage technology as much as possible so they can get back to their core mission of helping kids.

Q: I'm a designer, can I help?

A: Yes! One of the things we can build is a nice standalone reporting tool that could be made more useful if it had a real designer behind it. Also there may be things about the current app that you think will increase engagement. Also, the "leaderboard" concept is pretty prototypical at this point. For it to be useful, it needs to look and feel right.

Q: I'm a tech writer, can I help?

A: Yes! One of our goals is to make the project easy to setup and administer for new volunteers and for Thread. The existing docs are awesome and we can build on that foundation.

No comments: