Just filling things in as I go, as I tend to be a bit forgetful otherwise. :) Will tidy it up closer to the end of the bonding period.
== Detailed plan agreed with mentors ==
Done - no changes to the detailed plan at https://phabricator.wikimedia.org/T115101 at the present moment
== Phabricator project created ==
Done - https://phabricator.wikimedia.org/tag/commons-app-android-upload/
== Meetings with mentors started ==
Done - last meeting was at 2am UTC, 20th Nov on Google Hangouts. We discussed:
- Getting used to the codebase for the app (especially the categorization package)
- Communication plan (see below)
- Potential APIs for Phase 1: Wikidata API, Commons API, and searching for existing pictures with those coordinates. Plan to test these APIs to see which one fits our needs best.
- It was suggested that I announce my project on various mailing lists and try to recruit testers
- Emulators and testing
== Bonding period report ==
=== Work done ===
- Set up project board and learned about project and task organization
- Set up and used Google Hangouts
- Installed Intel HAXM and enabled virtualization in BIOS in order to use the x86 emulator for Android (which is VERY much faster than arm - thanks for the tip Niedzielski!!)
- Announced project on wikitech-l, mobile-l, commons-l, and wikivoyage-l
- (In progress) Familiarize self with categorization package code
- (In progress) Read up on Wikidata API and Commons API
- (In progress) Fill GitHub wiki with use cases that we can test APIs with (https://github.com/nicolas-raoul/apps-android-commons/wiki)
=== Lessons learnt ===
- It is good practice to use fragments for Android app development even if you aren't necessarily creating more than one type of layout at first, as it provides a good foundation for future additions/changes
- A good way to get used to a new codebase is the Android hierarchy viewer in Android Device Monitor (tree view), and using breakpoints for debugging
- It's good to test releases on at least two Android versions: (1) the target version, in our case API 17, and (2) the latest version, currently API 23
- Commit (and release) early and often!
=== Problems faced and solutions found ===
- My mic was breaking up sometimes during the last Google Hangout, which must have been pretty disruptive. Will fix that prior to the next Hangout.
=== Changes to the original plan ===
- No changes so far
=== Minimum Viable Product ===
**(Phase 1, release planned for week before midterm evaluation) **
App should display suggestions for categories that are geographically nearby when the user uploads a photo - https://phabricator.wikimedia.org/T119163
=== Communication Plan ===
- IRC (mostly #wikimedia-mobile)
- Weekly Google Hangouts starting Dec 7
- Daily progress reports and tasks on Phabricator
- GitHub wiki and issues - https://github.com/nicolas-raoul/apps-android-commons