Community:SummerOfCode08:Brainstorming
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)
| |
Profile data via Styx | Let the access to certain profile data (eg. bookmarks, cookies, secrets-db) via synthethic filesystems | metux | ||
Quicktime or DirectShow video backend | Implement a backend for the <video> element so it can use native codecs on Windows or Mac for playing video and audio. Chris Double has a gstreamer backend already working for Linux/GTK which can be used as a template. Chris' code should be landed on trunk by the summer. | roc | doublec | |
Layout-flush reporting | Certain DOM APIs --- e.g., offsetLeft --- require a "layout flush" to bring layout up to date. Flushes can be very expensive; unnecessary use of these APIs (or use at the wrong time) can slow down web applications dramatically, but it's hard for Web developers to detect the problem or fix it. Firebug and other tools should receive reports of layout flushes and include them in profile data or console logs, along with the Javascript stack trace associated with each flush. This requires a small amount of core engine work to report the flushes, plus work to actually expose them in Firebug. | roc | roc | |
Implement CSSOM RangeView | Currently there is no standards-based way to discover the bounds of a substring of a DOM text node. The CSSOM spec defines a way, but no browser implements it yet. | roc | roc | |
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 |
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. |
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 | |
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 | |
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 | ||
Extension: Firefox Reader | Build a rich UI for newspaper reading that covers the major features of the Microsoft NYT (etc) Reader: offline page storage, full-text indexing and searching, a nifty XUL UI, and a columns presentation. See Manu's Greasemonkey script for a start. | User:roc | ||
Test Framework for Responsiveness of User Interface Elements | We currently have no tests for response time of specific application interactions such as: opening a new tab, opening each menu in primary UI, opening the Places Library, opening/saving pref panes, bookmarks and history sidebars, etc. This SOC project would entail using the Mochitest framework to build a set of tests that time these common UI interactions, and report the results to Tinderbox, so that the results can be tracked over time. | User:Dietrich | User:Dietrich | |
Javascript Framework for Automating Complex User Interface Interfactions | We currently have no tests for UI interactions involving copy and paste, nor drag and drop. This has been problematic during the Fx3 development cycle, as these types of interactions are only able to be tested manually, usually long after a regression has occurred. This SOC project entails the development of a standalone Javascript library that provides the ability to script copy/paste and drag/drop operations in the Firefox UI from within the Mochitest framework. | User:Dietrich | User:Dietrich |
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 |
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 |
Firefox Support (Sumo)
Title | Abstract - links to details/bugs/etc | Reporter | Mentor(s) | Comments |
---|---|---|---|---|
Online in-wiki screenshot annotator and editor | Sumo runs on TikiWiki. This will be a tool that will allow direct editing of images in the TikiWiki image gallery from which screenshots are embedded into support articles (i.e. wiki pages). This editing tool will primarily be used for annotation (in a way which is visually pleasing, preferably with tranparency), but other basic image processing functions such as resizing and cropping should also be supported. | Nelson (nkoth) | Possible approaches - Integrating fotonotes or wikigraphe or DOM Image Annotation or something else -- Nelson | |
Add customized online screencast annotation using Kaltura | Kaltura is an open source project that allows collaborative editing of videos wiki-style. This can be used in sumo. However, the annotation/overlay capabilities do not currently include an easy way to add a support-style annotation. This project will create a kplayer extension for a custom overlay designed specially for support-style screencasts. | Nelson (nkoth) | Nelson (nkoth) | |
Switch to more powerful search engine | SUMO currently uses Google as its search engine, which limits the possibility to integrate SUMO/tikiwiki specific features like categories and tags. Switching to and improving the built-in tiki search engine would allow us to better integrate forum and knowledge base searches, rank pages on more things than just page hits, etc. Improving performance would also be crucial for the success of this search engine switch. | David Tenser (djst) | Nelson? (nkoth) | See Search Requirements |