-
Notifications
You must be signed in to change notification settings - Fork 36
Design Document
This is a reference client of the GeoReport v2 protocol. The protocol is documented at http://wiki.open311.org/GeoReport_v2. Before understanding the feature requirements, you'll need an in-depth undestanding of the spec.
This is a port of the iOS app at https://github.com/City-of-Bloomington/open311-mobile. These two apps should share the same set of core features.
- Target Android 2.3 and wait to see if the Support Package improves
- Support older versions using the Support Package
- Plan for a separate app to target Android 4.0 to handle tablets and phones using the same app http://developer.android.com/guide/practices/tablets-and-handsets.html
- Follow Android Design guidlines as much as possible
A settings screen is needed. We should not read a person's contact information directly from the phone. The report screen should provide a toggle switch to turn Anonymous posting on/off.
https://github.com/City-of-Bloomington/open311-mobile/issues/93
Each open311 endpoint requires a separate api_key. The app needs to know the list of endpoints it can communicate with. Endpoint data needs to be embedded in the app, as it's not available anywhere else. The required information for each endpoint is:
- name
- url
- jurisdiction_id
- api_key
- supports_media
In order to start submitting a report, users must choose a Service. The list of services is obtained via the endpoint's GET Service List query Services presented to the user should be grouped according to GET Service List
GET Service Definition/POST Service Request Services often define very long questions for their attribute labels. It's best for the user to answer each field on a separate screen. This gives the maximum amount of room to display long questions with big controls.
The open311 specification does not include a way to identify individual users. However, we still want users to be able to check back on reports they've submitted. The app must save all reports to the mobile device when the report is posted. Display the list of saved reports
Selecting a saved report should display all available information for that report. GET Service Request