GSoC/GCI Archive
Google Summer of Code 2012

Mozilla

Web Page: https://wiki.mozilla.org/Community:SummerOfCode12

Mailing List: https://www.mozilla.org/about/forums/#dev-planning

The mission of the Mozilla Project is to preserve choice and innovation on the Internet. We are the producer and provider of the award-winning Firefox web browser and Thunderbird email software, and are also expanding into Identity and Open Web Apps, and building an open web mobile operating system, B2G. We are an advocate for open standards on the Net, and provide tools for developing high quality web content and applications. We also provide software development tools used by hundreds of free software projects worldwide. The Mozilla Project in GSoC is a container for opportunities to work on Gecko (our core web standards engine), Firefox, Thunderbird, Calendar, SeaMonkey, our developer tools and other areas of the Mozilla project, using a wide variety of technologies and languages. We are also collaborating with the Mozilla-based instant messenger Instantbird and the C++-to-Javascript compiler Emscripten, with the latter giving students the opportunity to bring any C++ project to the web.

This year we have opportunities on our list using C++, Python, Django, JavaScript, XUL, CSS, SVG and more, and students are always welcome to submit their own ideas which align with our mission

Projects

  • 'No Reply' Reminder for Thunderbird Oftentimes when we send emails to people we are expecting their replies. There will always be someone overlooking our message or forgetting to write back. No matter what the case, if we really want to gain feedback from as many people as possible, we would like to send reminders to those nonrepliers. It will be very convenient if Thunderbird has the function to automatically check for nonrepliers and keep us informed. This function will also distinct Thunderbird from other remote or local email clients as no other clients has this kind of functionality.
  • Calendar: Improve Invitation Support The aim of this project ist to improve Lightnings invitation support based on the itip/imip standard.
  • Examples for HTML and CSS on MDN I propose to add detailed examples and improve the currently available examples given on MDN for HTML and CSS. The examples will also contain downloadable attachments thus ensuring the users to test and learn from them with greater ease. I also intend to add many extra pages whereever neccessary,(for example an Introductory page). Also I do plan to make a testing page where the code can be copied and pasted to get the results on the fly. Testing page may be divided into frames on columns, one for code one for the output. As a part of GSoC, this will require, research of the MDN base and will involve extensive HTML5 and CSS3 coding, which again includes the coding with/for HTML5 and CSS3. Research on HTML and CSS will not be done or profound websites rather w3c docs will be regerred on the same
  • Get ISPDB Into Production The Thunderbird ISPDB is an online configuration storage service for email providers. There are a few bugs remaining that the Thunderbird team hasn't had time to fix. The goal is to get ISPDB up and running and in use. (If this task was too easy, we could also add in the task of changing Thunderbird to submit working configs).
  • Graphical Timeline of Events Graphical Timeline of Events would act as a central backbone to view all the activities going in a browser. Making use of its three components - Content Producers, Data Sink and Graph - it will listen to, collect, and display various browser activities in real time. It is of a great use to any developer as he can view the actual results of his scripts or styles in real time and also view the errors, warning or messages if any. The most important feature of Timeline would be its strong integration with the existing Developer tools and the ability to be set up on a different computer remotely.
  • Improving Gmail Interoperability. This project aims at improving integration of Gmail in Thunderbird by requesting extra Gmail IMAP headers and implementing other features.
  • Instantbird Account Import Wizard When evaluating a new messaging client, the common frustration of reconfiguring accounts and settings is difficult to avoid. To combat similar issues, the developers at Mozilla have implemented account import wizards in their Firefox and Thunderbird software packages. I propose creating an Account Import Wizard for the IM client Instantbird, which will provide users with a flexible way to import profile data from existing messaging client installations.
  • l10n Tool for Standardization of Localization A need is felt for standardization of translation of words during localization. As of now, lack of an exhaustive list of such standardized usage leads to various problems for l10n contributors and more so for new contributors wanting to join the community. In a nutshell, the goal of the project is to create an exhaustive database for entries, terms, words and the corresponding suggested translation for the same. This should also extend to work with small phrases and sentences. The idea is to use a MT system on the existing localization work. Essentially, write scripts that would modify the existing localization work into a format suitable for MT system learning. These scripts will extend those that of "Transvision" which produces tmx files nightly. Based on the output of this step, a list will be created that would contain the entries, terms, words and the corresponding suggested translation. Corrections to this will be made, if any, manually. This then will be organized into a database along with a small web portal that will help contributors to l10n find words and preferred translations real easy. Again the working will be done using the Transvision portal as a base. At the outset the aim will be to do this for 4 languages (due to lingual restrictions in initial verification) but later extended to all languages supported by Mozilla. Finally, in addition to this quality comparison of suggestions from the tool compared to the already localized strings will be done and using the quality score from the MT system find if any inconsistencies exist in the localized strings. As can be seen, Transvision has partly achieved a few of the goals listed above. Hence, the plan is to leverage Transvision and extend it.
  • Meemoo (Hackable Web Apps) Meemoo is a Mozilla WebFWD fellow project. It is a framework for hackable web apps by Forrest Oliphant and an incredible tool for web making. My main goal in the project is to extend Meemoo to make modules creation easier. Based on a collaborative live code editor I want to make easy for people to create their new modules for hackable web apps inside their own browsers, without external tools.
  • Native Webapps Support on Linux Support installation and execution of Open Web Apps on Linux.
  • Networking Dashboard The aim of the project is to create a UI tool which shows internal of networking of Mozilla. This data can be helpful when debugging performance or connectivity problems. This tool will be useful mainly to developers.
  • Open education through OpenBadges Applying to work with the open badges interface. Primarily focusing on backend api, cryptography and accessibility.
  • Port Any Open Source C/C++ Project To The Web I'm applying the project Port Any Open Source C/C++ Project To The Web. By using the C/C++-to-Javascript compiler Emscripten, I'll port the game SuperTux to the web. SuperTux is a classic 2D jump and run sidescroller game in a style similar to the original Super Mario game. It's written in C++ and released under GNU Public Licence. I'll use Emscripten to build the game and fix any problems along the way (for example to implement missing library functions in Emscripten), and optimize the generated Javascript code to make sure the game running smoothly in browsers. I hope through this project to make Emscripten and the web more fascinating.
  • Slide Drive Improvements (Mozilla) The purpose of this proposal is to make it easy to produce a Slide Drive HTML5 slideshow from a LibreOffice Impress presentation. This includes improvements to Impress’ SVG output, creating a tool to convert this output into a Slide Drive presentation including synchronized audio, and developing Butter.js support for editing the resulting presentations.
  • User-Specified Content Security Policy The goal of this project is to allow savvy users to be able to voluntarily specify their own CSP policies for websites that have not implemented CSP policies.
  • WebSocket Testing Tool This project aims to adding support for WebSockets to ZAP, an intercepting proxy from OWASP. WebSockets are an upcoming standard that can be used for communication between browsers and web servers. The advantages of WebSockets are low overhead and a persistent full duplex channel. To ease development and testing ZAP should support WebSockets. As a result, one can see & even edit messages.