Community:SummerOfCode11:Brainstorming: Difference between revisions

no edit summary
(→‎Bugzilla: +FR: tag cloud/concordance extension)
No edit summary
Line 112: Line 112:
|Karsten "Mnyromyr" Düsterloh
|Karsten "Mnyromyr" Düsterloh
|Karsten "Mnyromyr" Düsterloh
|Karsten "Mnyromyr" Düsterloh
|
|}
==Instantbird==
{| class="standard-table"
|-
!Title
!Details - with links as appropriate
!Reporter
!Mentor(s)
!Comments
|-
|JavaScript Implementation of IM protocols
|Goal: Implement new protocols in JavaScript, or create more stable implementations of existing ones.
Instantbird 0.3 will support protocol plugins implemented in JavaScript in addition to the C libpurple plugins used before. The student will either add support for new protocols in Instantbird (if so, explain why this protocol matters) or reimplement in JavaScript protocols that are currently poorly supported by libpurple (if so, explain what will be better supported in the new implementation, or why the current implementation is broken). 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.
|Florian Quèze
|Florian Quèze or Patrick Cloke
| IRC and Twitter protocols have been (or are in the process of) being implemented and should not be considered.
|-
|Account import wizard
|Goal: Ease the pain of switching to Instantbird
Lots of users don't try a new IM client only because they don't want to spend time reconfiguring all their IM accounts. Being able to import accounts from other clients installed on the system would help Instantbird adoption. The student should focus on the dominant IM clients (Windows Live Messenger, AIM, ...) and on the other multi network IM clients (Digsby, Pidgin, Trillian, Miranda, ...). The student will need to study the way other IM clients store their profile data (reverse engineering may be required), think of an architecture to share as much code as possible between the various import modules, and implement import modules for some clients
|Florian Quèze
|Florian Quèze
|
|-
|Indexed Logs
|Goal: Create an easily search-able and sync-able storage for IM logs.
A student working on this project will implement a new log storage back-end in Instantbird using SQLite. The format should allow efficient search (reuse code from Gloda in Thunderbird) and prevent dataloss. The student will also have to think about the user interface of the log viewer. Things to keep in mind when working on this project: it should be easy to import logs from other IM applications into this system; it should be easy to export logs; it should be easy to store logs on a remote server.
|Florian Quèze
|Florian Quèze
|
|-
|Voice and Video
|Goal: Support voice and video communication.
This project intends to explore the possibilities for Voice and Video communication using the Mozilla platform. The student will need to experiment both with usage of the microphone and webcam and with codecs available in the system on the three supported OSes. Compatible implementations of the various IM protocols that support these features is out of the scope of this project, but the student will at least need to prove that s/he has seriously investigated using the various open source projects that have started some work on this. A (mostly) working proof of concept is expected. UI mockups for what a well-thought user interface for voice and video could be would be appreciated.
|Florian Quèze
|Florian Quèze
|
|
|}
|}
Line 211: Line 168:
|}
|}


== Rhino ==
{| class="standard-table"
|-
! Title
! Details - with links as appropriate
! Reporter
! Mentor(s)
! Comments
|-
| Explore and implement JDK7 InvokeDynamic
| JDK7 (currently in beta and due for general release this summer) contains new features for [http://openjdk.java.net/projects/mlvm/ dynamically typed languages] on top of the Java VM. One significant feature brought by [http://jcp.org/en/jsr/detail?id=292 JSR 292 features] is the new invokedynamic bytecode instruction and supporting libraries, which has the potential to make Rhino bytecode both simpler and faster. The goal of this project would be to make Rhino generate bytecode that uses JSR 292 InvokeDynamic and compare its performance characteristics with the current code. There is an [http://kenai.com/projects/davincimonkey/pages/Home initial implementation] by Oracle's John Rose which can serve as a starting point.
| Hannes Wallnoefer
| Hannes Wallnoefer
|
|-
| Implement ECMAScript 5 strict mode
| Rhino has pretty solid ECMAScript 5 support, with [https://developer.mozilla.org/en/JavaScript/Strict_mode strict mode] being the major exception. Implementation involves adding detection of the strict mode directive to the parser and then adding checks for the various strict mode rules. Some of the restraints are already detected by Rhino which should make it easy to get started.
| Hannes Wallnoefer
| Hannes Wallnoefer
|
|}


==Mozilla IT Infrastructure==
==Mozilla IT Infrastructure==
Account confirmers, Anti-spam team, Confirmed users, Bureaucrats and Sysops emeriti
4,925

edits