Skip to content
This repository has been archived by the owner on Mar 18, 2019. It is now read-only.

Design Document

inghamn edited this page Mar 26, 2012 · 12 revisions

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.

Development Principles

  1. Code for the latest version of Android: Android 4.0
  2. Support older versions using the Support Package
  3. Plan for tables and phones using the same app http://developer.android.com/guide/practices/tablets-and-handsets.html
  4. Follow Android Design guidlines as much as possible

Feature Requirements

(The same with the iphone version. This document is literary a copy of the Open311 Iphone Design Document)

Available Servers

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:

  1. name
  2. url
  3. jurisdiction_id
  4. api_key
  5. supports_media

My Servers

The user needs to be able to choose their own favorite servers from the Available Severs list. Their list of favorite servers must be saved on the mobile device. Selecting one of the "My Servers" should activate the app to start working with that endpoint.

Home Screen

On activation, users should see a "Home" screen with information about the endpoint. Endpoints who want to be included in the app will submit splash images to be displayed on "Home"

Submitting a Report

Choosing a service

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

Filling out the report

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.

My Reports

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

View Report

Selecting a saved report should display all available information for that report. GET Service Request

Clone this wiki locally