Universal Subtitles Summer of Code Ideas
PCF/Universal Subtitles has applied to be a mentor for the Google Summer of Code program, which gives developers a summer-long stipend to participate in free and open source software projects. As part of the process, we put up a list of possible Summer of Code ideas. Now that the process is underway, this page can be a permanent list for volunteers looking to make a substantial contribution to the project over some limited time period.
Submit subtitles to Youtube
Many publishers want to be able to automatically submit collaborative subtitling work from Universal Subtitles back to YouTube, so that YouTube users can view the final result. YouTube's API makes this possible. A team owner would authenticate us with Youtube's API or give us access to their YouTube account in some way, and we would attempt to use this credential to upload subtitles for any video that belonged to that team. We can also fetch a list of values whose videos using the API and submit subtitles for all of those videos. The subtitle upload process should happen whenever changes are made.
Universal Subtitles scripts/plugins
Automated syncing based on speech recognition
Automated transcription of dialog is difficult and achieves low quality results even when done well. However, automated syncing of known, human-transcribed text to a video is a much more straightforward problem. A GSoC participant can survey available tools and build infrastructure for automatically syncing human-entered text to video, to eliminate the task of subtitle syncing for some set of languages (possibly just English).
Multiple display modes
Many users have requested multiple display modes for subtitles within the Universal Subtitles system. Deaf and heard of hearing users prefer that subtitles display below the video. Some viewers want to scan a transcript and skip to the interesting parts by clicking on a word. People working with music might want a karaoke-like display. The point we’d like to get to is where designers could make new display modes in XHTML/CSS and submit to a gallery.
The GSoC student would work with our developers to create this framework for different display modes, work with our designer to implement a set of those, document how others can submit them, and work with our designer for building a gallery UI for selecting different display options.
Make our tools fully accessible
We are making tools to make videos accessible to deaf and hard of hearing users. However, the tool itself does not carefully follow accessibility guidelines, which is bad. A GSoC student would work down a spec provided by accessibility experts, systematically make our website and subtitling UI accessible, and make a set of recommendations to maintain accessibility.
Inclusive Design Institute, as part of a collaborative effort with ATutor (created by IDI) has expressed interest in tackling accessibility issues in Universal Subtitles, and has applied for their own GSoC mentoring project.
Right now our embeddable web player can submit and retrieve videos from Universal Subtitles for almost every video on the web. But we want to make the Universal Subtitles storage and retrieval system work with *any* video, even videos on peoples’ desktops.
Free software activist and developer Felipe Sanchez has started work on a plugin for VLC. The GSoC student would help him complete the VLC plugin, release it and iterate based on user feedback, build a Universal Subtitles add-on for Miro, and possibly other desktop players time permitting.
QA Automation Tasks, using Selenium-RC
We are currently using selenium-rc and the python client to automate universal subtitles testing. See UniversalSubtitlesQA#Automated_Testing for detailed information.
- Help create more selenium functional tests using Selenium RC and the python client (contact email@example.com)
- Update tests to use the Selenium 2 Remote Web driver, to make them more reliable for x-browser testing (contact firstname.lastname@example.org)
Projects currently underway
“Request subtitles” functionality
Users should be able to request subtitles in a given language from others’ in the community, thank volunteers, and engage in interesting work trades with users with other abilities. For example, a user could say “I want to watch this video but I don’t speak Arabic. If somebody translates it to English, I will translate it to Portuguese.” Then any Arabic speaker who saw the video would see this message and an invitation to act. This approach is especially powerful when combined with our Firefox extension or our bookmarklet (which are both currently in testing).
The summer of code student would launch a simple version of this feature, and then iterate, with the goal of maximizing beneficial acts of subtitle volunteerism, based on metrics we choose.