Community:SummerOfCode12:Brainstorming: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 202: Line 202:
| Investigate designing a home tab
| Investigate designing a home tab
| Outlook has a home tab, i.e. some sort of dashboard that gives you all the relevant information at a glance. We could do something similar in Thunderbird:
| Outlook has a home tab, i.e. some sort of dashboard that gives you all the relevant information at a glance. We could do something similar in Thunderbird:
- unread mail,
* unread mail,
- pending events,
* pending events,
- unread RSS items,
* unread RSS items,
- a couple icons to open websites in new tabs (for, say, google contacts or twitter),
* a couple icons to open websites in new tabs (for, say, google contacts or twitter),
- to-do list, etc.
* to-do list, etc.
Level of difficulty: hard
Level of difficulty: hard
Skills needed: JavaScript; HTML (no XUL)
Skills needed: JavaScript; HTML (no XUL)

Revision as of 12:57, 5 March 2012

Mozilla community members - submit proposals here for 2012 Google Summer of Code projects with Mozilla. (If this page looks empty, it's because accepted ideas have already been transferred to the official list.)

Are you a students looking to apply to SoC with Mozilla? First, have a look at the official list of ideas. However, you can also submit your own ideas - you don't have to put an idea on this page and get it made official in order to propose it.

How To Write A Good Project Proposal

Before adding an proposal to this list, please consider the following:

  • Be specific. It's hard to understand the impact of, or the size of, vague proposals.
  • Consider size. The student has eight weeks to design, code, test and document the proposal. It needs to fill, but not overfill, that time.
  • Do your research. Support the idea with well-researched links.
  • Don't morph other people's ideas. If you have a related idea, place it next to the existing one, or add a comment.
  • Insert only your own name into the Mentor column, and then only if you are willing to take on the responsibility. If you think the SoC admins won't know who you are, leave contact details.
  • Check back regularly. The administrators may have questions about your idea that you will need to answer.
  • Know when to give up. If you've added the same idea for the last three years and it hasn't made it to the official page, perhaps you can predict what will happen this time.

Suggestion List

Here are the ideas lists from previous years.

Proposals can be in almost any part of the Mozilla project - don't be fooled by the "Code" in "Summer of Code". If there is no category for your part of Mozilla, add one!

Mozilla Platform (Gecko)

Title Details - with links as appropriate Reporter Mentor(s) Comments

Firefox

Title Details - with links as appropriate Reporter Mentor(s) Comments

Firefox Mobile

Title Details - with links as appropriate Reporter Mentor(s) Comments

Boot2Gecko

Title Details - with links as appropriate Reporter Mentor(s) Comments

Calendar

Title Details - with links as appropriate Reporter Mentor(s) Comments

Thunderbird

Title Details - with links as appropriate Reporter Mentor(s) Comments
Thunderbird Profile backup/transfer backup and restore of Thunderbird profiles. Should allow users to transfer profiles between machines. Would need to investigate Mozbackup and figure out how this would be better. Options about which files to backup would be a start. bienvenu bienvenu,standard8
Thunderbird Profile discovery/recovery Handle things like profiles.ini getting corrupted on upgrade (e.g., try to find a profile dir and hook it back up to profiles.ini), and perhaps profile repair, when accounts get corrupted. bienvenu bienvenu,standard8 This is probably relatively easy, but diagnosing and repairing some of the trickier corruptions might be complicated.
Improve GMail interoperability See https://bugzilla.mozilla.org/show_bug.cgi?id=721316 for more info. The biggest win here is probably avoiding downloading the same message to offline stores multiple times and multiple gloda full-text indexing, by using X-GM-MSGID, X-GM-THRID may help with threading in gloda, cross-folder views, and even within a folder. There are probably other things we can do to improve our gmail integration. For example, we could avoid notifying for multiple new messages just because a message has multiple tags.

Level of Difficulty - medium to hard, depending on how deep we go here.

bienvenu bienvenu
Big File Providers Add Other big file providers (e.g., SFTP, Google Docs, WebDAV (for MS's sharepoint!))

Level of difficulty - medium to hard, depending on the provider API and how well it maps to our provider interface

bienvenu bienvenu, mconley, squib, bwinton
Other pluggable stores Add one or more other pluggable stores, e.g.,, sqlite, Unhosted (https://groups.google.com/forum/#!topic/unhosted/gra3dStGjDM))

Level of difficulty - hard

bienvenu bienvenu
Gloda-powered attachment browser. Use Shane's extension as a starting point, figure out how to integrate it into Thunderbird. This feature allows the navigation through email attachments. Presented in a additional tab, it offers previews of supported email attachments. It allows full view of the attachment by launching the appropriate registered application or can switch to the email in the email view. Filters allow to the display of attachments of a given type, individual or all folders view. Initially, pictures, PDFs, HTML docs, YouTube/DailyMotion videos should be supported. Other attachments types could be added in core or via plugin.

Level of difficulty - hard

bienvenu, jb squib, protz, Shane(?)
No reply reminder Often you're sending an email and expecting an answer within a certain number of days. This feature will set a reminder to notify you if no answer has been received in between. One possible way of being reminded is to automatically forward the original email to yourself, with an explanation subject/header. Another way can be to set a Lightning event if it is installed. A few good extension provides a similar feature but do not 'watch' for answered email: https://addons.mozilla.org/en-US/thunderbird/addon/remindit and https://addons.mozilla.org/en-US/thunderbird/addon/follow-up

Level of difficulty: medium (?) Possible mentor: ?

jb protz(?), jb
Configure Android stock email client with Thunderbird account settings f you want to email other than gmail on Android, you have to go through the pain of setting the stock email client with IMAP/POP3 settings, ports, user names, passwords, and other reply & compose settings. This feature would allow you to automatically set your Android device email application with the right parameters. It could take the form of an Android thunderbird application, or some other more direct parameter settings via device policy infrastructure

Technical investigation to be done

jb jb?
Offer url preview within Thunderbird Many emails contain links to a single web page. The default TB behaviour is to launch the stock browser to view them. This feature allows direct preview in a Thunderbird tab through ctl-click, or direct inline preview for known content (ex: Youtube...).

Level of difficulty: medium (easy if initial groundworks is available). Existing bug: https://bugzilla.mozilla.org/show_bug.cgi?id=661742

jb mconley
Compose in a tab One way to move the compose window into a tab is to load the compose window document into a XUL iframe (which is like an HTML iframe, except it hosts XUL). To test this out, install the Developer Assistant extension for Thunderbird, then go to Tools -> Extension Developer -> JavaScript Shell and run the following code:
enumerateWindows();
Shell.enumWins[0].document.getElementById("tabmail").openTab(
 "chromeTab", {chromePage: "chrome://messenger/content/messengercompose/messengercompose.xul"});

Then try playing around with it, sending a message, etc. As you can see, the basic concept works, but there are currently issues with the UI. Your job will be to sort them out, make everything work properly, and ship your code as part of Thunderbird.

Easier way: Tools -> Error console, then

top.opener.openTab("chromeTab", {chromePage: "chrome://messenger/content/messengercompose/messengercompose.xul"});

Level of difficulty: hard. Will require writing XUL (menus will probably need to be moved out into an overlay), JavaScript (passing menu commands down to the child iframe) and CSS (to fix theming issues) and writing unit tests to ensure that things work as expected. Since Mac OS X has a global menu, getting it right might require more work. You will need access to a Mac for your proposal to be accepted..

sid0 sid0, mconley, protz
Thunderbird Get Satisfaction support dashboard Create a real-time Thunderbird support dashboard by implementing i) a REST API to read Thunderbird support data from a MongoDB database (blog post on the code that generates the MongoDB Database) of Thunderbird Get Satisfaction Support topics ii) a JavaScript client that calls the aforementioned API in order to display a real time Thunderbird support dashboard in Firefox - (i.e. port the existing Thunderbird GS Dashboard to the new API)

Level of difficulty:easy to medium Skills needed: JavaScript; Helpful: MongoDB & Information Visualization in the browser using JS and an infoviz toolkit like protovis or D3

rtanglao Roland Tanglao aka rtanglao
Investigate an alternate composition window We still want to overhaul the composition window. Most of the hard work was done already in compose (https://addons.mozilla.org/en-US/developers/addon/compose-for-thunderbird ) or Conversations (https://mail.mozilla.org/pipermail/tb-planning/2012-February/001547.html ). A motivated student could explore a new UI for the composition window, and consider integrating an external editor such as aloha.

Level of difficulty: hard Skills needed: JavaScript; HTML (no XUL)

protz protz, mconley
Investigate designing a home tab Outlook has a home tab, i.e. some sort of dashboard that gives you all the relevant information at a glance. We could do something similar in Thunderbird:
  • unread mail,
  • pending events,
  • unread RSS items,
  • a couple icons to open websites in new tabs (for, say, google contacts or twitter),
  • to-do list, etc.

Level of difficulty: hard Skills needed: JavaScript; HTML (no XUL)

protz protz, bwinton, sid0

SeaMonkey

Title Details - with links as appropriate Reporter Mentor(s) Comments

Camino

Title Details - with links as appropriate Reporter Mentor(s) Comments

NSS (Network Security Services)

Title Details - with links as appropriate Reporter Mentor(s) Comments

Bugzilla

Title Details - with links as appropriate Reporter Mentor(s) Comments

Firefox Support (SUMO)

Title Details - with links as appropriate Reporter Mentor(s) Comments

QA

Title Details - with links as appropriate Reporter Mentor(s) Comments

Documentation

Title Details - with links as appropriate Reporter Mentor(s) Comments

Mozilla IT and Infrastructure

Title Details - with links as appropriate Reporter Mentor(s) Comments

Open Web Apps

Title Details - with links as appropriate Reporter Mentor(s) Comments

Identity

Title Details - with links as appropriate Reporter Mentor(s) Comments

Sync

Title Details - with links as appropriate Reporter Mentor(s) Comments

Developer Tools

Title Details - with links as appropriate Reporter Mentor(s) Comments

Foundation

Title Details - with links as appropriate Reporter Mentor(s) Comments

Release Engineering

Title Details - with links as appropriate Reporter Mentor(s) Comments

Instantbird

Title Details - with links as appropriate Reporter Mentor(s) Comments

Emscripten

Title Details - with links as appropriate Reporter Mentor(s) Comments