Grants:IEG/Pronunciation Recording (Finish incomplete GSoC project)/Midpoint
This project is funded by an Individual Engagement Grant
Welcome to this project's midpoint report! This report shares progress and learnings from the Individual Engagement Grantee's first 3 months.
In a few short sentences or bullet points, give the main highlights of what happened with your project so far.
- GitHub repo
- OOjs UI chosen as User Interface framework
- There is a demo page for internal development purposes of features concerning audio API and use of OOjs UI that will be useful to PRG.
Methods and activities
How have you setup your project, and what work has been completed so far?
Describe how you've setup your experiment or pilot, sharing your key focuses so far and including links to any background research or past learning that has guided your decisions. List and describe the activities you've undertaken as part of your project to this point.
- Rillke has been came familiar with the HTML5 Audio API. This involves understanding the concepts of audio streams, audio nodes and especially the analyzer node with its
getByteTimeDomainDatafunction that allows one to detect clipping, silence and signal/noise ratio as well as visualization. Rillke also found a way to encode audio samples in Mozilla Firefox to Opus codec, which will allow uploading longer samples than just words when PRG is completed so the tool can be further developed for use in Wikipedia. Some of the results are on toollabs:rillke/prg/test.html. Note: In order to play with the buttons you should have the latest versions of Chrome or Firefox, then click Request Mic Access, grant access in your browser and click one of the following buttons. This is purely meant as a development-intern sandboxing-area and not meant to be tested by the broad public.
- Rillke familiarized himself with OOjs and OOjs UI, encompassing submitting patches to Gerrit, the user interface framework we are going to use because, according to James Forrester, jQuery UI is deprecated on Wikimedia sites and bundling an own framework with PRG could not only negatively impact performance of the tool but could also lead to unwanted side effects. In an attempt to make use of oojs easier, Rillke built a tool on Tool labs that automatically compiles the latest development version of OOjs UI every night and provides it for easy download.
- Infovarius built a counter of uploads of pronunciation files.
- Ungoliant MMDCCLXIV collected a list of templates including pronunciation samples into Wiktionaries.
What are the results of your project or any experiments you’ve worked on so far?
Please discuss anything you have created or changed (organized, built, grown, etc) as a result of your project to date.
- Please confer to the previous section, the proposal itself and the proposal's talk page.
Please take some time to update the table in your project finances page. Check that you’ve listed all approved and actual expenditures as instructed. If there are differences between the planned and actual use of funds, please use the column provided there to explain them.
Then, answer the following question here: Have you spent your funds according to plan so far? Please briefly describe any major changes to budget or expenditures that you anticipate for the second half of your project.
We have spent less time (approx. 3hrs/ week) on this project, so less finances were consumed. Though, in order to complete the project in the second half, we will have to invest more time and thus more finances.
The best thing about trying something new is that you learn from it. We want to follow in your footsteps and learn along with you, and we want to know that you are taking enough risks to learn something really interesting! Please use the below sections to describe what is working and what you plan to change for the second half of your project.
What are the challenges
What challenges or obstacles have you encountered? What will you do differently going forward? Please list these as short bullet points.
- The fact, we are not using jQuery UI but OOjs UI is one of my major concerns; while jQuery UI has a huge eco-cycle, OOjs UI has, apart from VisualEditor and MediaViewer very few users and is still subject to breaking changes. Rillke also was not familiar with OOjs UI and personally find it more complicated to use than jQuery UI in regard to how it is structured. To mitigate these issues, only learning and actively contributing to OOjs UI's code base is the solution.
- Firefox's recording quality is not as good as the quality produced by Chrome. Rillke thinks there isn't a lot we could do. Digging through Firefox's source code and eventually submitting a patch goes beyond what my time permits me to do.
What is working well
What have you found works best so far? To help spread successful strategies so that they can be of use to others in the movement, rather than writing lots of text here, we'd like you to share your finding in the form of a link to a learning pattern.
Next steps and opportunities
What are the next steps and opportunities you’ll be focusing on for the second half of your project? Please list these as short bullet points. If you're considering applying for a 6-month renewal of this IEG at the end of your project, please also mention this here.
- The next and already, according to the project's schedule overdue step, is having a working demo uploading files to Commons or test.wikipedia.org
We’d love to hear any thoughts you have on how the experience of being an IEGrantee has been so far. What is one thing that surprised you, or that you particularly enjoyed from the past 3 months?