-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Plans for 2018 - WMCZ proposal #865
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Hi all and thanks @misaochan for starting this. I am also posting @tised 's suggestions on the technical side of the app which you might or might not find useful - just wanted you to have them at your disposal:
|
On the technical topics, generally a "yes" to all with the following notes:
Codacy is reporting some very high cyclomatic complexity numbers for classes like |
Thanks for the suggestions, all! I am on board with most of the technical changes suggested, especially refactoring the large and complex classes ( @psh and @maskaravivek , would you two like to collaborate to come up with a list of technical improvements that we would add to my user-focused list above? Preferably with input from @whym , @nicolas-raoul and anyone else who is interested, too. @VojtechDostal , to what extent do you think WMF would be willing to fund technical improvements that would make the codebase significantly cleaner but have little or no impact on the end user? If, say, 33% of our proposed improvements were technical, would that be viewed as reasonable by WMF? |
@misaochan I would not be afraid of including the "technical" changes, which do not affect the appearance or functionality, into the proposal. As long as they are well reasoned and are supplemented with changes that do matter for the user, I'm fine with everything. A good code is the basis for all future improvements. |
Wonderful, thanks for the clarification! :) We can definitely go ahead with including some of the technical improvements, then. Personally, I would suggest that we focus first on the improvements that do not require adding new libraries, and then judiciously select which new libraries we want to include. This could be a personal preference, but my opinion is that the more libraries/external frameworks we include, the higher the barrier of entry to new contributors/volunteers. So IMO each new library is a trade-off that needs to be considered carefully. That being said, I have not been doing Android development for very long, so if the more experienced devs come to a consensus that there is a very good reason for any or all of the libraries suggested, I'm happy to go with it. |
Classifying things according to "library" / "no library" gets us a list that looks something like this (based on details from @VojtechDostal with 2 additions)
I'm being really strict with both Dagger and ConstraintLayout - both libraries are from Google and could be counted as "core" to the platform, but then again, they are additional items in |
Thanks for the sorting, @psh ! I would also add your suggestion to the "no library needed" -
MaterialShowcaseView appears to have very tangible benefits for the user (which I am not sure how we could easily replicate without it), so I would vote that that particular library is worth adding. Dagger, Glide and ConstraintLayout is up to the rest of you. |
Could you describe a little more about what you expect the app to allow you to do? This might help in assessing the feasibility.
You could just tag the edits triggered from the app rather than logging it.
I don't like the sound of that. It seems to be a feature creep that could waste developer time which could be used to in improving something else. It's better to leave that to the android app or mobile web. This reminds me of ES file explorer which despite of claiming to be a file explorer implements all sorts of totally unrelated things. I find that to be an ugly decision.
Shortly (in the line of my previous comment), It's a feature creep and not worth the work. Just leave that to a navigation app. In case you try to implement navigation you'll have to address all sorts of issues regarding navigation which isn't something the app should be focusing on. N.B. : These are just my opinions so please don't take them seriously. |
Hello, all! Few comments from the current discussion:
|
Hello team, I can add some small notes:
|
@sivaraam While directions is probably overkill, compass on the Nearby map would be really helpful. As a heavy user of Nearby, I always head towards the nearest cluster of items, and only open a real map app when I don't know what is the direction I should head to. This is not feature creep, this is an essential feature if we are serious missing pictures. |
(I don't know how "exact" this has to be, but if you can try to avoid "push notification" as it implies [complicated and extensive] technical implementation that is not really needed by both issues and features they refer to - "notification" explains the features well enough) |
Yeah, @nicolas-raoul compass would be fine. I didn't think of providing compass alone as a feature, so I didn't mention that explicitly. I'm not pretty sure of it's feasibility, though. |
Great feedback, thanks all! I have modified the opening post to reflect some of the comments and to include the table of technical improvements made by @psh (with the exclusion of MaterialShowcaseDesign, which I think is a user-focused improvement and not a technical one). I agree with @maskaravivek that we will need to prioritize things. Depending on the budget, it is unlikely that every single improvement on that list will be achievable. I will mark some items on the list as high-priority, feel free to go through and suggest other items that aren't marked. (This doesn't mean that lower-priority items won't be included, just that if we have to ditch anything, high priority items have a lower chance of being ditched) Good points re: map navigation. I am inclined to agree that we can include the compass but exclude the routing/directions. @sivaraam let us discuss the details surrounding the implementation of Wikipedia edits at #872 , so we can keep this issue for more general discussions. I will try and come up with exactly what sort of modification we might want and post there later. |
I added a few new issues and did a little organizing based on what @whym started - the project WMCZ Plans for 2018 has a "backlog" column of the various issues we called out in this thread. I propose that the ones we want to work on get pulled over into the "Ready To Start" and ordered from top-to-bottom in a priority ordering. As things are assigned we can drop them into "In Progress" and then "In Test" as they turn into PR's. |
Awesome, thanks guys! The system looks good to me. :) (We should probably make a similar system for the IEG renewal if/when it is approved, too) |
Oh, I just noticed that a few of the items in that project were actually slated for the IEG renewal proposal (see #694 and its associated Metawiki link). Apologies for not being clear about the two - they are actually two separate proposals and two separate "grants". The 6-month IEG renewal was applied for in July 2017 and was intended to run in 2017. The WMCZ 2018 proposal was intended to fund development in 2018 after the IEG renewal completes and the deadline for this proposal is 1 Oct 2017. It is a little bit confusing now, as the 2nd proposal is due soon but the 1st hasn't received an answer yet. I have transferred the mistaken tasks to a new "IEG renewal" project, no worries. Just felt that I needed to clarify. |
This issue is outdated, please see #1683 |
Uh oh!
There was an error while loading. Please reload this page.
As some of you may know, Wikimedia Czech Republic has kindly offered to include us in their grant proposal for 2018 funding. :) We will need to come up with a list of improvements that we intend to implement in 2018. @VojtechDostal has informed me that their proposal is due on 1 Oct 2017, so we will need to "finalize" the list by the end of September ideally.
Feedback on the proposed improvements, as well as suggestions for new improvements, are most welcome. The scope will be for 10 months of development (most likely by the same team as the renewal proposal), starting March 2018 and ending Dec 2018. Development time must also include time needed for fixing bugs and issues with implementation, as well as for mandatory reporting.
Legend:
[HP] - High-priority improvements
[Optional] - we are currently undecided on whether we should include these
User-focused improvements
Further Nearby enhancements
[HP] Edit Wikipedia article to include image that was just uploaded In Contributions list, add an icon for images uploaded via Nearby that allows users to use that image in associated Wikipedia article(s) #872 - as discussed in Upload a picture directly from list of nearby places needing photos #252, we might want to allow the user to edit the associated Wikipedia article to add the image, after the user has successfully uploaded a pic for a Wikidata item. This would complete the "chain" of seamless workflow after the other improvements at Upload a picture directly from list of nearby places needing photos #252 are completed during the renewal - users can browse the places that need photos, select one and move to the location, directly upload the photo after taking it (with suggested titles and categories based on the Wikidata item), and THEN add it to the Wikipedia article that is associated with that item. We could see if the Wikipedia app allows us to do that, or otherwise link to the web view, or we could also implement the functionality in our own app if other options don't suit. Considerations: we must include a tutorial on how to do so, we must consider the user's Wikipedia language version as well as how to implement the UI in a clean manner, and we should log the edits that are made via our app to ensure that we aren't vandalizing articles.
[HP] Android system notifications - There are currently 2 different suggestions for this, Send system notification when user is close to a location on the Nearby Places list #79 and When user takes a photo, send push notification - "Is this a picture of A/B/C? Is it in administrative area D/E/F? (then link Wikidata/Commons)" #259 . The former triggers when the user is close to a location on the Nearby list, whereas the latter triggers when the user takes a photo while close to a location on the Nearby list. We can implement either one, or both. Input would be very welcome on the pros/cons of either. These notifications should be opt-in.
[HP for compass] Improve map navigation - implement compass
and routingto minimize the need for user to switch to their map appLocalize the Nearby map/list Localize nearby map #669
Allow user to manually select a location for Nearby search Allow sharing of location for Nearby search from other apps #537
Others
[HP for ads] Add campaign support Show news about ongoing campaigns/competitions #78 Add support for campaigns #545 - There are varying levels of "support" possible, ranging from simply displaying news/ads for ongoing campaigns, to full integration that allows users to submit photos for the competitions directly through the app. Personally I would start with the former, and wait and gauge the response before trying for the latter. While a central app for submitting WLM, WLE, etc submissions sounds great, AFAIK the winners and perhaps even most of the participants of such competitions might primarily use DSLRs and not mobile phones?
Peer review for images submitted by other people Peer review - review the latest pictures uploaded by other people #780 . This could help relieve the burden on Commons volunteers (and help increase our acceptance by the Commons community, which has been a long hard road thus far ;)).
[HP] Add limited connection mode Add limited connection mode #746 - This would be especially useful for travelers, which is a big target demographic for our app
[HP] Badges & light gamification Feedback on how my pictures get used: Statistics, barnstars, light gamification #85 - There were many suggestions for this during the pre-hackathon and hackathon. Badges would "gamify" uploading somewhat, thus inspiring users to upload photos because it feels more "fun". I think we want to stay away from pure quantity badges like "200 uploads" so we don't inspire bad uploads. Rather, we could offer badges for quality, like when the user maintains a 90% no deletion rate, or when their pictures are used in articles or selected as picture of the day etc. Considerations: How to keep track of this in the backend?
Modify desc/category/etc from within the app Modify categories/description afterwards #161
[HP - at least a prominent link to a web view if we can't implement the entire thing within the app] Implement user polls within the app Polling users #445 - This would be extremely useful for planning new features, in that we can easily get user input before implementing anything. Of course, there are simpler ways to create polls (in forums, external poll services or even in GitHub, etc), but IMO this is the best way to ensure that all users get a say while minimizing the extra work needed for the user (e.g. if we use GitHub, they would need to create a GitHub account to post). However, the tradeoff is that it is a lot more work for the developers (but I believe this would be worth it, especially if the app continues to grow). We would likely need to do some server-side implementation to host the results.
Finally
[HP] Design and develop a new main screen displaying various information Create welcome screen #568 - This can only be done at the end of 2018, after most of the previous improvements have been completed. We can display ongoing campaigns, the badges that the user collected, some contribution statistics, any recent news/polls for the app, the nearest location that needs photos... all alongside the upload from gallery/camera button(s) (which should of course be very prominent), and links to the user's recent contributions and the Nearby list/map. I personally believe this would be the best utilization of the main screen real-estate, although it is a very long-term goal.
[HP] Implement a walkthrough of the new UI and various features for the user - Design a first-run experience around the MaterialShowcaseView library mentioned at Add brief explanation to Nearby Places UI #706
Technical improvements
The text was updated successfully, but these errors were encountered: