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

Reply via email to