I require a single-page AJAX interface. The page will consist of a google map as its base, with a single pop-up form for viewing/entering information about specific locations on the map.
Onload:
* load the google map (it can fill the screen)
* load KML data from a feed URL
* plot KML data on map (using google's map api)
* center and zoom map to user's current location (obtained using map api --> W3C and google gears methods)
* pre-cache detailed data for nearest ~10 markers to user's location
* Uses GET requests: [login to view URL][unique location id from kml]/detail
* Data is returned as JSON
When user selects a location marker:
* pop-up a half-screen form for that location
* Form is pre-populated with data for that location (from the cache if possible)
* Fields can be of certain types:
* 2-state buttons: can be in a visually pressed or not-pressed state (clicking on them toggles their state)
* grouped buttons: as above, but a group of 2 or more buttons only one of which can be pressed
* "tag" fields: user can add or remove text tags (see tagging interface for [login to view URL])
* text fields
* Fields are fixed in the application
When user updates information in the form:
* updates to fields should be sent via GET requests
* [login to view URL][location id]/[field name]?[new value]
* UI elements should reflect change only on successful update (HTTP 200)
* If update fails or times out, UI should cache update, make other UI elements read-only, and display a msg to the user at the top of the screen "Updating information is temporarily not possible. Will re-try soon."
* UI should retry the cached update every 5 seconds. If succeeds, update UI elements, remove read-only lock, and remove usr msg.
Coding to be performed on github, with deliverables zipped and uploaded to VWorker for record-keeping.