Page MenuHomePhabricator

Proposal: Develop a tool for displaying a user contribution summary
Closed, DeclinedPublic

Description

===Profile Information
Name: Shreya Sonawane
IRC nickname on Freenode: Shreya1771
Web Profile : Linkedin
Resume (optional) : link
Location (country or state): Tamilnadu(India)
Typical working hours (include your timezone): 8:00AM-6:00PM , India Standard Time( UTC +5.30)

===Synopsis

  • Short summary describing your project and how it will benefit Wikimedia projects :

User Contribution Summary Tool
This project will help Wikimedia Community by
1.Motivate contributor to contribute more
2.Trust gaining of users
3.Creation of API's will help to analyze more user data

  • Possible Mentor(s) :

Gergő Tisza (@Tgr), Stephen LaPorte (@Slaporte)

  • Have you contacted your mentors already?

Yes,I already have.

//===Deliverables//

Describe the timeline of your work with deadlines and milestones, broken down week by week. Make sure to include time you are planning to allocate for investigation, coding, deploying, testing and documentation .

  • Nov 09 - Nov 23
    • Community Bonding Period.
    • Learn about meta process of how people engage with the Wikipedia pages.
    • Learning about the community and their expectations about the tool.
    • Detailed discussion with mentors regarding project sub tasks and milestones.
    • Get familiar with the existing analytics tools (eg: xtools) and ideas.
    • Use Query to write SQL queries on public Wikipedia data.
    • Improve knowledge about the technologies and environment that is going to be used for the production of the tool.
    • Write my 1st blog post about Outreachy, an overview of the WMF, my application process, and an explanation of my Microtask.
  • Nov 23 - Dec 07
    • Community Bonding continues.
    • Working on the design of the selected features for the User Interface.
    • Investigation of coding style of Wikimedia applications and API. Prototyping.
    • Familiarize myself with the MediaWiki API and database layouts.
    • Brush up on basic SSH command line usage to prepare for internship (ex: SCPing a file between server and my laptop, using my screen command to launch queries in the background)
    • Continue to fine tune project details with mentors and check in regarding current progress and come up with various features that could be included in the tool defining the scope for the project.
    • Complete community bonding period report per Outreachy guidelines
  • Dec 07 - Dec 14 (Week 1)
    • Bootstrapping the project.
    • Setting up the project: Choosing frameworks for Backend and Frontend, setting up the development environment and the continuous integration.
  • Dec 14 - Dec 28 (Week 2, 3)
    • Features: contribution calendar/graph, user profile overview, badges.
    • Implement the backend (data collection and presentation): types of badges and retrieval of the required data, retrieval of data for contribution calendar/graph.
    • Work on the frontend design and representation of badges, user profile, contribution graph.
    • Daily check-in (15 - 30 minutes): Review progress/timeline with Tgr (Gergő Tisza) and Slaporte (Stephen Laporte) discuss roadblocks, review results, discuss next steps .
    • Write 1 blog post about my initial experiences with WMF processes (decisions made in the open via a collaborative and consensus based approach and working remotely with distributed team).
  • Dec 28 - Jan 11 (Week 4, 5)
    • Features: pinned articles, top X percentile in Y category tag, contribution list with filters
    • Implement the backend (data collection and presentation): customization of the pinned articles, collection of data for percentile tag, extraction of contribution list, types of filters.
    • Work on the frontend design and representation of the selected features.
  • Jan 11 - Jan 18 (Week 6)
    • Testing and making revisions based on feedback.
    • Bug fixes and code clean up
    • Write 1 blog post on Task (explanation of project, how it was completed and any lessons learned)
    • Reviewing and improving documentations.
  • Jan 18 - Feb 18 (Mid term evaluation)
      • Get the initial working prototype ready.
      • Complete mid-term evaluation with mentors per Outreachy guidelines
      • January 22 -23: Will try to attend the Wikimedia Developer Summit 2018 in San Francisco, CA
      • Deliverables:
    1. (~ 2 weeks) A report examining various possible specifications of this project (e.g. choice of percentile, etc.), their possible data quality issues and suggestions how to fix or mitigate them, and an assessment of their sensitivity and robustness
    2. (~ 1 week) An exploratory analysis showing how the chosen metric differs across various dimensions, e.g. project language or geographical region
    3. (~ 1 week) A workflow or an automated tool to regularly inform Wikimedia data team (if possible) and the Wikimedia movement on how this metric is developing
      • Continue to fine tune project details with mentors and check in regarding current progress
  • Feb 18 - Feb 25 (Week 9)
    • Provide API for the tool so that other tools can fetch and use the data.
    • Providing documentation for the APIs
    • Testing the APIs.
    • Implement OAuth
    • Write blog post about wrap up of internship, my overall experience of the program, and any advice for future interns.
  • Feb 25 - March 01 (Week 10, 11) (will work 40 Hr to add these function)
    • Add functionality of letting the user customize the user profile and how the contributions are presented.
    • Provide with an UI similar to a settings page, where all the configurations of the tool are available to adjust.
    • Add rating feature: Define an algorithm to calculate a user's rating taking into account factors such as edit count, pages created, top editor of featured article and more.
  • March 01 - March 05 (Week 12)
    • Final testing and making revisions based on feedback.
    • Bug fixes and code cleanup
    • Make sure all my work is documented for easy access for all contributors
  • March 01 - March 05
    • Wrapping up the project.
    • Discuss possible extensions of projects or additional work I can contribute to WMF after internship period ends
    • Final evaluation: Complete final evaluation report per Outreachy guidelines
  • After Internship
    • After internship I will continue contributing to Wikimedia projects.

===Participation

Describe how you plan to communicate progress and ask for help, where you plan to publish your source code, etc :

  • I plan to use IRC channel, Slack for quick communication and Gmail for official conversations.
  • I will use Phabricator to share and discuss issue's.
  • Git will help me to maintain my code base ,PR will be used to solve issue's.
  • I have planned to write blog after every two weeks .Infact I will be writing my first blog regarding initial Outreachy application for newbie's

===About Me
Tell us about a few:

  • Your education (in progress):

    I am pre-final year student of Information Technology at SRM University,Chennai (India). Benefit of Information Technology is that it empowers people to do what they want to do.It lets me learn things that I didn't think I could learn before. My math (I am State Topper) helped me to improve my analytic skills .Attending Coding competition and Hackathons gave me ability to solve real time problems. By conducting large-scale experiments in online communities at college, I plan to research social influence bias in order to better learn how individual's behavior is changed in response to information from its social network. As a side project, I am interested in analyzing data that is made by people in engaging with social insights in college communities and how people think can be drawn from it.

    Skills : HTML, CSS , JS ,R ,C++ ,Java ,Mysql ,PHP Frameworks : Flask , Django ,Hadoop, Pig, MangoDB
  • How did you hear about this program?: I came to hear about this program through my mentor from Learn IT program, mentor suggested for Outreachy.
  • Will you have any other time commitments, such as school work, another job, planned vacation, etc, during the duration of the program?

    My end semester exam will get over by 1 December from then to 5 January I have vacation.I don't have any other commitment during that time .My college starts from 6 January but I will be taking break(On Duty) .My college provide break for the students who are working for any Research, project or internship.This doesn't affect their studies I am also going to take break for my internship.

    Regular student take 24-26 credits in my college .This is the subject and respective credit list (Refer to Third Year ,6th semester).I will also take 26 credits for my next semester .I will join regular students batch after my internship, give exams and all related task which happened during my internship period.
  • We advise all candidates eligible for Google Summer of Code and Outreachy to apply for both programs. Are you planning to apply to both programs and, if so, with what organization(s)?:

    At this point of time I am only applying to FOSS Outreachy Program for Women. I will apply Google Summer of Code in Summer-18 for organizations like Wikimedia ,Linux kernel,Mozilla .For now I am just focusing on my Outreachy application(Round 15).
  • What does making this project happen mean to you?

There are many reasons making this project happen mean to me , so I'll try and cover the biggest ones.

  • I love the product Wikimedia has created an absolutely amazing product. I can at anytime search for any subject or people's biography on my phone and seamlessly get the results. The whole idea of on demand the free encyclopedia gets me excited. Now, I can get any results easily very quickly and accurately. I don't have to google for everything. I'm also really excited about the other services, including Wiktionary (The free dictionary), WikiBooks, WikiNews, and the MediaWiki API, which other developers are using to creatively engage people and connect people and things. In the same way that an avid Quora user would love to contribute for Quora, I love using Wikimedia and can't wait to contribute to the product bringing my code to live projects.
  • Growth Wikimedia has grown at a crazy rate. I've been told many times that there is no better place to contribute than at a FOSS hyper-growth company. Hyper-growth companies allow for people to be given unique opportunities to grow as developers and individuals. I'm confident that contributing at Wikimedia will allow me to improve as a software developer in ways that few other organization could.
  • Talent Wikimedia has some insanely talented individuals engineering talent. Being able to learn from these talented FOSS contributors will be a great learning experience for me as an University Student.
  • Impact There are few organization that have the reach and effect that Wikimedia does. To be able to contribute to a product that reaches that many people is incredible. Few FOSS organization besides for some of the tech giants have that sort of reach. Additionally, Wikimedia is a serving a very diverse audience, which is another very cool aspect. To know that I might push code that people from all over the world will use is something that I really value. Finally, I love that Wikimedia has a very tangible impact on people's lives. Wikimedia doesn't just exist in the digital space on a computer. Rather, Wikimedia is affecting people's lives away from their computers and phones and in their physical lives!!

===Past Experience
-Describe any relevant projects that you've worked on previously and what knowledge you gained from working on them.

I have used Wikipedia for at least a decade now, and it's the first source that I choose when I want to learn about a new subject or just ask a question I don't know the answer to. I think it is an amazing project that has made a change in the world.
This is my first FOSS project. However, I have previously worked on UI using Javascript and currently working on Data Analysis project " Analysis of emergency calls using association rule mining". This project aims to analyze emergency calls data sets and discovering hidden trends and patterns which will help in ensuring that the emergency response team is better equipped to deal with emergencies ( considering road accidents, fire accidents etc in high demand of ambulance services in areas). For these project I am using R, python and learning machine learning techniques.

  • Work Experience:
    • Payoda Pvt Ltd ,Chennai(Summer Intern 2017) :I worked to develop different components using particle.js 1.To make banner with changing Speed of particle with name animation 2.To create effect where lines connects to nearest point with cursor movement. I also worked on similar website development using SVG and created its configs.(link)
  • Extra-Curriculum:
    • Ambassador for IEEE Madras section
    • Web Developer at IEEE SRM students branch -I developed [[ http://sites.ieee.org/sb-srmuktk/ | team ]]website using Wordpress.
    • Committee Head at Yuddhame and Online (AARUUSH'18)-This is coding domain of national level Techfest of SRM University.We conducted events related to App development,Web development,Cryptography and pure coding during Techfest.
    • Campus Ambassador for Shaastra'18 (IIT Madras Techfest)
    • Learn IT,Girl scholar -This organisation also work like Outreachy on women empowerment.I got selected to work on Ruby .I will be Mentored by Mr. Athitya Kumar (https://github.com/athityakumar) for growth hacking project.
  • Hackathons:
    • KONE powered by IBM-I had to build an application using the cloud platform along with IoT (Internet of Things), where the application installed in the mobile to the person who is traveling in the elevators or escalators will sens the data from sensors inside the elevators and synchronize the real-time data to the cloud using IBM Blue mix and then it will sync with the maintenance engineers nearby.
    • SaveTheHacker by Freshdesk -I created Real Time notification System for user who wants to purchase any desired product with constraints like color,price,brand and when that product becomes available on any particular E-Commerce site(Website will take url of product) it notifies user by sending offline text message.I used Twillio API to send texts and Flask for connectivity of back end and front end.(Project)
    • Big Idea Challenge by Cognizant- Got letter of appreciation for Play-ground idea .
    • Google Firebase Appfest ,Bangalore -My form is a basic multi-view Angular application. It captures user inputs in an object and stores it in Firebase.
  • Research:
    • Recommendation System:This is google extension which will help youth to overcome from their depression.It will collect all user history data and analyze it and represent user some motivational video's or quotes which will help them to motivate .

-Describe any open source projects you have contributed to as a user and contributor (include links). :

-If you have already written a feature or bugfix for a Wikimedia technology such as MediaWiki, link to it here; we will give strong preference to candidates who have done so :

  • Microtask 1

Created a tool on toolforge which takes in the Wikipedia username and shows recent edits by the user.
Github : https://github.com/Shreya1771/Wikipedia-User-Recent-Edits
Tool : https://tools.wmflabs.org/edits/

  • Microtask 2

Created a tool which takes in the username and shows the rank of the user if ordered by the number of edits made in English language.
Github : https://github.com/Shreya1771/wikipedia-user-rank
Tool : https://tools.wmflabs.org/rank/

  • Microtask 3

Created UI design mockup for the ‘User Contribution Summary Tool'.Mockup tells about my Github contributution summery
Github : https://github.com/Shreya1771/contribution-timeline

  • Extra Task 1:

User Activity : Visualizing geometries of different Wikipedia language editions, created by user behavior .
Github : https://github.com/Shreya1771/user-activity
Tool : https://tools.wmflabs.org/activity/

  • Extra Task 2

Featured-Article : Shows number of featured articles where the user is among the top 10 editors .
Github : https://github.com/Shreya1771/Featured-Article

Any Other Info

-Add any other relevant information such as UI mockups, references to related projects, a link to your proof of concept code, etc -

I am interested in the "Tool for displaying a user contribution summary project". I didn't know the project before doing the micro task but now I think that having data about user's actions might improve our understanding on the way they engage with the site, and how we can bring more (new) users to contribute.
I came to know about this project late so I got less time to complete , improve and review .I tried my best to complete all the tasks . Mentor Gergő Tisza helped a lot in solving problems and provided best guidance regarding tasks .I am going contribute frequently to Wikimedia ,working for Wikimedia not only gave me experience but also increased my level of interest . Wikimedia has the best IRC community which helped me to solve lot of problems by providing real time help.

Event Timeline

Hi @Shreya1771, thanks a lot for creating this task! :)

This task lacks some required information, for example what it is about (" Task1" needs to be replaced by actual text). You can add missing information to the task description by clicking Edit Task.

Ill be applying for summer

Could you please explicitly clarify if you apply for Outreachy Round 15 (in December 2017), or for Summer of Code 2018 & Outreachy Round 16 (in June 2018)?

Shreya1771 renamed this task from Task1 to Develop a tool for displaying a user contribution summary.Oct 14 2017, 2:43 PM
Shreya1771 updated the task description. (Show Details)
Shreya1771 updated the task description. (Show Details)

Sorry My mistake.I made changes.I have completed task one.When it will be
displaying on applicants list?Is it automatic or manually your team is
doing it

I assume that "Task one" refers to the table in T174528 but anybody else looking at this task might not understand that without providing context.
Which "applicants list"? Link welcome.
In general, links are welcome to avoid misunderstandings; also because many people use Wikimedia Phabricator who are involved with details of Outreachy tasks. :)

Shreya1771 renamed this task from Develop a tool for displaying a user contribution summary to T174528 :Develop a tool for displaying a user contribution summary.Oct 15 2017, 7:09 AM
Aklapper renamed this task from T174528 :Develop a tool for displaying a user contribution summary to Develop a tool for displaying a user contribution summary.Oct 15 2017, 5:31 PM
Aklapper added a project: Outreachy (Round-15).
  • There is a community bonding period (something like days -15-0 IIRC), could you add that to the timeline? Things like "Learn about meta process of how people engage with the Wikipedia pages." should happen there.
  • Please avoid the assumption that people other than the mentors will work with you (e.g. "Work with the analysis team to find possible variables that signals the contribution pages."). They might, and there is certainly nothing wrong with asking them, but it's also possible they won't have the time for it, so it shouldn't be treated as an assumption that can be built into the project plan.
  • The timeline/deliverables section doesn't really give much idea of what you are planning to do. E.g. "Research the MediaWiki Documentation for relevant variables in the tables. Choose one data to start from." is not something that should take ten days. Likewise, "More optimization." for 15 days gives the impression that you didn't give much thought to what you are going to do. Just reading T174528 should give you more ideas than that on the scope of the work.
srishakatux renamed this task from Develop a tool for displaying a user contribution summary to Proposal: Develop a tool for displaying a user contribution summary.Oct 23 2017, 7:09 PM
This comment was removed by Shreya1771.

Hello @Tgr sir,

I have noticed that Task1 and Task2 Toolforge links are the same on dashboard .(Microtask1 and Microtask2 ) I fixed all the bugs now both are working completely fine.

I have worked on 2 extra tasks
1.User Activity : Visualizing geometries of different Wikipedia language editions, created by user behavior .
Tool and PR

2.Featured-Article : Shows number of featured articles where the user is among the top 10 editors .
github

Please review and give me your opinion regarding my extra tasks

Hello @Tgr ,

I am not able to find errors in my Extra task 2.Can you please help me with your suggestions ?Also I have updated the rest of the completed tasks can you please review it so that I can proceed with last one .
waiting for your reply.

Thank you !

Can you please help me with your suggestions?

Can you please be more specific which exact "suggestions" you refer to and how exactly you expect "help"?
Please read http://catb.org/~esr/faqs/smart-questions.html#explicit - thanks.

Hello @Aklapper ,

I have mentioned @Tgr sir on github regarding task .I just meant approval or any other improvement by referring suggestions .

Thanks !

This comment was removed by Shreya1771.

Thanks for participating in Outreachy! Unfortunately this proposal wasn't selected.