inaturalist / inaturalistandroid Goto Github PK
View Code? Open in Web Editor NEWAndroid app for iNaturalist.org
Home Page: https://market.android.com/details?id=org.inaturalist.android
License: MIT License
Android app for iNaturalist.org
Home Page: https://market.android.com/details?id=org.inaturalist.android
License: MIT License
This crash is still happening in 1.3.10(21) it generally happens for me after I tap sync and turn my attention away from the device. When I return and wake the device up from sleep, iNaturalist has stopped
Here are the errors on Crashlytics:
https://www.crashlytics.com/inaturalist/android/apps/org.inaturalist.android/issues/54c069a365f8dfea15a8eba7
...
Add a lockscreen widget to enable one-click "Take photo and add observation". This is helpful to take more elusive photographs, rather than:
This functionality would be similar to the 4.2+ swipe right to engage the camera from the lockscreen.
After the first photo is taken (during which geolocation is taken in the background), the standard interface otherwise applies until "save" is selected, at which point the user is returned to their lockscreen.
If, as a technical matter, after taking the photo the entry can't be added unless the PIN is entered, the photo and geolocation data should be saved and ready to edit in-app after the fact.
Missing a quick way to take-and-tag a photo has been unarguably the primary reason by which I miss photo opportunities for iNaturalist!
Example from stock 4.2.2, swiping right to engage camera:
... rather than sync the blank observation, or even add it to the sync queue. An observation with no description, ID, or photo should be discarded by default unless the user clicks "save".
Clicking Search on the Projects and Guides tab should be global - not restricted to your projects/guides or nearby projects/guides. That is if I click on 'your guides' and see 3 guides: a, b, and c but under search I enter d which is someone else's guide this should get returned. the Search bar should search globally
@budowski, is there any chance that crashlytics integration got lost with this latest release?
Kew is interested in using Guide tags as keys and one of the things they've requested are tools for easily reseting the tags (e.g. turning off all filters) and for navigating the user to the 'Recommended next step'
The 'Recommended next step' is calculated based on the tag choice that would maximumly discriminate the remaining set of taxa. Proceeding through these tags using the recommended steps simulates navigating through a dichotomous key
I assume the logic for these would be implemented client side on Android?
Not sure why this is appearing as Great Lakes Fish Finder
http://www.inaturalist.org/observations/913030
Hey,
In a separate email Scott mentioned that there is some work to do to get the Android app up to date with changes in the iOS app. Opening this issue to start the conversation as I'd be happy to help! Will work on a version for Minnesota Master Naturalists at some point.
Thanks!
Some project checklists like the checklist for 'Afribats' never load. Whats going on here?
On the iNat iOS app, the Username field on sign-in can accept either username or email.
On the iNat Android app, the Username field accepts email and appears to use it to properly login, but something is different. For example the Settings page reads 'Signed in as [email protected]' rather than 'Signed in as loarie' and the Syncing/refreshing doesn't work.
I suspect, the app is erroneously populating the username with the email somewhere
This is the turned out to be pbrastow's mystery 'the app is broken' bug. Seems like it is definitely a high priority to fix as it may be effecting a lot of other people.
Need a general 'Add observation' button above project checklists as was built for Texas Nature Trackers.
Problem with 1.3.15
A number of people have reported that images occasionally fail to sync (e.g. https://groups.google.com/d/topic/inaturalist/TCjYx_hc_JY/discussion). This exception might be related:
java.lang.NullPointerException
at org.inaturalist.android.ObservationPhoto.<init>(ObservationPhoto.java:164)
at org.inaturalist.android.INaturalistService.postPhotos(INaturalistService.java:761)
at org.inaturalist.android.INaturalistService.syncObservations(INaturalistService.java:379)
at org.inaturalist.android.INaturalistService.onHandleIntent(INaturalistService.java:348)
at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.os.HandlerThread.run(HandlerThread.java:60)
That might mean the photo URI we're storing for the photo points to a photo that no longer exists for some reason, though why that would happen I'm not sure (user deleted photo, user moved photo (?), something else). In the iOS app we actually copy all imported photos into the app's directory, so they're always there regardless of what happens to the original photo, so maybe it's worth adopting that approach here. The downside is bloated disk usage.
Replace all project detail view with just the join button, description, icon, and an "add to project" button that shows the new observation view with the project selected. Not sure if this also means clearing out local data.
If I sign in and add an observation then click 'Select Projects' I see 'No projects found' rather than my joined projects.
This just spins forever 1.3.10 (20)
When viewing a guide the single photo chosen for each guide taxon should be the first GuidePhoto
by position
or id
.
Apparently http://www.inaturalist.org/guides/953 crashes the Android app when you try to open it. @loarie can you verify this is happening and/or expand upon this?
https://groups.google.com/d/topic/inaturalist/6OY62S8nmF8/discussion
Apparently the "Leave" button is close to the "Add" button on the project screen in the Android app. If it's not there already, that leave button needs an "Are you sure?" confirmation dialog.
If you've already joined a project, show the checklist tab first, b/c presumably you already know what the project is about.
Right now it says "Use device language settings" even if the device's locale is not supported by the app:
That's confusing for people who see "italiano" chosen but don't actually see any Italian translations. Instead I think it should just list all the locales we do support, with the system locale selected by default. Thoughts?
In places where we only show a single photo for an observation, we should always show the first photo, that is the ObservationPhoto
with the lowest position
or the lowest id
. I think this might only be on the observations list. Currently it looks like we show the last.
Tapping 'Add' from a project checklist should populate the observation form with the project and its observation fields as in the Texas Nature Tracker app but this isn't happening
I think it would be nice if iNaturalist showed up under the "share" menu in the Gallery as a way to initiate a new observation. Ideally, this would allow multiple images to be selected and added to an observation in a single share.
Unless someone else is really keen on adding this functionality, I'd be happy to take a pass at coding it myself. That being said, I haven't done any Android development and might need some guidance regarding the Android APIs (I have tons of Java experience, just not Android).
Just from some preliminary searching, it looks like I may need to implement a ShareActionProvider and/or an Intent.
The tapping an obs photo in the iPhone app opens a viewer with a little trashcan to disassociate the photo from the obs (see screenshot)
This is super useful - would be great to add this feature to the Android app. Might be harder since the Android app is redirecting to an external (photos or gallery) viewer to view the photos...
After syncing observations from the Observations view, the sync icon that is shown on unsynced observations continues to show. I believe this icon should not show after a successful sync. If you go back to the main view and return to the Observations view, the icon goes away.
Local observations get deleted when you sign out of the app, but currently there is no warning about this when you tap "Sign out."
This should happen before xmas 2014.
See this user report:
https://groups.google.com/forum/#!topic/inaturalist/CGKOF6oyYV0
It looks like species names with umlauts, when synced with the server, turn into mojibake. Is this a unicode issue?
You should need to install Flurry to get the app to build, so if possible, let's make it optional.
to reproduce:
This is only broken on Android - not iOS
Reported here:
https://groups.google.com/forum/#!topic/inaturalist/Z1tw4jGPD0s/discussion
Right now it seems to be showing the last photo, but we generally consider the first photo to be the default. For example, see http://www.inaturalist.org/guide_taxa/282017 and http://www.inaturalist.org/guides/1464
When you change the date or time of an observation, save the observation, and then open it again, the values appear unchanged.
Kew is interested in using the tags infrastructure on guides as an identification key. I've played with doing that here: http://www.inaturalist.org/guides/1503
On the server, we will allow users to add tags to Guide Photos. Guide Photos with a tag like Present-in-NoCA?=yes* (ie matching one of the guide tag key-values and followed by an *) will indicate that they should be displayed alongside the appropriate tag value in the filter sidebar on the app. For instance, these images could display as modals when clicking on information icons something like this:
The server side piece of this issue is here
inaturalist/inaturalist#542
When observations or observation photos are available to sync, there should be a flag such as the 'Sync 1 observations' displayed on the observations tab in the screen capture below:
However when sync is interrupted, this flag disappears even though there is unsynced content as shown here
the sync indicators which are using the device tools via the little iNat bird icons in the top menu are also fairly inconspicuous and misleadingly labeled
When signed into the app, find a project that you haven't joined. Tap join, and await the crash. Stack trace
java.lang.NullPointerException
at org.inaturalist.android.INaturalistService.request(INaturalistService.java:1430)
at org.inaturalist.android.INaturalistService.post(INaturalistService.java:1329)
at org.inaturalist.android.INaturalistService.joinProject(INaturalistService.java:994)
at org.inaturalist.android.INaturalistService.onHandleIntent(INaturalistService.java:347)
at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.os.HandlerThread.run(HandlerThread.java:61)
Details:
Application version
1.3.6
2
Android version
Android 4.4
2
Device
Brigadier (E6782)
1
Nexus 5 (hammerhead)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.