Community:SummerOfCode08:Brainstorming: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Moving to main page)
Line 215: Line 215:
!Mentor(s)
!Mentor(s)
!Comments
!Comments
|-
| valign="top" | Unit Testing
| valign="top" | Add a unit testing framework to the Camino build system, and create unit test suites for significant portions of the Camino-specific code below the UI level (which would likely include refactoring some code for testabiliy). This would include generation of code coverage information to measure progress.
| valign="top" | Stuart Morgan
| valign="top" | Stuart Morgan
| valign="top" |
|-
| valign="top" | User scripts (partial Greasemonkey support)
| valign="top" | Add Greasemonkey-like support for site-specific, user-created JS modification to be run automatically to Camino, with as much compatibility with existing Greasemonkey scripts as is feasible.
| valign="top" | Stuart Morgan
| valign="top" | Stuart Morgan or Mike Pinkerton
| valign="top" |
|}
|}



Revision as of 20:08, 20 March 2008

Projects with a confirmed mentor and approved by the Mozilla project SoC administrator will be moved to Community:SummerOfCode08. Potential students should look at that page to find project ideas for which we'd like submissions.

Ground Rules

  • 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. Potential mentors sign up here.

(More thoughts on making a good list)

Suggestion List

Last year's ideas: Confirmed, Brainstorming

Mozilla Platform

Title Abstract - links to details/bugs/etc Reporter Mentor(s) Comments
9P/Styx Add generic support for 9P/Styx filesystem, so other components can access 9P servers (eg. as storage backend or just IPC) and provide 9P-based interfaces to other applications. This will also obsolete the (currently unused and unmaintained?) IPC component. Should use libmixp, libmixpsrv and libmvfs, which are near to stable release. metux metux: what benefits does this bring to users? Three libraries sounds like a significant increase in codesize. Are you suggesting a core feature or an extension? -- Gerv. ... @Gerv: these libs are quite small (I'll even trimm them further down)


The Web9 project already provides generic access to 9P in Firefox. --Anant

Profile data via Styx Let the access to certain profile data (eg. bookmarks, cookies, secrets-db) via synthethic filesystems metux
Schedulable Downloads Users should be able to schedule a download at a particular time, say at night when probably the usage is less and the internet connection is essentially idle. This will also avoid a major part of bandwidth being consumed by downloads when browsing. Along with resumable downloads support, this feature will make a the Download Manager a really useful tool. Brahmana mconnor says we aren't interested in this as a core Firefox feature. -- Gerv

Firefox/Gecko

Title Abstract - links to details/bugs/etc Reporter Mentor(s) Comments
Extension: Remote Cookie Storage A Firefox extension that stores/retrieves cookies on a server instead of locally, allowing cross-machine cookie sharing. Includes a UI to choose which cookies to share. This is similar to Google Browser Sync, but is open-source (including server-side code so users can run their own servers if they like). Privacy-focussed. Eric H. Jung Eric H. Jung How does this relate to Weave? -- Gerv.
Extension : Avahi Support Avahi is an application to discover services available on local network ( known as Zeroconf) and is currently being used by many distributions and softwares to implement the same technology. An extension and UI would be developed, so that user can access and administrate services found by Avahi daemon.

Services: Avahi can detect all the hardwares capable with IPv4LL addressing and can access all the services like FTP servers, shared files available on remote machine running Avahi. Benefits to Firefox users: They can access printers , FTP servers, Web servers, SSH Remote terminal available on local network with Firefox. We can develop some kind of protocol as KDE people have for Konqueror to access Avahi services. Bug 173804

Sunil Ghai Sunil: why does Firefox need to do any of those things? We don't need to manage printers, for example - and we print to them via the OS, which does all the hard work. Konqueror is not a good comparison because it does far more things in the KDE desktop than Firefox will ever do. -- Gerv

@Gerv: This would make firefox capable to access Zeroconf networks. To implement Zeroconf, many distributions are using Avahi. Resources could be anything, not just a printer.

@Gerv: see bug 173804. It's very useful to discover webservers on your network, or to configure devices (if they use a webserver). Try it out in Safari. -- jhermans

@jhermans: Thanks about the bug information.

Display date/time depending on user's location Pages where a user can edit (eg.- wikis, orkut scrapbooks), usually show the time on which the edit took place according to the server. It would be nice if that date/time is displayed according to the country the user is sitting in. For example, if I edit a wiki page, or I scrap in my friends scrapbook, the date/time at which I did that, is currently displayed according to the server, not my machine. Siddhant Goel Sounds like an extension, and a fairly trivial one, to me. -- Gerv
Improve responsiveness of user interface Improve speed and responsiveness of user interface, especially switching between tabs and creating a new tab is quite slow even on fast computers. Very bad in combination with some extension that opens multiple new tabs at once. Opera for example is much faster in that, so I think there are some possibilities for optimization there. User:bilbo This is too vague. -- Gerv
Improve history GUI History GUI could be improved. History items now show only title of the page, which could be very bad for sites that have same title for all urls on site (you do not see URL's and you can't distinguish what is what. And there are many sites that neglect what gets in title). Example of quite well done history is in opera, where you see title, date and url for each item. Further improvements could go to allowing effective multiselect in items and operation on all selected URLs (open in new tabs, delete) on them (plus view "by site" could group items). Plus, searching in history could search also in contents of pages in history (perhaps only as long as they are cached, or build an index) - though this feature may be a bit hard. User:bilbo How does this relate to the Places work done in Firefox 3? Do your comments apply to Firefox 2 or the latest builds? Can you be more specific about the changes? Is there a bug number or a UI design? -- Gerv
KDE support Add KDE desktop environment support. Use Kdewallet for password storing. Use xdg-utils or KDE commands to open files, send emails. Use KDE dialogs. Maybe add some GUI tweaks. Šimon Tóth Šimon - if you want this to happen, you are going to have to find a mentor; I'm not sure anyone in the Mozilla community knows much about KDE. Perhaps it would be better as a KDE project? -- Gerv

A KDE project? You must be kidding. The source code of Firefox has to be modified to it at least follow freedesktop.org standards. Why should this be a KDE project? If Firefox developers don't know standards, then maybe they should learn them. But why should KDE developers understand Firefox code? -- Šimon

Someone from one project is going to have to understand the code of the other. And it seems that the reason we don't have KDE support at the moment is that no-one in the Mozilla project cares about KDE enough. So, for a start, it might be hard to find a mentor. Which is why I suggested approaching it from the KDE side. -- Gerv

Improved FAYT Add support for advanced searches within FAYT like basic boolean search and the use of wildcards. i think this could prove useful as more information is available directly within the browser, like a wikipedia article, and not just as PDF files. User:D_leaper

Thunderbird

Title Abstract - links to details/bugs/etc Reporter Mentor(s) Comments
Maildir Support Bug 58308
Implement the possibility to store Thunderbird mails in Maildir format. Storing mails as individual files and using SQLite for the index file should increase data safety.
KAMiKAZOW The bug number you give is about Calendar. Also, what to do the new Thunderbird team think of this? Reading bugs, bienvenu seemed to think that pluggable storage was the way to go. -- Gerv

I suspect this is too big / complex to do as an SoC project. -- dmose
Asynchronous IMAP Make Thunderbird behave asynchronously when dealing with IMAP servers. Currently, every operation spawns a 'processing' UI response, which makes the interface clunky on high-latency connections. Apple Mail's behavior is something that we should try and emulate in this aspect. Anant
Better signing/encryption Support Reimplement the "Encrypt if possible"-option for S/MIME. And Better interaction / integration with/of Enigmail. Maybe add some abstraction layer. Morty
Improve search using hierarchy of keywords

Make it possible to organise/search contacts using a hierarchy of keywords. Adobe Lightroom does something like this for the organisation of photos. Selecting the root node would show all the contact entries. Selecting 'Collegues' shows only the collegues. Selecting 'team' (a subclass of Collegues shows only your close collegues. Contacts can be in multiple points in the hierarchy (as they can be tagged with multiple keywords). Tagging can be made possible by dragging a contact onto a keyword (or the other way around).

This project will make it possible to organise the contact entries in address book into a hierarchy. It can be considered to contribute to achieving the Increased Adoption Thunderbird 3 goal, particularly the 'faster content search' and 'improved address book usability' goals.

Jliem

A possible extension to the project would be to allow "tagging" of emails and/or meetings (in Lightning). Tags can be recommended based on the superclasses of the person who sent the emails (or with whom the meeting is). It would then be possible to search for all emails from a particular set of collegues, regarding a specific project, or meetings with a certain group op people. Also, "virtual" mail folder containing all mails tagged with one of the tags could be useful too (bit similar to mail tagging as it is in gmail)

KDE Suport Add KDE desktop environment support. Use Kdewallet for password storing. Use xdg-utils or KDE commands to open files, open urls. Use KDE dialogs. Maybe add some GUI tweaks. Šimon Tóth Šimon - if you want this to happen, you are going to have to find a mentor; I'm not sure anyone in the Mozilla community knows much about KDE. Perhaps it would be better as a KDE project? -- Gerv
Integration with Windows Vista/Windows Desktop Search Allow Vista search/Windows Desktop Search to index Thunderbird mail and news conversations. A similar project was carried out last year, but from the status of the bug Bug 377249 it seems like it was never followed through. Sid0
Import email, settings and addressbook from other programs not currently supported Import email from other programs. Currently TB support old communicator, eudora and outlooks.

I suggest adding support for more programs could be useful and nice. Some suggestions:

Pegasus Mail (BUG 251980): mail uses three formats: one .cnm file per new email (but I think more mailers use this storage schema or are able to export mail in ti, therefore such filter could be more universal - define directory and file mask, then use these to import) and for email in folders it uses either some proprietary format or standard unix mailbox format. Addresses are stored in the .pml file, which is text file with small header (title of addressbook). Settings are stored in kind of an ini-file. Most config files have text format, which should be easy to figure out.

I personally would like support for Pegasus Mail, but as part of SOC 08 import from any other email programs could be done too. Advantage is that number of import filters that would be implemented can be changed so that the work would fit into 8 weeks :)

Other import wishes I found in the bugzilla:

Martin Petricek
Image Resizing during Attachment Bug 401991
OBJECTIVE: Implement physical image resizing during attachment of pictures in email. MOTIVATION: Thunderbird does not currently have the option to physically resize an image to a sensible size suitable for sending via Internet and for screen viewing. Therefore, the sender is baffled and confused when it takes several minutes to send a few pictures even on a broadband connection, and when their friends complain that they received and can only see the 'corner' of the pictures on their screen. Alternatives involving using GIMP,Photoshop,etc to locate,open,resize the image, save and then attach the scaled-down version to the email are too complex and annoying for most users, leading sometimes even to the destruction of the original high-resolution picture when the unexperienced user rewrites it with the scaled-down version. A quick google search for 'thunderbird resize image attachment' shows lots of users requesting this feature. INITIAL ASSESSMENT: I already did some analysis of the thunderbird code (js and c) and it seems that the best course of action to solve this problem is by adding a hook in the function 'AttachFile' at MsgComposeCommands.js to intercept the url of the file being attached and replace it by the url of the version resized on-the-fly. I'm currently thinking about using functionalities from convert/ImageMagick to be able to resize the broadest possible range of image types, but of course I can reuse existing functions in thunderbird chrome for dealing with jpg,png,etc if only these formats end up being enough. I believe this project is very useful to thunderbird, not too complicated for one person to execute and has a high probability of success.
Stdlib0
Support for Google Contacts API [1] - Try to implement native support to synchronize Google Contacts with Thunderbird's contact list.

Calendar

Title Abstract - links to details/bugs/etc Reporter Mentor(s) Comments

Camino

Title Abstract - links to details/bugs/etc Reporter Mentor(s) Comments

SeaMonkey

Title Abstract - links to details/bugs/etc Reporter Mentor(s) Comments

Bugzilla

Title Abstract - links to details/bugs/etc Reporter Mentor(s) Comments
WebService client Create a command line and/or GUI client for Bugzilla's WebService API. This would give users scripting abilities and allow them to access a project's bugzilla outside of a web browser. Freshmeat, the Bugzilla wiki, and a quick search indicate that only proprietary clients currently exist (and these may not use the WebService API anyway). andrewy

L10n

Title Abstract - links to details/bugs/etc Reporter Mentor(s) Comments
Locale strings verifier Guidelines - Nearly every extension today provides locales which ship as different languages with the extension. At the moment, where is no tool which can automatically validate the existing locales if all files and string exists. If not every string exists or the files are wrong encoded, the application will only start up with an error message and the user has to uninstall the extension in safe mode. Wanted features: Setting default locale, export of valid ones, warnings if strings equal etc. Archaeopteryx This would be a standalone tool run by the developer, and not a part of Firefox/Thunderbird, right? -- Gerv

Standalone is recommended, but an extension is also possible (which "scans" the other extension) if the browser locale is valid in the extension. -- Archaeopteryx There is compare-packs as part of the MDC:Compare-locales package -- Axel

Auto URL fixer Most of non-latin character language users mistake mispell url code because of not to change toggle key for language. For example, when one types www.mozilla.org, www is misspelled by ㅈㅈㅈ (Korean), ててて(japanese) etc. There are many similar user-cases. If we can fix them automatically, it's good for users. Channy Risk) It would be made by extensions.

This really seems to be a Firefox extension project, not an l10n one. -- Axel
And I suspect it's not eight weeks work either -- Gerv.

Add-on Management

Title Abstract - links to details/bugs/etc Reporter Mentor(s) Comments
Add-on viewer Create a system that allow people to view source, compare, and share Mozilla add-on code. This could take the form of tools for importing all add-ons into CVS then providing a LXR type front end. Would be used for code browsing and add-on testing. Alex Polvi (polvi) Alex Polvi (polvi)