-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Description
There was another issue for this #865 , but that was written almost a year ago - the timeline and scope has changed since then and that issue has gotten rather long, so I figured that it would be best to get a fresh start.
WMCZ has kindly offered to fund the development of our app for a short period of time, and the new features/improvements that I would propose are below. These new features will be implemented by 3 part-time developers for an average of 11 weeks. We intend to start after our IEG renewal is completed - current estimate for IEG completion is late July with a final release of v2.9. This (WMCZ-funded) project will then run from Aug - Nov and culminate with a release of v2.10. (Future plans: we also intend to apply for a WMF-funded Project Grant which is due to start March 2019 if approved)
Feedback greatly appreciated from anyone, thanks! @VojtechDostal @nicolas-raoul @neslihanturan @maskaravivek
Nearby-related improvements
- Tidy up code in entire Nearby package and write Javadocs for all Nearby classes and methods. This will help allow new contributors to get started with this package, and will also provide a solid foundation for future Nearby improvements. If successful, we plan to iterate on this with other packages in the future. Tidy up code in entire Nearby package and write Javadocs for all Nearby classes and methods #1828
- Manual selection of Nearby search location: "search in this area" button, and allow users to directly upload photos for items in that location. This will be essential for users who prefer to take photos first and then upload later (e.g. at home, on the bus, etc) "Search this area" to launch a nearby search around that location #591
- Geocoordinate checking of photos uploaded via Nearby to reduce risk of vandalism, especially after manual selection is enabled. If a user uploads a photo with a geotag that is far away from the location of the Nearby entity, prompt user to reconfirm. If they confirm that they want to perform the upload, allow the upload but do not edit the Wikidata item Check image coordinates for direct Nearby uploads in locations that the user is not currently in #945
Other new features
- Show ongoing campaigns. We could have a "news" section (perhaps in the main screen UI), so that users can see what Commons campaigns/competitions are going on at the moment. If this receives good user response, we might consider deeper campaign integration in the future. Show news about ongoing campaigns/competitions #78
Tech improvements
These improvements are aimed at simplifying testing and debugging for the future. As demonstrated by the issues that we faced throughout our IEG renewal (e.g. Dagger crashes, failed uploads and Wikidata edits), we need to tighten the user testing/feedback loop to be notified more quickly when problematic code is merged, and we also need a better way of getting logs from users who are experiencing issues. The improvements below are my plans for fixing this problem, but other suggestions are most welcome.
- Automate frequent app releases to a pool of testers. This will allow us to find bugs/crashes early without time-consuming manual releases, and expand our options for volunteers for testing (since now non-technical folks can test the app without needing to wait for a release or for developers to send APKs to them). Two possible ways of doing this: (1) Create an alpha test track on Play Store and automate alpha testing, where releases are automatically pushed to alpha with each commit to master. (2) Use Fabric Beta to automate and distribute test releases. At each commit to master, automatically build an APK and send it to Google Play alpha #1056
- Improve the "Send logs" feature. In its current state, "send logs" is not very useful - the logs are not filtered for our app, and some logs that we receive don't contain anything from our app even after filtering. We need to investigate why this is happening and modify the feature (with filters) so that we can actually get useful logs from users. Modify the "Send Logs" feature #1489
- Better handling of failed uploads. In cases where we know the reason for a failed upload, we should mention it to the user (e.g. low connectivity, or not logged in, etc.). We should also allow user to re-upload the photo (this feature currently exists but does not work a lot of the time). Allow users to easily re-upload failed uploads, and provide reasons for failure where possible #1556
Misc
- Create a Medium blog for our app and try to get our blog included in the Wikimedia collection Start a Medium dev blog and add it to Wikimedia publication? #1462
- Release v2.10 containing all the improvements above and fix all issues with implementation
Notes
- This plan is slightly more sparse with regards to new features per time than our current grant. The reason is that our current grant has taken 2+ months longer than estimated to complete, largely due to my underestimation of how long it takes to fix bugs and issues with each new feature. Based on our IEG renewal, I realized that more time needs to be allocated for bug fixes. Hopefully with this plan we will finish on time with a polished and non-buggy implementation, rather than running late. If we finish ahead of time, we will work on additional high-priority issues.
- A midpoint report and final report/blog post are factored into the time estimates.