Giter Club home page Giter Club logo

localdata-mobile-web's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

localdata-mobile-web's Issues

Get-started box reappears sometimes

Occasionally, the "Get started" box (#home-container) will reappear, unstyled. It looks like something is causing the app to reissue the api.getSurveyFromSlug call when that happens. So potentially, the app cache manager is reinitializing, which then causes us to show the home container.

It takes about 800 features to degrade browser performance

I set up a barebones test to see how many shapes it takes to slow down Leaflet on mobile browsers. Tap the "add features" text to add 100 features.

Test device: Samsung Admire; 800mhz processor, 512mb ram, Android 2.3, MetroWeb Browser (basically a rebranded standard Android Webkit-based Browser)

Around 800 objects, responsiveness starts to slow. At this point, the map also becomes unresponsive for longer periods as shapes are being drawn.

At1000, there's a significant degradation in interaction. The map takes way longer to respond to gestures. Zooming is difficult and no feedback is given for delay.

We should aim for a maximum of 600 objects on the screen. We'll have to find a better way to give teams field overviews (eg tiles that expire and regenerate regularly).

Creating duplicate data confuses things.

"Creating parallel sets of responses for each parcel is confusing and could really mess up data."

Options for dealing with parcels that already have :

  • Edit the data (PUT)
  • Replace the data (DELETE and POST?)

Some groups will want to update the data -- aka keep the old results, and add new results. This way they can get comparative data over time. We haven't yet built out the interface to support this, and aren't likely to in the short term. My vote is to default to replacing the data (technically the easiest), and then do edit, and then do multiple entries.

In the future, we could add an option to the survey: "only allow one entry per parcel"

hard offline mode prototype

We need a hard offline mode. The user will indicate that they have connectivity before going into the field, and the app will cache data for rendering the map and parcels. The app will store entries locally, as with soft offline mode. When the user has connectivity again, they will indicate that, and the app will post the entries to the API.

Can we switch to PouchDB for storage?

We should evaluate PouchDB, which seems to have much more activity these days than Lawnchair, and which already has node-style error handling.

  • Can we easily store different sets of data (multiple collections/tables)?
  • Does it increase our minified code size by much?
  • Can we support all of our platforms?

Magic refreshing app

To reproduce: push a new build. Refresh the app on mobile. The app will load, and you can get started. Shortly after, the whole page will refresh and take you back to the login screen.

Happens on iOS and Android. Is this an appcache issue?

Subsequent loads from cache are fine.

Photo upload blob fails

We're seeing file uploads that look like this:

http://locald.s3.amazonaws.com/upload-beta/c7155230-5b88-11e3-a27d-efc86addc8cf/2013-12-2-2608-w-63rd-st.Blobc1e6effe2c18453b92a5ae6e6a307357

It looks like the blob is being attached to the filename for some reason. Not sure if the server or the mobile client is the culprit. Only seen on one Android so far.

Survey manager would like to see results in the field

The survey manager would like to be able to go out and see results for a parcel. The ability to make corrections would be nice, but an additional record could be added.

Does this need to be available only to managers, or to all users? Former would make data privacy easier (the manager can be expected to enter a password)

Add date field

There are a number of ways we can implement this depending on the type of date.

A year might be best entered using only the numerical keypad.

We can also do free text / semi-structured for longer dates. Type-ahead would quickly narrow down months while keeping the touch targets large and context switching to a miminum

Avoid flickering the completed responses

If the network is slow when we request the completed responses, we can see some flickering on screen. Under the hood, we're kicking some entries out of the completedParcelIds object and bringing in replacements for those entries. If the connection is slow, we'll render the green styles in between those steps.

If we're a little more sophisticated about tracking the completed parcels, then we can probably avoid this.

Move away from parcels API

Start using the generic base features API by default, instead of the parcels API. We need to tweak to refer to the "short name" or "long name" instead of the address. Similar for the ID.

Ideally we should stop referring to the base objects as "parcels" in the code, but that's not urgent.

Report a data issue

The base layer sometimes has problems. For example, a property may have the wrong street name in the parcel layer. Surveyors should be able to flag those.

Update Lawnchair

Looks like there have been some updates / fixes to Lawnchair since our last update.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.