New features
Search for (and upload pictures for) places that need pictures in any location
Don’t you just hate it when you go on a photo trip, take photos of places that need pictures, then go back home… and you can’t upload those photos via Nearby because you’re not near those places anymore? We agree. We have now implemented a “search this area” feature in Nearby that allows you to search any location for places that need pictures, and upload photos for them.
To reduce vandalism, we have also implemented a check where the coordinates of a photo being uploaded via Nearby are compared against the coordinates of the place that needs pictures. If they are very different, a warning will pop up, reminding the user of this and asking if they are sure that they want to proceed.
News about ongoing campaigns
We have been wanting to integrate campaigns into the app for a long time now, and finally took the first step in this direction. During campaign periods, users will see a message on the main screen of the app about the active campaign, and tapping the message will bring them to the campaign page. Just like the “nearest place that needs pictures” message above it, swiping this message will remove it from the main screen, and it will not be displayed anymore unless the user re-enables it in Settings.
Implementation of this feature was surprisingly tricky, as we were unable to find any upstream APIs that we could access with a clear start and end date, even just for major global campaigns. We eventually decided to create a “campaigns” repository containing a JSON file with the information that we needed. Currently we have only added WLE and WLM to the file, but we welcome pull requests from anyone who would like to add to it. Other improvements that we are hoping to implement in the future are country-specific support, and full campaign upload integration.
(Yes, the WLM dates for the screenshot above are wrong. We had to temporarily change the dates in order to take the screenshot, as there is no campaign running currently. 😉 If you look at the latest alpha version of the app now, you will not see any campaigns. However, you will see them once the next campaign becomes active.)
Easily re-upload failed uploads
Users can now re-upload failed uploads directly through their main screen by tapping the “retry” button, or remove the failed upload from their contributions list by tapping the “cancel” button. Also, if we are able to detect the reason for a failed upload (for instance, an authentication error), we will display a Toast explaining the reason and suggesting steps that the user can take to fix it.
We do understand that this does not solve the underlying problem. There are plans to overhaul the way the app handles authentication tokens, as well as plans to save upload progress when a connection is lost. However, those changes are not trivial and will take a lot of time to implement, so we hope that this improvement will tide users over until that can be done.
Other improvements
New Medium blog
We have a new Medium blog, for those who prefer to read updates via Medium – https://medium.com/@commons_android_app ! 🙂 If you prefer this blog instead, no fear – we intend to update both.
Optimized Nearby loading
The Nearby Places feature should load much more quickly now! Give it a whirl. 🙂
Alpha testing
Announcing: Our new, automated alpha testing system! 🙂
For the first time, users can easily access our development builds via alpha releases. Rather than having to wait for a Play Store release that is painstakingly tested and deployed by the devs, by signing up for alpha testing you can access all (or at least, most) code changes as they come in, with only a delay of a few hours.
It may be worth noting that these builds may be unstable sometimes, with a higher risk of bugs and crashes than beta test versions. Also, the automated nature of releases means that alpha testers will usually be getting updates every day or even several times per day, so be sure to set up Google Play to only download updates on Wi-Fi.
If none of that deters you, feel free to sign up! Testing the app takes a lot of our time and resources, and we greatly appreciate any help with that. If you find any issues, please report them here and mention that you are using the alpha build.
How to sign up for alpha testing:
- Under the Google account associated with your phone and Google Play, join this Google Group: https://groups.google.com/d/forum/commons-alpha
- Still under the same Google account, go to https://play.google.com/apps/testing/fr.free.nrw.commons/join and join the test program (if it says you have already joined, then skip this step)
- Check the “About” page of the app – the app’s version number should display something like 2.10.0.210~5a6402c. The Play Store listing will still tell you that you are a “beta tester” (a Google Play bug that we cannot do anything about).
A more beginner-friendly Nearby package
We have added Javadocs and tidied up the code in the Nearby package, to make it more accessible to new volunteer developers. 🙂 If you’re contemplating dipping your toes into open source development for the first time, you are most welcome to drop by our repository and take a look. This volunteer guide in our wiki is a great way to start!