commons-app / apps-android-commons

The Wikimedia Commons Android app allows users to upload pictures from their Android phone/tablet to Wikimedia Commons
https://commons-app.github.io/
Apache License 2.0
987 stars 1.18k forks source link

Our team at Wikimedia Hackathon 2019 #1962

Closed VojtechDostal closed 5 years ago

VojtechDostal commented 5 years ago

The Wikimedia Hackathon 2019 will take place in Prague in May 2019 and I'd like many of you to attend. After all, haven't we had fun at the 2017 prehackathon event in Prague? :-)

I'd like to include our app as one of the "focus areas" - making it more visible among participants and possibly finding new volunteers for the app development or for its promotion.

Let's discuss possible things to do during the event. Some of you have good experience with past Wikimedia hackathons - unlike me - and I hope you'll be able to comment on what's doable and what's beyond the scope of a typical hackathon :-)

misaochan commented 5 years ago

Exciting! :)

Do we want the focus to be on Nearby for the main task? If that isn't necessary, I have a soft spot for #1296 (creating a full-featured widget so people can upload or check the nearest place that needs photos without loading the app), which we planned but didn't manage to do for the 2018 hackathon. It's interesting, easy to showcase, and not dependent on other improvements. #1514 (implementing the voice-activated Google Assistant for our app) would be pretty cool and easily standalone, too.

VojtechDostal commented 5 years ago

There is no need to focus on anything specific :) So anything (that would be interesting for hackathon participants) goes. #1296 indeed sounds cool. Not sure if #1514 is a priority (I don't know how many people would be likely to use that? :-) ).

We can also suggest as many as eg. 10 tasks and decide only during hackathon. This way, potential team members will see the breadth of our work and be attracted to it.

misaochan commented 5 years ago

Just received an email that reminds me that the hackathon is coming up. :) Quite a few of us will be there.

We should probably start collecting some tasks that we can recommend to participants who are interested. I added the hackathon 2019 label to some of them, anyone else please feel free to add the label to other tasks as you see fit.

misaochan commented 5 years ago

Just thought about this - we were discussing adding a map of places that DO have pictures, perhaps displaying each picture on the map based on its coordinates. Something like this:

panoramio-map

How about adding this task for the hackathon? We can work on it as a standalone feature during the hackathon, then when @neslihanturan implements filters she could perhaps port the implementation over to the existing Nearby map (we should not display this in Nearby itself until filters are implemented).

neslihanturan commented 5 years ago

@misaochan this looks exciting. Do you mean after filters are implemented and they choose to include "places has photo" they will see photos instead of markers? This looks very nice on such a big image but IMO images as small as our map markers won't be very understandable. On the other hand we can display very small images. With very small images: smallImagesOnMAp

Or we can pop up the image on click to green marker as: keepGreenDots

Actually the first design seems quite interesting to me. Even if I loved green dots, this small images motivates user to take photo. So saying bye to green dots won't be that hard for me.

Just thinking loud, I always supported having only one map in the app, but if we want to support bigger images according to importance of the image, this sounds like an exploring action. So such thing can be under explore too?

Overall my vote is having only one map under nearby, and displaying images like the first design here, all small.

misaochan commented 5 years ago

Yes! The first design looks great to me :D I think it would be nice for users to be able to see small thumbnails on the map, it would pique their interest more compared to having to click on the pins to see anything. Of course, tapping on a small image should expand it into a larger image. We would also need to include at least the author's name and license when we expand the image, AFAIK.

Just thinking loud, I always supported having only one map in the app, but if we want to support bigger images according to importance of the image, this sounds like an exploring action. So such thing can be under explore too?

This was what I was initially thinking, however Nicolas and you preferred having them in Nearby? Personally I could go either way, so it's up to you (or maybe others would like to chime in? @VojtechDostal ;)).

neslihanturan commented 5 years ago

This was what I was initially thinking, however Nicolas and you preferred having them in Nearby? Personally I could go either way, so it's up to you (or maybe others would like to chime in? @VojtechDostal ;)).

The decision depends on our purpose. If we want to do something like the image you shared, then it should be on explore IMO. On the other hand if we just want to display small images instead of markers, we can put it in Nearby and use the first design I shared. My final decision is keeping it on Nearby.

misaochan commented 5 years ago

Hmm, I guess having all small images would be simplest. However, I don't think we can display literally all the images, since there could be hundreds of images with coordinates close to each other, so we would need to think of a way to prioritize them anyway.

maskaravivek commented 5 years ago

Also, some people might be interested to contribute but might be new to Android or our project. Can we have small predefined tasks to write unit tests for specific parts of the app? In the showcase, all these subtasks can be showcased as 1 where we talk about the increase in test coverage we achieved just in 3 days.

I agree that working on writing test cases(UI or unit tests) isn't very fancy and a lot of people might prefer to hack away on adding a new feature rather than working on tests. Even if we manage to have a couple of volunteers working on tests, we can achieve a lot in terms of test coverage and this would be something that could be immediately merged to master(immediate rewards for the contributor and for our project :)) after code reviews.

Personally, I would like to volunteer at least 1 day for improving test coverage during the hackathon.

VojtechDostal commented 5 years ago

Hello all, as our app is featured as one of the topics for the hackathon, the organizers suggest that we as a team give a short introductory talk on the technical side of the app / plans for future etc. Would anyone be willing to do that? :) Thank you.

maskaravivek commented 5 years ago

Yup, we can prepare an introductory talk on our future plans covering the technical aspects. I will start preparing the slides and share the Google Slide link here so that we can collaborate on it. :)

If @misaochan and @ashishkumar468 are also willing to participate then we could present as a team.

Just to add that @misaochan is traveling till the start of the hackathon and might not be able to check Github/Hangouts while traveling.

Also, @neslihanturan is sadly not coming to the hackathon because of her examinations. :(

@VojtechDostal Do we need to add the talk on Phabricator board/wiki page?

VojtechDostal commented 5 years ago

Thank you Vivek. I will ask what needs to be done

misaochan commented 5 years ago

Yes, I'm happy to participate as well. :) Thanks for starting with the slides @maskaravivek , I will try to check in a few days before the event when I might have proper internet again.

ashishkumar468 commented 5 years ago

I would like to help too @maskaravivek . Let's discuss about the slides.

VojtechDostal commented 5 years ago

So, we should schedule the talk using the instructions here: https://www.mediawiki.org/wiki/Wikimedia_Hackathon_2019/Program#How_to_schedule_a_session

Also please e-mail hackathon@wikimedia.cz - someone from our team will then make sure that your talk is given a priority :)

VojtechDostal commented 5 years ago

We have a time slot at 4pm on Saturday: https://www.mediawiki.org/wiki/Wikimedia_Hackathon_2019/Program#Saturday,_18_May:_Hacking_all_day!

Any progress please? :)

neslihanturan commented 5 years ago

I had a slide that I used at Netherlands Techstorm, some parts of it can be used. I have just shared it with the @misaochan , @ashishkumar468 and @maskaravivek .

When it comes to nearby displaying existing images feature, I think this is not a good idea for the hackathon now, since nearby filters are not ready yet, and a huge refactor on nearby classes is on progress. Choosing a simpler task for the event can be better IMO.

maskaravivek commented 5 years ago

@VojtechDostal I have just added our session on the program page. Feel free to move it around if its not at the right place. :)

https://www.mediawiki.org/wiki/Wikimedia_Hackathon_2019/Program#Saturday%2C_18_May%3A_Hacking_all_day%21

Also the associated phabricator task is up on phabricator.

https://phabricator.wikimedia.org/T223298

I have also dropped a mail to hackathon@wikimedia.cz. :)

misaochan commented 5 years ago

Thanks guys! Re: the tasks, if "display existing nearby images" is not suitable, how about we just stick to the widget and unit tests? I guess other participants might have their own ideas for things they want to do, too?

nicolas-raoul commented 5 years ago

Here would be my task recommendations:

A) Selfie detection. Once a selfie is detected, warn about it (for reference see how the app warns about pictures that are too dark or that have been downloaded from Facebook). There are several possible strategies: OpenCV, machine learning, EXIF. Merits: fun, doable, testable, interesting tech, useful.

B) AI-based "depicts" suggestion. It would only take a few hours to create a prototype (with a very big APK size and only a few ImageNet->Wikidata mappings). Some people might have already implemented it for other upload tools? Our extra challenge is making the recognition offline, before or while the image is uploaded. Merits: hot topic, doable, easily testable, useful.

C) Structured Data on Commons, as suggested by Cparle. Brainstorming about what would be ideal, maybe demo implementations or proof-of-concepts. Merits: hot topic, interesting tech, useful.

D) If no coordinates, ask where picture was taken Merits: doable, easily testable, useful.

E) For non-coders: Draw the app's "feature graphic" Merits: Fun, useful.

nicolas-raoul commented 5 years ago

How was the hackathon? :-)

Showcased hackathon results, the Android Commons app is number 19: https://etherpad.wikimedia.org/p/Wikimedia_hackathon_showcase_2019

Any videos available maybe?

misaochan commented 5 years ago

Hi @nicolas-raoul ! The folks we met at the hackathon were interested in creating a new design for the app (main screen and explore), so that is what we focused on. I don't know if there was a video of the actual presentation, but we made a demo video of the prototype (https://drive.google.com/file/d/1IQG7n34yRkHek4I4yfRp9mNV4mXsQyNL/view) and slides (https://docs.google.com/presentation/d/1bvY8f3Vv9Tf8jzNTVuSfVvvjeaEsLypnlI39mQYOcRE/edit#slide=id.g57ddc48de3_0_0). The actual code would need some tidying up before being mergeable into master, but even in the worst case scenario @neslihanturan could use it as a base when she starts on #2843 .

neslihanturan commented 5 years ago

Actually it would be amazing if someone from hackathon can list all design considerations given at the hackathon under #2843 . Ie. do we keep hamburger menu, how many bottom tabs we plan to use etc. It is not very easy understand from slides.

misaochan commented 5 years ago

I'm not sure if I can remember all design considerations, but AFAIK the consensus was that bottom tabs should be capped at 5, and one of them would replace the hamburger icon (i.e. instead of being pulled out from the hamburger icon at the left side of the action bar, the nav drawer would be pulled out via the "More" icon in the bottom bar).

The function of the slides is that the left screenshot is the old UI, and the right screenshot is the corresponding new (proposed) UI for that activity.

If you have questions about any specifics, you can always drop a question in the Hangouts that we invited you, and hopefully Robin will answer. :D

misaochan commented 5 years ago

@neslihanturan We have a clearer depiction of the design suggestions at https://phabricator.wikimedia.org/T223159 also. I almost forgot about that! :) I will close this now that the hackathon is over, and we can continue our discussion in the main issue.