Field Day issueshttps://code.cs.earlham.edu/field-science/FieldDay/-/issues2020-01-16T13:47:15-05:00https://code.cs.earlham.edu/field-science/FieldDay/-/issues/38Add a trip-site-sector-spot on the fly2020-01-16T13:47:15-05:00Craig EarleyAdd a trip-site-sector-spot on the flyI could imagine a situation where we're in the field and discover we want to take a Field Day reading somewhere that doesn't match an existing trip-site-sector-spot.
Right now, I think we have to do that on the server side. It may be us...I could imagine a situation where we're in the field and discover we want to take a Field Day reading somewhere that doesn't match an existing trip-site-sector-spot.
Right now, I think we have to do that on the server side. It may be useful to do it in the field just like we do everything else.
One possible approach among many: "Add a site", for example, could be added to the site dropdown. (Adding a trip could be trickier.)https://code.cs.earlham.edu/field-science/FieldDay/-/issues/44Discussion and notes: user interface and feature ideas2021-02-08T11:05:33-05:00Craig EarleyDiscussion and notes: user interface and feature ideasWe need to sort these. Many of these bullet points could become issues, but I am mainly using this is a heap where I can dump the information.
Some of our ideas. Some have issues associated with them already.
1. Move the sampling stuff...We need to sort these. Many of these bullet points could become issues, but I am mainly using this is a heap where I can dump the information.
Some of our ideas. Some have issues associated with them already.
1. Move the sampling stuff to the front screen
2. Scrolling
3. Brighter buttons, more muted backgrounds (including gray rather than bright colors)
4. Bigger buttons
5. Less on any one screen? So split DB actions into multiple screens, for example
6. Linear user flow: database -> platform -> sample (or platform -> sample -> DB)
7. Gestures?
8. Rotation #33
Other stuff
dark mode?
```
setContentView(R.layout.activity_database_actions);
View someView = findViewById(R.id.databaseStatus);
// Find the root view
View root = someView.getRootView();
// Set the color
root.setBackground(getDrawable(R.drawable.background_dark));
```
Navigation (unordered)
* Get a toolbar that can take you to the things you rarely need:
* Settings
* About
* Sensors are the big-ticket items, they get most of the real estate under that
* Database setup and lab notebook are beneath them
* Other
* NavigationUI
* ActionBar
more ideas
* automated unit tests?
* revise data model/re-architect # some notes: two columns: headstream, varchar(5) - sampleunitid, integer (taking the place of spot or stream id)
* license
* take picture of spot, where a spot’s image includes the 3 flags where we’re digging - picture may also include surrounding area, want to correlate images to the data from microbial sampling
* bad idea to have CREATE statements in code a la ReadingsDatabase?
* 2. Fieldday_Streaming_GIS table, with geopoint, is not used
* Postgres fieldday_streaming_gis table
* We should add the geopoint to the fieldday_streaming table
* compute geopoint based on lat and long columns
* mutually_exclusive_group?
* document our testing
* Test elevation streaming
* Leave, walk downstairs, go to the rock, come back
* Or, leave, go to the first crack in the sidewalk at the 4-way stop at public safety where there will be the top of a 2x2 with a nail
* quality control
* rotations
* no sector is displayed but the device will still stream when the button is pressed
* maybe a display problem not a data problem? streaming data appears to be collected
* also the stream button doesn’t blink
* but we get a weird runaway streaming problem where I can’t seem to stop the streaming after a rotation
* Field Day crashes on erasing local database if you have already done so
* Can’t select a sector with the default site, have to change it to get the sector dropdown active
* Number of values each sensor returns
* some return 1,2,3, etc. values
* we don’t do a good job of detecting the number of values in-place
* UX questions
* What do people do? Is there an order?
* Display aggregates - what kinds? count of reads/streams? mean/median/mode/range? lat/long/times start/stop? can there be a map?
* Global settings, or settings changed rarely (e.g. databases)?
* What devices? Is this mainly a tablet app, phone app, or both? (I think both)
* Documentation: "As previously mentioned, the map() function uses integer math. So fractions might get suppressed due to this. For example, fractions like 3/2, 4/3, 5/4 will all be returned as 1 from the map() function, despite their different actual values. So if your project requires precise calculations (e.g. voltage accurate to 3 decimal places), please consider avoiding map() and implementing the calculations manually in your code yourself."
* [Storage Access Framework](https://commonsware.com/blog/2019/06/07/death-external-storage-end-saga.html)https://code.cs.earlham.edu/field-science/FieldDay/-/issues/12Separate uploading stream & sample data to server from deleting the local dat...2019-06-16T13:30:23-04:00Craig EarleySeparate uploading stream & sample data to server from deleting the local databaseMake uploading the data a separate action from deleting the local database records. As it stands now if there is silent failure in the upload process then all the data is lost. Disk space on the device is cheap, human time to collect dat...Make uploading the data a separate action from deleting the local database records. As it stands now if there is silent failure in the upload process then all the data is lost. Disk space on the device is cheap, human time to collect data is expensive. The database state indicator could play into this.