Page MenuHomePhabricator

Hacking: Wiki Radio (Outreachy 13 Proposal)
Closed, ResolvedPublic

Description

Outreachy Link: https://outreachy.gnome.org/?q=view_projects&prg=7&p=1230

  • Name: Neslihan Turan
  • Email: tur.neslihan@gmail.com
  • IRC or IM networks/handle(s): nes
  • Web Page / Blog / Microblog / Portfolio: Twitter: neslihannturan / neslihanturan.com (will be reactivated soon)
  • Resume: here
  • Location: Turkey
  • Typical working hours: 9 to 17 or 15 to 23 (UTC+3)

Synopsis

The project aims to create an audio file playback application which plays Wikimedia Commons audio files, spoken Wikipedia articles and text-to-speech articles. Which means, it will be an interface for users to reach to audio files via Wikimedia API. The project will increase the accessibility of audio files in Commons and spoken articles. To access audio files, utilities of Mediawiki API will be used. This application is intended to be a radio application, so audio files will play randomly. On the other hand, user will be able to decide audio source among 3 possibility that is written above.

Additionally, this application can be improved to record (and maybe upload) audio files. But this is not in the scope of this project.

Possible Mentors

Deliverables

I think we can divide this project into 3 phases:
1- Applying main functionality of an audio player application.
2- Accessing to random Wikimedia Commons audio files and spoken articles by API.
3- Text-to-speech implementation for non-spoken articles.

DateTaskDeliverables
October 17Application Deadline
Until December 6Investigation of coding style of Wikimedia applications and API. Prototyping.Class diagrams, UI Mockup
December 7 – December 20Implement audio streamer essential functionalitiesSimple application
December 20 – December 28Get audio files from Commons and spoken articlesRandom audio accessibility
December 28 – January 15Apply text-to-speech to random articlesTTS function
January 15 – January 20Midterm Evaluation
January 21 – January 30Writing test codesComplete tests
January 30 – February 15Bug Fixing and testing
February 15 – March 1Documentation and reportingDocuments
March 2 – March 6Final evaluations

Participation

For version control, I use git. By the help of Wikimedia Android application patches, I learned how to use Gerrit too. I want to use Gerrit for review. Because I need ideas of experienced developers to improve my code better.

About You

Education
I am CSE student in Marmara University, İstanbul. I am on my final semester now, and have a few courses.

How did you hear about this program?
I heard about this program from some FSF announcement on the web. If I remember it right, it was Free Software Awards Winner post.

Will you have any other time commitments, such as school work, another job, planned vacation, etc., during the duration of the program?
Until January 15 , I have 2 courses (takes 8 hours in the week) and half project. From January 15 to March 6, I will be graduated and full time available.

We don't just care about your project -- you are a person, and that matters to us! What drives you? What makes you want to make this the most awesomest wiki enhancement ever?
I feel myself as a part of free software movement since I met with the philosophy of it. Additionally, I believe the importance of collaborative works, accessibility of information and decentralization of source of information. Wikimedia matches with them, that's why I am here. As mentioned in the video, I want to be part of something big. On the other hand, opportunity of review my code by experienced programmers will improve my programming skills.

Past Experience

Please describe your experience with any other FOSS projects as a user and as a contributor:
Since I have met with free software philosophy day, I use GNU/Linux distributions and free programs on them. I experienced several of them as editors, image manipulators, desktop environments, browsers, e-mail/instant messaging clients, programming environments etc. As contributor, eventhough I had several attempts to make code contribution, unfortunately I was lost in documentations and suffered from couldn't find a project that is not too big scaled for me. That's why my Wikipedia Android project contributions are very special for me. Finally, I break the jinx:). Anyway, I had some contributions other than code. I am one of the founders of Marmara University GNU Society. We had several events both ideological and technical, such as GNU/Linux installation days, what is free software talks, why to avoid proprietary software in university education meetings, free software reading lists and technical events. Additionally, as a member of İstanbul Hackerspace we contributed to several free software based events.

What project(s) are you interested in (these can be in the same or different organizations)?
I only interested in Wikimedia Android application, in accordance with my skills.

Do you have any past experience working in open source projects (MediaWiki or otherwise)? If so, tell us about it! If you have already written a feature or bugfix in a Wikimedia technology such as MediaWiki, link to it here; we will give strong preference to candidates who have done so.
I did some for Wikipedia Android application:
TabsProvider: Add close all tabs button
ShareHandler: Add close button to large bottom sheets
StringUtil: Replace deprecated Html.fromHtml(String) calls

Will you have any other time commitments, such as school work, exams, research, another job, planned vacation, etc., between December 6, 2016, and March 6, 2017? Please provide exact dates for these commitments and the number of hours a week these commitments take.
Until January 15 ( Academical calender ), I have 2 courses and half project. From January 15 to March 6, I will be graduated and full time available. From December 6 to January 15, I have 8 hours responsibility in a week, in a full time semester it is 21 hours in average. You can see regular schedule here .

If a student, please list the courses you will be taking between December 6, 2016 and March 6, 2017, how many credits you will be taking, and how many credits a full-time student normally takes at your school. Please provide a link or upload your program's suggested curriculum by semester, which includes the suggested number of credits in each semester. Please provide a link or upload your school's academic calendar.
I will be taking two technical elective courses, and last half of my engineering project(8ECTS). Technical electives are Introduction to Artificial Intelligence(5ECTS) and Introduction to Natural Language Processing(5ECTS). In terms of credits, I have 18 credits and regular student have 30 ECTS credits.

Microtasks
Early UI attempts and throw away prototype here
Wikimedia API investigation and implementation on prototype here
What had been done in prototype so far?

  • UI design is almost ready
  • Can get audio data by Wikimedia API
  • Includes basic music player functions
  • Can get data by RestfulAPI (this data will be used in tts)

    Currently working on bufferring to reduce user wait time, even if audios are too short or user changes them very fast

Event Timeline

Nes created this task.Oct 12 2016, 6:45 PM
Nes moved this task from Backlog to Proposals Submitted on the Outreachy (Round-13) board.
Nes updated the task description. (Show Details)Oct 13 2016, 7:20 PM
Nes updated the task description. (Show Details)Oct 17 2016, 12:08 PM

Thank you for your proposal. Please add a link to your outreachy proposal in https://outreachy.gnome.org on top of your project proposal. This can be something like Outreachy Link: https://outreachy.gnome.org/?q=view_projects&prg=7&p=xxxx Good Luck!

Nes updated the task description. (Show Details)Oct 20 2016, 5:46 PM

I will be taking two technical elective courses, and last half of my engineering project. Technical electives are Introduction to Artificial Intelligence and Introduction to Natural Language Processing. In terms of credits, I have 8 credits and regular student may have between 16-22 credits.

I got curious here as the outreachy rules makes me do it, but let me quote down:

  1. Second half of project = Engineering Project II - 8 ECTS
  2. Tech Elective - II - 8 ECTS '
  3. Tech Elective - III - 8 ECTS

so that would be 8+8+8 = 24 ECTS you have to take for semester 8 ?

Nes added a comment.EditedOct 28 2016, 5:21 AM

It is very normal you get confused, even I get confused because it seems like I accidentally wrote "hours" as universal credits (because we don't use universal ECTS as credits while we are talking in practice). Here is corrected version:

In terms of ECTS
One regular semester: 30ECTS
I have Engineering Project II - 8 ECTS + Tech Elective - II - 8 ECTS + Tech Elective - III - 8 ECTS = 18 ECTS

In terms of hours (we use hours as credits as I showed in the attachment below)
One regular semester: 16-22 hours
I have Engineering Project II - 2 hours + Tech Elective - II - 3 hours + Tech Elective - III - 3 hours = 8 hours

You can see in the attached file, we are using hours as "credits" not ECTS actually. End that's why ECTS does not express real importance of courses in practice.

I hope I could explain, thanks for asking by the way:)
Additionally, Engineering project is not a course, a flexible project (It has no exams, quiz, even regular time to go to school). Only important thing is you complete your project and present it at the end of semester. I have almost done with it in last semester and summer, to show that I can get e-mail(or something else) from responsible teacher for my project.

Nes updated the task description. (Show Details)Oct 28 2016, 5:23 AM

@Nes Hey, it's really a great project. I just wanted to get a little clarification regarding the proposal. You wrote :

We had several events both ideological and technical, such as GNU/Linux installation days, what is free software talks, why to avoid priority software in university education meetings, free software reading lists and technical events.

Was that supposed be proprietary software ? I don't get how priority software fits in that context.

It is very normal you get confused, even I get confused because it seems like I accidentally wrote "hours" as universal credits (because we don't use universal ECTS as credits while we are talking in practice). Here is corrected version:
In terms of ECTS
One regular semester: 30ECTS
I have Engineering Project II - 8 ECTS + Tech Elective - II - 8 ECTS + Tech Elective - III - 8 ECTS = 18 ECTS
In terms of hours (we use hours as credits as I showed in the attachment below)
One regular semester: 16-22 hours
I have Engineering Project II - 2 hours + Tech Elective - II - 3 hours + Tech Elective - III - 3 hours = 8 hours
You can see in the attached file, we are using hours as "credits" not ECTS actually. End that's why ECTS does not express real importance of courses in practice.


I hope I could explain, thanks for asking by the way:)
Additionally, Engineering project is not a course, a flexible project (It has no exams, quiz, even regular time to go to school). Only important thing is you complete your project and present it at the end of semester. I have almost done with it in last semester and summer, to show that I can get e-mail(or something else) from responsible teacher for my project.

@Nes Thank you for the detailed response :-) Looks like you are eligible as per the norms. We will let you know about the decisions soon. Stay tuned!

Nes added a comment.Oct 28 2016, 11:58 AM

@Kaartic of course it is proprietary software, by the way it is very funny when we read as priority :) Additionally, it is very weird to not recognize such a mistake even if I had read it several times ¯\_(ツ)_/¯ . Thanks for report, I will correct it now.

Nes updated the task description. (Show Details)Oct 28 2016, 12:06 PM
Kaartic added a comment.EditedOct 28 2016, 12:29 PM

@Nes You're Welcome.

I saw that you had contributed to the android app and helped to improve the UI. I am also interested in doing some contributions to the app, but am unable to find where to start. That's because this is the first I'm seeing code of open source software. If possible, can you please me a few details about how you found which part of the part of the code did what?

Nes added a comment.Oct 28 2016, 12:51 PM

@Kaartic sure, I am nes on freenode and my e-mail is tur.neslihan@gmail.com. If you initialize a communication, I can write the steps that I followed.

@Kaartic sure, I am nes on freenode and my e-mail is tur.neslihan@gmail.com. If you initialize a communication, I can write the steps that I followed.

Thanks a lot. I sure will.

@Nes Something I noted before but forgot to ask is, Don't the below questions seem redundant?

Will you have any other time commitments, such as school work, another job, planned vacation, etc., during the duration of the program?

Will you have any other time commitments, such as school work, exams, research, another job, planned vacation, etc., between December 6, 2016, and March 6, 2017? Please provide exact dates for these commitments and the number of hours a week these commitments take.

Nes added a comment.Oct 29 2016, 7:36 AM

@Kaartic Yes, they are redundant but one of them is from Mediawiki questions, and the other is from Outreachy questions. Additionally second one includes more details. Therefore, I will leave it as is, so that people can search by question without reading all of the documents. But anyway, thanks for reporting :).

@Nes I thought it would have been better if you kept the second one alone as they are too similar and provide the same answer. Anyways you have a reason for that.

Wish you All the Best on your project.

Samtar removed a subscriber: Samtar.Oct 31 2016, 12:25 PM
Dbrant closed this task as Resolved.Dec 6 2017, 2:10 PM
Dbrant claimed this task.
Dbrant added a subscriber: Dbrant.

Sounds like this is complete. Please reopen otherwise.