UNICEF, NYU ITP, and ThoughtWorks Social Impact have been working implementing a system to improve the critical and very manual task of reuniting children with there families in crisis zones.
This work today is still done primarily through physical _photo_ walls like this one: http://www.flickr.com/photos/unhcr/4127264233 RapidFTR is a _secure_ backend (privacy and safety of children is paramount) flexible, searchable, matchable DB of children (Rails/CouchDB) and a secure RESTful API for mobile clients to input, search, and match info from the field--e.g. moments after a disaster like the Haiti earthquake. UNICEF field works are issued Blackberries, so while eventually the project will have clients for all smartphones (Symbian, Android, iOS etc...), the most important client to implement is Blackberry. The RapidFTR project is looking to contract a developer with deep Blackberry client experience ASAP to complete the BB client. The job description is below. -------------- To apply: send code sample/link to repo + cover letter + cv to jorgejust at gmail.com with subject line: "RapidFTR BlackBerry DEV Job" Overview: We are seeking a mobile developer to create a BlackBerry application for RapidFTR (http://rapidftr.com), an open-source mobile application and data storage system that helps aid workers collect, sort and share information about unaccompanied children in emergency situations so they can be registered for care services and reunited with their families. Because RapidFTR is an existing and ongoing open source project, the developer will be responsible for coordinating his or her efforts with work that is already in progress from a distributed team of volunteers. RapidFTR developers work in a Test Driven Development (TDD) and Behavior Driven Development (BDD) fashion, using Agile methodologies. Timeframe for this work is five weeks. Objective: Create a fully functioning prototype of a BlackBerry client application for the RapidFTR API, with all necessary documentation. More information: Learn more about RapidFTR: http://rapidftr.com Join the RapidFTR Google Group: http://groups.google.com/group/rapidftr Explore the RapidFTR codebase: http://github.com/jorgej/rapidftr Watch a 20 minute presentation about RapidFTR: http://bit.ly/jjustthesis Specific Activities: The developer would: Lead development and deployment of a BlackBerry application for RapidFTR, based on the RapidFTR API and a list of specifications to be determined by the RapidFTR team and UNICEF. Oversee main RapidFTR repo, including testing and merging commits from volunteers. Work closely with distributed team of developers, including monitoring the RapidFTR Google Group, skypeing into planning meetings, and partitioning user stories for work by other developers Provide live support and development during testing and deployment, since all specifications cannot be predefined, and more development or customization may be necessary in the field. Oversee deployment plan for RapidFTR, including helping create documentation outlining necessary steps for deploying RapidFTR in emergencies. Oversee RapidFTR server and TeamCity install Be available for volunteer "code jams" if necessary Work Products / Performance Indicators Sample User Scenario: Users are registered through administrative page of RapidFTR Zubair Elkin is a Child Protection Specialist at an IDP camp in Uganda. He discovers three unaccompanied children who have been living in a child headed household in an area of the camp. Zubair launches the RapidFTR Application on his BlackBerry to create a new child record. He takes a photo of the first child, enters her name, current location, and whatever other information the child provides him. Upon saving the record to the phone, a unique child ID is generated for the record. If there is connectivity, the RapidFTR Application attempts to submit the record to the API. If there is no connectivity, the RapidFTR application remembers this and does not attempt to connect again until the application is relaunched. Zubair repeats these steps for each child. When the BlackBerry application connects to the RapidFTR API, it downloads new a new "medical information" in the background and includes it in each child record. A pop-up alerts Zubair that this new form has been added. If there is no network connection: Upon returning to his headquarters, Zubair opens his netbook and syncs the BlackBerry application to a local instance of RapidFTR. He then prints a PDF photo of each child for addition to a 'photo wall.' Because RapidFTR will be used in situations where access to electricity and network connectivity are not guaranteed, the application will need to take battery conversation and local data storage into account. Data security is another important concern, and user stories will reflect the need for password protected accounts and onboard data encryption. Delivery Dates Daily: Publishing of all work-in progress code to a forked repository. Weekly: Merge all commits to main repo on a weekly basis. Knowledge and Skills Candidates must have experience developing mobile apps for BlackBerry, and proficiency in Java. Strong preference given to candidates with experience in agile development and familiarity with test driven development and continuous integration practices, including tools like J-Unit and TeamCity. Strong preference given to candidates with experience developing software as part of a distributed team using GitHub, especially in open-source environments. Strong preference given to candidates who are authors, maintainers, contributors, or otherwise active members of at least one open-source project. Some knowledge or experience in developing and maintaining applications using Ruby and Ruby on Rails would be helpful but not required. Travel may be required towards the end of the term. Start date: Immediate
