Universal Subtitles Summer of Code Ideas
From Develop
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.
Contents |
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
Right now subtitles are displayed using JavaScript, so they are not visible to search engines and have minimal SEO value. But we can make a set of plugins for popular web development frameworks and CMSes that will retrieve subtitles from our site and display subtitle content (which site owners can style however they want) alongside the video embed in the text of the page where search engines will see it. A generic PHP script would be the first priority, followed by plugins for popular CMSes such as Wordpress and Drupal, followed by scripts for other development frameworks (say, Django and Rails).
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.
Desktop plugins
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 jed@pculture.org)
- Update tests to use the Selenium 2 Remote Web driver, to make them more reliable for x-browser testing (contact jed@pculture.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.
Browser extensions
Users should be able to activate Universal Subtitles on any video in their browser, see any subtitles that have been submitted already, and submit new ones. Coupled with the ability to request subtitles and see other requests, browser extensions will be a powerful tool for creating a subtitling community that spans all popular web video. We have a basic Firefox extension that requires a set of modifications to be accepted in the Mozilla Addons directory (bringing the javascript we run into the add-on itself, rather than having it server side). The GSoC student would complete this process, release the add-on in the Mozilla Addons Directory, and begin work on extensions for Chrome, IE, and Safari.