Skip to content
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

GSoC 2019 and Outreachy Round 18 #2367

Closed
nicolas-raoul opened this issue Jan 28, 2019 · 29 comments
Closed

GSoC 2019 and Outreachy Round 18 #2367

nicolas-raoul opened this issue Jan 28, 2019 · 29 comments

Comments

@nicolas-raoul
Copy link
Member

nicolas-raoul commented Jan 28, 2019

GSoC 2018 was a great success, with two totally new features which are now central parts of the app (achievements and explore).
Let's do it in 2019 too!
Who would like to volunteer as a mentor? We need two mentors per student.
Ideally someone who knows Android development and Commons, or someone who has been active on the project.

Documentation:
https://google.github.io/gsocguides/mentor/what-makes-a-good-mentor.html
https://developers.google.com/open-source/gsoc/help/responsibilities

Personally I volunteer to be a mentor this year too :-)

Project ideas are welcome too!

@maskaravivek
Copy link
Member

I would also like to volunteer as a mentor. :)

@misaochan
Copy link
Member

misaochan commented Jan 28, 2019

Awesome, guys! :)

I'd like to volunteer as well, but I would prefer to mentor an Outreachy project instead of GSoC this year. I guess that would depend on whether we are allowed an Outreachy slot or not - AFAIK Wikimedia only has 2(?) Outreachy slots but many GSoC slots.

(Anyone want to mentor an Outreachy project with me for the same round as GSoC? If there is a 2nd mentor, I can ping Srishti and ask if we have a slot ;) ).

@misaochan
Copy link
Member

For the GSoC project, how about #28 ?

I think it would be good to ask the student to submit unit tests along with their code, too. Since we are trying to implement TDD for our project.

@maskaravivek
Copy link
Member

For the GSoC project, how about #28 ?

I like the idea of having this task as part of GSoC. Maybe we can club it with another task as this might not take more than 15-20 days. :)

I checked with Srishti and it seems that there are a few slots left for GSoC and 2 slots left for Outreachy. She has requested to submit project ideas as soon as possible.

Are we going to mentor 2 students(maybe one each for Outreachy and GSoC) or 1 student?

I will try to list down a few potential ideas by tonight and it would be great if others could also add ideas. :)

@ashishkumar468
Copy link
Collaborator

ashishkumar468 commented Feb 27, 2019

If there are more volunteers needed, I would also like to pitch in for the same :), probably co-mentor with someone.

@misaochan
Copy link
Member

Ah sorry, I thought I would not have a co-mentor for Outreachy since I didn't get any responses since January - I made some other commitments that would make it difficult for me to mentor now. :( Unless we can get an additional mentor to work with @ashishkumar468 , we'll probably only be able to take 1 student.

@maskaravivek #28 actually sounds like a sufficient project for the entirety of one GSoC IMO, especially with the unit tests and Javadocs requirements. I think I recall the guidelines saying: "The task should require 3 weeks for an experienced developer to complete", which sounds about right. But, of course, it's entirely up to you and Nicolas. :)

@nicolas-raoul
Copy link
Member Author

I also think #28 sounds not-that-big for a GSoC/Outreachy. Of course if you had many high-tech features like a pictures strip that updates as you move the map, that might take time to develop, but should we really spend developer time on this?

GSoC/Outreachy is an opportunity to start totally new features, and I believe Structure Commons is the best candidate now: #2415 Captions+Depicts would be the right size for a GSoC/Outreachy, I think. Structured Commons is really important for us because it allows our app to be truly multilingual. Right now even if you are a Japanese-only speaker you can have the app in Japanese but you still see all filenames in other languages, and you have to select categories named in English (in Explore and when uploading). Structured Commons also allows for saner category choosing, for instance just select Dog, Tokyo, Night instead of wondering whether the right category might be "Dogs at night in Tokyo" or "Dogs in Tokyo at night", which is super-hard to find out on mobile. It is in our interest that Structured Commons gets used as soon as possible, and we can be pioneers in that :-)

@misaochan
Copy link
Member

Sure, I am good with either of the above tasks, it's up to you guys. :) But please do allocate time in the schedule for the intern to write unit tests - their PRs do not need to increase code coverage, but they should at least not decrease coverage (i.e. the tests should be sufficient to cover their own methods).

@maskaravivek
Copy link
Member

#2415 sounds great to me as well.

@misaochan Yes, we will include unit tests as part of the project. From what I understand the code changes required to complete any of the subtasks mentioned in #2415 would be small. It is just that the discussion, planning the UI and researching about the relevant APIs would take a decent amount of time.

With 3 weeks of community period(for getting acquainted with the code base and understanding the workflow) and ~11 weeks of the coding period, the task seems achievable to me.

@nicolas-raoul Should I go ahead and add it to the phabricator workboard. https://phabricator.wikimedia.org/project/view/3795/

@nicolas-raoul
Copy link
Member Author

nicolas-raoul commented Feb 27, 2019 via email

@madhurgupta10
Copy link
Collaborator

@nicolas-raoul @maskaravivek I am little surprised that project is not mentioned under GSoC 2019 list for Wikimedia Foundation, could you please confirm.

@maskaravivek
Copy link
Member

@madhurgupta10 I am currently adding the project proposal. Hopefully, it would be approved and will be added to the list. :)

@madhurgupta10
Copy link
Collaborator

@maskaravivek Thanks for the update :)

@misaochan
Copy link
Member

Thanks for mentoring this round, @maskaravivek and @nicolas-raoul ! :)

@maskaravivek
Copy link
Member

Guys, I have added our project in the backlog for GSoC 2019 on the phabricator workboard.

https://phabricator.wikimedia.org/T217265

It would be great if someone could review it and add more description to it if needed. :)

@madhurgupta10
Copy link
Collaborator

@maskaravivek Awesome

@maskaravivek
Copy link
Member

@maskaravivek
Copy link
Member

Apart from GSoC, we might be able to showcase a project for Outreachy as @ujjwalagrawal17 has also volunteered to mentor.

I was considering to showcase either of these 2 projects for Outreachy.

@misaochan @nicolas-raoul @ashishkumar468 @ujjwalagrawal17 It would be great if you could share your opinions about this. :)

I will add the project to the backlog once we finalize it here.

@ashishkumar468
Copy link
Collaborator

Both of (#2428 & #2027 ) look good to me in terms of increase in DAU's and gamification is always good. Considering the importance of nearby in the long run (IMO), I would vote for #2428

@misaochan
Copy link
Member

misaochan commented Feb 28, 2019

Hmmm. A potential concern with #2428 is that it will require a lot of work that isn't really related to coding. For instance, you would need to publicize the competition, answer questions about it, announce the results, and come up with rules that are fair and adhere to policy. However, if you think you could handle it, I would vote for #2428 because it would be great publicity for the app IMO. :)

@nicolas-raoul
Copy link
Member Author

I don't think #2428 would be a good choice now, because Nearby still need some polishing before we can advertise a competition, and there is almost no coding, and a lot of waiting time.

I vote for #2074, as a technical experience it is easy to explain, it involves several technologies, and it is just the right size, with some bonus tasks if time allows.

@misaochan
Copy link
Member

and a lot of waiting time.

This is true. #2074 also sounds good to me.

@ujjwalagrawal17
Copy link
Collaborator

I also agree with Nicolas and I think we can proceed with #2074 .

@ujjwalagrawal17 ujjwalagrawal17 changed the title GSoC 2019 GSoC 2019 and Outreachy Round 18 Mar 1, 2019
@maskaravivek
Copy link
Member

maskaravivek commented Mar 1, 2019

@ujjwalagrawal17 Can you add this to phabricator board and MediaWiki ideas page and also to outreachy project. :)

Edit:

I have gone ahead and added the project myself as only 2 slots were left and I didn't want to delay it from our side. :)

Outreachy proposal: https://www.outreachy.org/may-2019-august-2019-outreachy-internships/communities/wikimedia/add-leaderboard-based-on-users-edits-using-commons/cfp/

Phabricator: https://phabricator.wikimedia.org/T217439

Mediawiki: https://www.mediawiki.org/wiki/Outreachy/Round_18#Add_leaderboard_based_on_user's_edits_using_Commons_Android_app

@ujjwalagrawal17 and others, it would be great if you could review it and edit the descriptions if required. :)

@ujjwalagrawal17
Copy link
Collaborator

I have made a project schedule for Outreachy task #2074. Can you suggest improvements.

The project is about adding a leaderboard based on user's edits using Commons. The feature will include only edits made with the mobile app, and users who have shown interest in this activity.

Project schedule :

  1. Add option to enable leaderboard from achievements screen.
  2. Add Leaderboard Screen and display user's Avatar and rank on Leaderboard screen fetched from Mediawiki API.
  3. Use the Mediawiki API to fetch leaderboard (user list) based on uploads via mobile app (all time) and display it in Leaderboard screen.
  4. Add pagination in the leaderboard screen to load more users on scrolling down.
  5. Add duration filters in leaderboard screen and show results based on selected filter(weekly, monthly, yearly, all time). Change the UI to show and select filter.
  6. Change the UI to show 3 different results (based on uploads, nearby, used).
  7. Tapping the name of a user in the leaderboard should open the gallery of that user's pictures, probably as a browser URL for now.
  8. Release (at least in alpha), write documentation, test, fix bugs
  9. If time permits, Add option for users to change Avatar, Store user's Avatar in cache for a month.

@nicolas-raoul
Copy link
Member Author

@ujjwalagrawal17 My feedback about this schedule: #2074 (comment)

@misaochan
Copy link
Member

Thanks for creating the schedule, @ujjwalagrawal17 ! Would you like to put in 1-2 weeks for writing unit tests, or will it just be incorporated into the other tasks? I think a dedicated week for it in each half of the project would be beneficial, as the students are unlikely to have written unit tests to this level of coverage before, so they might need a bit of guidance.

I also agree with @nicolas-raoul 's feedback - no need for an option.

Aside from that, looks good to me. :)

@madhurgupta10
Copy link
Collaborator

@misaochan @nicolas-raoul @maskaravivek apart from #2415 can we discuss any other idea for GSoC 19?

@ujjwalagrawal17
Copy link
Collaborator

@madhurgupta10 if you have any other idea you can suggest that in this thread.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants