Community:SummerOfCode13: Difference between revisions

no edit summary
m (Protected "Community:SummerOfCode13": Prevent random people adding official ideas ([edit=sysop] (indefinite) [move=sysop] (indefinite)))
No edit summary
Line 39: Line 39:
! Mentor(s)  
! Mentor(s)  
! Comments
! Comments
|-
| Silverfox
| Silverfox is the codename of a new feature meant to be an operation mode targeted to beginner users who are being guided on learning how to use the web. In this mode, most settings should be locked down, preventing the user from mistakenly tweaking settings or installing unwanted add-ons. It's not meant to be a
tightly controlled, irreversible-without-password setting, but rather a feature that will make it harder to accidentally break or deteriorate the Firefox experience.
This project will be implemented using the Add-on SDK.
| Good JS skills and ability to work with large codebases. Previous add-on experience is a big plus.
| [mailto:gsoc@felipc.com Felipe], [mailto:jwein+gsoc@mozilla.com Jared]
| Felipe, Jared (felipe, jaws on IRC)
|-
| about:memory for real people
| about:memory has been a very useful tool for us developers to better understand memory consumption in Firefox and help diagnose and fix problems (See the [https://wiki.mozilla.org/Performance/MemShrink MemShrink project]). We would like to make about:memory also useful for web developers and users by providing better data visualization and analysis that will help them understand the footprint of their websites and improve accordingly. You should be able to come up with useful and creative ways to visualize that data and implement those visualization using JS.
We would still keep the original about:memory but relabel it as something like "Stats for nerds". It is important to keep the original/light-weight version since a visual-heavy implementation of about:memory will use non-trivial amounts of memory.
| Good JS skills and knowledge/passion for data vizualization. Past work with data visualization is a big plus.
| [mailto:gsoc@felipc.com Felipe], [mailto:jwein+gsoc@mozilla.com Jared]
| Felipe, Jared (felipe, jaws on IRC)
|-
| Fullscreen Mode
| One upcoming Firefox feature is a fullscreen mode that should provide an immersive experience. This mode will provide a streamlined interface as can be seen in this [http://people.mozilla.com/~shorlander/ux-presentation/01-Firefox-Australis-%28Windows%29-%28Fullscreen%29.jpg preliminary mockup]. Features such as a clock and other OS indicators (new APIs have been implemented for these from the WebAPI project) might also be part of the project.
The implementation of this feature will mostly involve three languages: XUL, CSS and JS.
| Great CSS skills are important, and knowledge of XUL/flexbox is a plus. Good JS skills. Past theme development experience would be great.
| [mailto:gsoc@felipc.com Felipe], [mailto:jwein+gsoc@mozilla.com Jared]
| Felipe, Jared (felipe, jaws on IRC)
|}
|}


Line 124: Line 148:
! Mentor(s)  
! Mentor(s)  
! Comments
! Comments
|-
| Update Code Review module and user experience on bugzilla.mozilla.org (BMO)
| The current Splinter extension which provides code review capabilities on BMO [https://wiki.mozilla.org/BMO/Splinter can be updated quite a bit]. We want to pave the way toward integration with CodeReview.js from the Webkit project. Specifically, we want to integrate the Splinter review functionality with the PatchReview Perl module and experiment with integrating that with the [http://trac.webkit.org/browser/trunk/Websites/bugs.webkit.org/code-review.js#L1095 CodeReview.js tool].
| JavaScript, CSS, and Perl web development
| Byron Jones (IRC: glob)
| Byron Jones (IRC: glob)
|
|}
== Web Apps and Libraries ==
{| class="standard-table" border="1" style="border-collapse: collapse"
|-
! Title
! Details
! Skills Needed
! Reporter
! Mentor(s)
! Comments
|-
| Web Audio Compatibility project
| The Web Audio API is landing fully-formed and spec-compliant in Firefox 22, however most of the code in the wild was written when this API landed and have not been updated to the version of the spec that Firefox supports. This project would target any and all open source libraries, games and applications that use Web Audio API and ensure that they work properly with Firefox's implementation.
| Some expertise in JavaScript, Web Audio, Git/Github, blogging and being polite.
| Jeff Griffiths
| [mailto:jgriffiths@mozilla.com Jeff Griffiths] / [mailto:ehsan@mozilla.com Ehsan Akhgari]
|
|}
== Automation & Tools ==
{| class="standard-table" border="1" style="border-collapse: collapse"
|-
! Title
! Details
! Skills Needed
! Reporter
! Mentor(s)
! Comments
|-
| Expand unit tests for Mozbase components
| [https://github.com/mozilla/mozbase Mozbase] is a set of low level Python classes that all of Mozilla's automated test harnesses will soon be [https://wiki.mozilla.org/Auto-tools/Projects/MozBase refactored to use]. As we gradually move through this process, we want to ensure that all our modules have explicit unit tests for their targeted use cases. We will work with interested volunteers to define a set of test cases that need to be added, and work with them to add those cases.
| Python, JavaScript
| Clint Talbert (IRC: ctalbert)
| Clint Talbert (IRC: ctalbert)
|
|}
|}


Line 232: Line 301:
! Mentor(s)  
! Mentor(s)  
! Comments
! Comments
|-
|Notebook Playback
|The aim of this project is to add record-and-playback to the [http://ipython.org/ipython-doc/dev/interactive/htmlnotebook.html IPython Notebook] - an interactive Python development environment - using [http://popcornjs.org/ popcorn.js] (or its successor) so that people can create "screencasts" that are actually first-class content replayed in the browser. Based on [https://github.com/ipython/ipython/issues/2832 discussion with the IPyNB] team and Bobby Richter, we believe this can be done as a Javascript plugin to IPyNB v. 0.14 or higher by embedding timing metadata in the notebook's JSON file. The project would require substantial UI design and evaluation as well as Javascript hacking. The result would immediately be used by [http://software-carpentry.org Software Carpentry] and other projects for teaching, sharing code examples, etc.
|JavaScript, User experience design
|gvwilson
|gvwilson
|
|}
|}


Line 256: Line 332:
! Mentor(s)  
! Mentor(s)  
! Comments
! Comments
|-
| FileLinks in Instant Messages
| '''Goal:''' File transfers that work reliably for every protocol.
'''Description:''' The Thunderbird Filelink feature allows users to upload attachments to an online storage service, replacing the email attachment with a link. This existing code could be used to implement file transfer. While some protocols support file transfer directly, this approach would provide a fallback that should always work. Designing and implementing a good UI frontend would also be required.
| JavaScript, XPCOM, XUL
| Florian Quèze
| Florian Quèze
| The frontend should be flexible enough to be able to handle other file transfer methods when they are implemented, e.g. WebRTC for XMPP or DCC for IRC.
|-
| Additional JavaScript protocol plug-ins
| '''Goal:''' Implement new protocol plug-ins in JavaScript, or create more stable implementations of existing ones.
'''Description:''' Instantbird supports protocol plugins implemented in JavaScript, in addition to the C libpurple plugins. The student will either add support for new protocols in Instantbird (if so, explain why this protocol matters) or reimplement in JavaScript a protocol that is poorly supported by libpurple (if so, explain what will be better supported in the new implementation, or why the current implementation is not adequate). All new protocol plugins will go through a strict code review to ensure high code quality. The student working on new protocols should take every opportunity to improve the code and APIs shared by all JS protocol plugins. Please name the protocol or protocols to be worked on in your application.
| JavaScript, XPCOM, maybe js-ctypes
| Patrick Cloke
| Florian Quèze for JS-SIP, Patrick Cloke for other protocols
| IRC, XMPP, Twitter and OSCAR (AIM/ICQ) have been (or are in the process of being) implemented and should not be considered.
|-
| Improve JS-XMPP
| '''Goal:''' Ease working with the JavaScript XMPP implementation and implement new features.
'''Description:''' Include better syntax for XML handling, implementing handling of MUCs and other features. Feature-parity with libpurple's XMPP support is one of the prerequisites for replacing the libpurple XMPP plug-in that is currently used. One possible improvement would be to support voice and video calls between a JS-XMPP client and a Jingle client using WebRTC.
| JavaScript, maybe XUL, XPCOM
| Florian Quèze
| Florian Quèze
|
|-
| Skype protocol plug-in
| '''Goal:''' Support Skype chat features as protocol plug-in.
'''Description:''' Microsoft will soon dropping support for MSN/WLM, they suggest that all users migrate to Skype. The student is expected to implement support for Skype chat (private messages and multi-user chats) using the SkypeKit SDK.
This project does not need to support voice/video chat to be considered a success. Access to SkypeKit can be provided to a student participating in this project. This may need to be implemented as an extension.
| C++, XPCOM
| Patrick Cloke
| Patrick Cloke
|
|-
| "Awesometab"
| '''Goal:''' Create a tab that "knows" what conversation you want to open (like the "[http://www.dria.org/wordpress/archives/2008/04/17/628/ awesomebar]").
'''Description:''' The current "Join Chat" dialog is ugly and difficult to use. A user should be able to open a new tab to create a new conversation which will auto-complete fields based on history and server information (e.g. LIST from IRC).
| JavaScript, XPCOM, XUL, maybe some protocol interactions?
| Florian Quèze
| Florian Quèze, aleth
|
|}
|}


Account confirmers, Anti-spam team, Confirmed users, Bureaucrats and Sysops emeriti
4,925

edits