-
-
Notifications
You must be signed in to change notification settings - Fork 88
Product Documentation
Treetracker App is a tool envisioned primarily to enable people under poverty living in rural parts of the world to have an economic opportunity where they get paid to plant, grow and maintain trees in the parts of the world they live. This addresses two issues at the same time, one is to tackle global climate change while addressing the economic needs of people in the improvished regions of the world.
The application is meant to give the planter the ability to track the trees planted, its growth by taking pictures and uploading them to Greenstand along with planters details such as name and picture. Greenstand will process the information and identify the individual trees and the planter responsible for its growth and pay for their work. The user can see the data on the trees uploaded and payout made or pending to the planter using the application.
The intended users for the app fall under two categories - 1. Primary Users - organizations and planters living in the developing world and 2. Secondary Users - a smart phone user in the developed countries who want to participate in the tackling global climate change.
-
Organizations/Tree Planting Project Coordinators: Semi-savvy smartphone user that organizes tree planting and coordinates large numbers of planters. Needs verification for funds spent and needs to track who planted what tree where. This user will also have database access and want to create basic reports, (# of trees planted, species, etc.). This instance will often have multiple users attached to an organizational account. Their access goes beyond the Android Treetracker Application and have further access to services provided by Greenstand.
-
Individual Planter: Our target user base is often unable to read, and often not the owner of the phone. Computer access for this use is not an option. They want to plant trees and have a payment for their work delivered to their mobile phone account (based on name and phone number). In this case, a village coordinator holds the phone and loans it out to planters. This coordinator will often be the one to help people sign-in and sign-out of the app.
Users return to trees, tend to trees and take 'update' images of trees to receive the monthly payment.
Users often upload data by buying an "internet bundle"; when the data bundle is used up the upload will be paused.
The typical connected smart-phone user in developed country planting trees and locating them with a geo-tagged photo. They walk home, upload images over wifi and share their work on social media. This user probably won't think to go back and tend to or update their trees on a regular base.
Given the primary intended users are in developing countries most likely without a smart phone and using a shared device of an Organization or a Co-ordinator's device, several considerations and constraints are to be kept in mind in developing and maintaining the application. The application features, use cases are designed with assumptions of inexpensive devices, shared devices, lack of high bandwidth network, lack of email addresses, other considerations and constraints listed below.
-
Work offline Internet connectivity shouldn't be assumed as the planter might be in a remote part of the world with no network.
-
Optimize battery life Charging phone in a remote region is more than likely a challenge. Application features, design, implementation and maintainence should be keep this mind always and avoid draining the battery life.
-
Be simple to use Keeping the user interface/flows simple is paramount given the target users are probably not tech-savvy and neither would spend too much time on the device while doing planting activities.
-
Primarily rely on devices GPS To track a tree that is planted, accuracy of the tree location is important.
-
Deliver Quality Data Capturing the planter information such as his name, photo, phone number, planted tree images, tree locations are critical in analyzing, and crediting the planter for his work.
The following lists some additional considerations regarding the circumstances in using the application from the target users standpoint.
- Bright sunlight and hard to see screens.
- Extremely poor internet connections, uploads often stopped and restarted.
- Primarily used in remote places where charging and reception are not available
- Primary users (planters) often illiterate (unable to read)
- Multiple users (planters) on the same device, each paid via separate "account"
The inteded primary user most likely are illiterate, with no internet and email address. Given this, the usual concept of authentication and login to an account with server authentication is not feasible for the Treetracker App. But it is still vital to identify and verify the planter responsible for the growth of individual trees and pay for his work.
In scenarios where a co-ordinator of an organization is the only one with a device, multiple planters share the device to log their work of planting the tree and tracking the growth of the tree. Also, a planter might use different devices during the growth of trees he is responsible for.
Key points relevant for Planter Login and Identification:
-
multiple planters are using the same device
-
planters unable to login via email (user don't have email)
-
planters unable to verify their account due to working off the network
-
planters switch devices
-
planters enter wrong details
-
Innocent planters have been / will be scammed on the ground (by device owners or others logging in for them, and not logging out etc.)
-
App must be so easy to let planters log their work, regardless of literacy.
Keeping in mind the key points above, the login process is designed with desire to identify the planters and pay them directly based on verification of tree growth.
Planter login and identification begins with user registering himself on a device for the first time.
The registration process requires planter to
-
Accept the privacy policy
-
enter a phone number or email address (Device owner most likely will use the device's phone number or the secondary user in a developed country would likely use the email rather than the phone number).
-
Enter their first and last name
-
Optional Organization name
-
Capture a picture (selfie) of themselves
The email address or the phone number acts as the planter identifier associated with the growth of a individual tree. The image of the planter is another way to verify and identify to pay for the growth of a tree.
None of the steps above requires network connection to perform any verification. The photo and the identifier is stored locally on the device which is synced later to the server when network connection is made available.
Planter login and identification is similar to the registration flow except, if the planter has already used a specific device, the identifier is found on the device from the earlier registration and hence privacy policy and signup with Greenstand steps are skipped. The planter is prompted to take a picture again. Taking a picture is always done for both registration on a new device as well as for each check-in. This is required for verification of the planter identity as the user might do tree growth tracking activity from multiple devices and the pictures are vital to mitigate planter users being exploited for their work.
Thus login and identification process creates a check-in log with his identifier and photo each time. Any tree planting or tracking activity is associated with this check-in which are uploaded to the Greenstand servers when the device owner syncs the data on network availability.
The key things to note about Planter login and identification are
-
planter identifier (a phone number or email address) is a important way to identify a user
-
every login creates a check-in log with the identifier and a picture of the planter
-
all tree tracking activities are tagged with the check-in log for later verification and analysis
-
prompt the user to login on the device every two hours to ensure correct tagging of tree tracking activities on the device.
The capability to verify the accuracy of the data obtained from one or more devices regarding who is to be paid for the growth of a tree relies on the fact that data regarding the individual's trees location, associated tracking activities with picture of the planter and planter's identifier is available to Greenstand for offline analysis when the data is synced on network availability.
When the planter logs in a device, the payout information for the tree growth tracking is presented in the Tree data section with the following information (this feature is evolving and what is documented here may be little different from what is seen in current release version of the application)
- Number of trees uploaded
- Number of trees approved
- Payment pending and
- Payment made so far
Note: The actual payment process to the planter or the Organization co-ordinating the planting activities are not done via the Treetracker app.
This section documents all the use cases and the desired functionality built or to be built/modified in the Treetracker application. Each use case has its user experience design, flow and any constraints documented in their own page, click on the link for more details.
Note: Please document the UX, flow, functionality and any constraints in a seperate wiki page and link them here. Also, for new features don't add the link to this document until it has been implemented. For modification of existing features, propose the changes for the use case in a new page and replace the referred link here when the feature gets implemented.
This is the first step where the planter user enters the name, phone number or email address, picture of the user and signs up with Greenstand to use the treetracker application.
Any time a planter desires to take a picture of tree planting or tree growth tracking activities for uploading to greenstand later, he/she/they logs in to the application. This login process is akin to a check-in process and all activities are tagged with this check-in details. The check-in details include, the planter identifier and planter's picture.
In cases where the device is shared, a different planter can be logged in by switching the login. This step is a simple one where the planter needing to check-in can switch the user currently checked in by clicking on switch user menu action in the Action bar. This takes the user to the login screen where inputs such as planter identifier can be entered (email or phone number) and subsequently the camera screen to take the self image to complete the check-in process.
On successful login, the planter should be taken to a Map of his current location given the device supports GPS location. The map shows the locations of all the trees planted by the user using the device. The use will be able to navigate to the following sections of the application from this home page
-
"Add Tree" button which when pressed would trigger the Planting and tracking a tree use case
-
"Red arrow mark" fab button (floating action button) that takes user to the tree and payout data screen
-
"Tree Data" from the action bar menu which takes the user to see tree and payout data screen
-
"About" from the action bar menu takes to the "About Greenstand" screen
-
"Change User" from the action bar menu which logs out the current user and prompts login screen for a new user
If the GPS location permission is not enabled the user on login is taken to the map that shows the continent of Africa and the user is not given the ability to add a tree or to take any other action.
The simplest use case is when a planter digs a hole, plants a tree, takes a photo with the treetracker app, puts the phone in the pocket and repeats the process.
This use case is where a large group of planters are involved in planting trees. Capturing the pictures is done at the end or sporadically. Accidental duplication of photos of trees already located could happen in this scenario. GPS data, images of the plants may help in detecting these instances of duplication, but is not a concern for the Application though Greenstand verification process would care for it. Any methods or design of the application that would help mitigate this is desirable. For e.g. (currently not implemented or under consideration), we could calculate the location of an individual tree based on the device's location and its orientation and estimating the distance between the device and the tree from the camera image.
To track the growth of the planted trees, users would at regular intervals take the picture of the growing trees and upload it to Greenstand. This usecase is similar to the other planting usecases and may not differ in any specific functionality of the app and is given for completeness of the listed use cases.
A optional feature of the app to track the height of the tree is presented if the feature is turned on. This feature takes the user to a screen after taking a picture of an individual tree being tracked that has a vertical bar containing 5 different colors sections. Tapping on these section sets a color coded height value of the tree being captured. The colors used are green
, purple
, yellow
, blue
and orange
. Each section of the bar (different colors) each represent 50 cms (half meter) to capture the height metric of the tree.
While registering or checking in it is vital to capture the planter's face as clearly as possible to help ascribe the tree planting and growth tracking activities. There aren't any checks within the app at this point to ensure a clear image is taken prior to letting the user login. This is the section where any details about capturing the planter's picture can be specified and elaborated.
User is given the ability to upload all the planter data and the tree data stored in the device to the Greenstand servers. If the device is shared between multiple planters all of the planter information is uploaded along with all the tree images associated with the planters. In addition, the payout data is downloaded and stored on the device. If the upload process is interuppted due to network issues, the upload process resumes from where it left on network availability.