91
edits
(Added Foundation, Science Lab and Thimble projects) |
(propose mozmill upgrade project for Thunderbird) |
||
(20 intermediate revisions by 12 users not shown) | |||
Line 87: | Line 87: | ||
! Comments | ! Comments | ||
|- | |- | ||
| Developer Tools for Designers | |||
| In Firefox Developer Tools, we're aiming to implement visual tools that will help developers and designers edit CSS properties visually. Since CSS is very declarative by nature, we can provide tools that are commonly found in designer tools in order to bridge the learning gap of new developers and designers learning CSS and allow them to edit complex CSS features such as CSS filters, blend, clip-path, layout, etc without knowing what the properties are. Going beyond editing CSS, we also need to think about how we can visually inspect the CSS style transformations that can impact the layout. Finally, we are looking for ways to better export and see the changes made in the Inspector tool so that we can take the work we have done in the Developer Tools and apply that to your local source files. | |||
| JavaScript, HTML, CSS, React, Redux | |||
| [[User:Gl|:gl]] | |||
| [[User:Gl|:gl]] | |||
| Starting meta bug for inspiration [https://bugzilla.mozilla.org/show_bug.cgi?id=1258390 Bug 1258390] | |||
|} | |} | ||
Line 111: | Line 117: | ||
|} | |} | ||
== | |||
== Instantbird == | |||
{| class="standard-table" border="1" style="border-collapse: collapse" | {| class="standard-table" border="1" style="border-collapse: collapse" | ||
|- | |- | ||
! | | Matrix protocol support | ||
| [http://matrix.org/ Matrix] is an open, decentralized protocol for instant messaging (and more!) It has bridges to many other networks and protocol, e.g. IRC, Slack, and more. Initial support for Matrix was added in {{bug|1199855}}, but there's a lot to do still: | |||
* Support more features from the Matrix SDK (room topics, typing notifications, read receipts, etc.) | |||
* Support one-on-one conversations. | |||
! | * Add tests specific to Matrix. | ||
* Improve the Matrix JS-SDK that Instantbird and Thunderbird depend on. | |||
* Improving and expanding shared code and APIs used by all JavaScript protocol plugins (IRC, XMPP, Yahoo and Twitter). | |||
* Improving documentation of the process for adding a protocol to Instantbird/Thunderbird. | |||
* Using the Matrix protocol on a day-to-day basis to dog-food the code and see what else is missing. | |||
| JavaScript, XPCOM, experience using HTTP APIs | |||
| Patrick Cloke [:clokep] | |||
| [mailto:clokep@gmail.com clokep] | |||
| If you're interested in supporting a different protocol, please come talk to us. Protocols we're interested in: Matrix, Google Hangouts, Facebook, Bonjour, TextSecure/Signal, Telegram, or others! | |||
|} | |} | ||
== | == Open Innovation (Campus Clubs) == | ||
{| class="standard-table" border="1" style="border-collapse: collapse" | {| class="standard-table" border="1" style="border-collapse: collapse" | ||
Line 133: | Line 148: | ||
! Mentor(s) | ! Mentor(s) | ||
! Comments | ! Comments | ||
|- | |||
| Measuring the Development of an Open Source Contributor | |||
| We are looking for a passionate developer to work with the GitHub API to build a platform for measuring contributors performance/engagement across multiple open source projects over an extended time period. | |||
| Javascript, javascript framework, a sequel database, HTML, GitHub API | |||
| [https://mozillians.org/en-US/u/lucyeoh/ :Lucy] | |||
| [https://mozillians.org/en-US/u/bacharakis/ :Christos] | |||
| For questions or to express interest in this project please leave a comment in **[https://github.com/mozilla/Campus-Program/issues/363 this issue]** | |||
|- | |- | ||
|} | |} | ||
Line 147: | Line 169: | ||
! Comments | ! Comments | ||
|- | |- | ||
| | | Introducing Calendar Accounts | ||
| Traditionally our calendar extension is organized into a list of calendars, each calendar being implemented by a “provider”, for example local storage or using the CalDAV protocol. The service to manage these calendars maintains a simple list, the entries have no connection to each other. | |||
Some calendar providers would greatly benefit from being able to group calendars into accounts, for example free-busy lookups are usually per-server operations and not per-calendar. It would also open the door for some great new features that have been postponed because they can be implemented cleaner with the notion of accounts. | |||
| XUL, CSS, JavaScript | |||
| [mailto:mozilla@kewis.ch Fallen] | |||
| [mailto:mozilla@kewis.ch Fallen] | |||
| [[Media:Calendar-gsoc2015-calmgr.pdf|Click here for a detailed project description]] | |||
|- | |- | ||
| Resource Booking Improvements | |||
| The Lightning extension has a dialog for inviting attendees to an event, which also shows availability information. Albeit not very obvious, it also allows booking resources and rooms. To improve this experience we would like users to be able to pick rooms and resources in a way that they don't need to remember the room address and quickly see which rooms and resources exist and are available around the proposed time of the event. | |||
| XUL, CSS, JavaScript | |||
| [mailto:mozilla@kewis.ch Fallen] | |||
| [mailto:mozilla@kewis.ch Fallen] | |||
| [[Media:Calendar-gsoc2015-resourcebooking.pdf|Click here for a detailed project description]] | |||
| | |||
|- | |- | ||
| Advanced Preferences System | |||
| Today, Lightning preferences can mostly only be set on global level. A different, but smaller set of preferences is available on calendar level, whereas several preferences are currently only available from within the config editor. The goal of this project is to create a preference system like Thunderbird uses it - making most of the preferences available on calendar level with an option to fall back to corresponding globally configured preferences. | |||
|- | |||
This is mainly a JavaScript project, but to a smaller extent some UI extensions are required. The emphasis is on the functional part here. | |||
| XUL, HTML, CSS, JavaScript | |||
| MakeMyDay | |||
| [mailto:mozilla@kewis.ch Fallen] / MakeMyDay | |||
| | |||
|- | |- | ||
| Convert from XUL to HTML | |||
| Lightning has traditionally been using XUL for its user interface. To modernize, we would like to convert dialogs, tab content and other parts of the user interface to HTML. The new components should use web standards as much as possible, avoiding extensive use of third party libraries. | |||
| | |||
This is a fairly open ended proposal, which requires the applicant to first identify parts of the user interface that would make sense to convert to HTML and put up a timeline how long to spend on each component. Focus should be on the quality of the conversion, not the quantity of components changed. | |||
| HTML, CSS, JavaScript | |||
| [mailto:mozilla@kewis.ch Fallen] | |||
| | | [mailto:mozilla@kewis.ch Fallen] | ||
|} | |} | ||
Line 214: | Line 219: | ||
! Sylvestre | ! Sylvestre | ||
! same | ! same | ||
! | ! This project aims to evaluate and integrate more static analysis for Javascript code into some key sections of the Firefox code. We will focus on deploying [https://github.com/facebook/flow FLOW] on some part of the code as a proof of concept. Depending on the results, this will be extended to more components and/or integration in the developer workflow. | ||
|- | |- | ||
! C++ static analysis | ! C++ static analysis | ||
Line 221: | Line 226: | ||
! Sylvestre | ! Sylvestre | ||
! Andi | ! Andi | ||
! | ! In order to tackle issues during the development phase, Mozilla wrote a [https://hg.mozilla.org/mozilla-central/file/tip/build/clang-plugin bunch of static analyzers checkers] based on [http://clang.llvm.org/extra/clang-tidy/ clang-tidy]. In this project, we will focus on writing more checkers (either generic to C/C++ or specific to Gecko programming patterns). | ||
|- | |- | ||
! JSON in Sqlite | ! JSON in Sqlite | ||
Line 230: | Line 235: | ||
! [https://github.com/klahnakoski/JSONQueryExpressionTests/blob/master/docs/GSOC%20Proposal.md Details] | ! [https://github.com/klahnakoski/JSONQueryExpressionTests/blob/master/docs/GSOC%20Proposal.md Details] | ||
|- | |- | ||
! | ! Regression localization from stack traces | ||
! | ! Tool to blame a patch for causing a newly introduced crash. | ||
! | ! C++, Python | ||
! | ! Marco | ||
! | ! Marco | ||
! | ! The project would involve creating a tool that analyzes a set of stack traces, performing the intersection with the Firefox call graph (which can be generated using Clang) and a set of recently committed patches. | ||
|- | |- | ||
! | ! Improvements for crash clustering | ||
! | ! Build a tool to improve crash clustering, currently based on the top method of the stack trace. | ||
! | ! Python, C++ | ||
! | ! Marco | ||
! | ! Marco | ||
! | ! The project would involve finalizing https://github.com/marco-c/crashsimilarity; testing it more thoroughly; putting it in production. | ||
|} | |} | ||
Line 260: | Line 260: | ||
! Mentor(s) | ! Mentor(s) | ||
! Comments | ! Comments | ||
|- | |||
| MDN Documentation Tester WebExtension | |||
| Rewrite the [https://github.com/Elchi3/mdn-doc-tests MDN doc tester add-on] as a (well-tested, modern, documented) WebExtension that runs in Firefox, Chrome, Opera, and possibly Edge. Ideally reach feature parity with the existing Add-on SDK add-on and if time allows work on new test ideas that run against the MDN documentation. | |||
| Add-On/WebExtension experience (JavaScript, HTML, CSS) | |||
| Florian Scholz | |||
| Florian Scholz | |||
|} | |} | ||
== Mozilla IT and Infrastructure == | == Mozilla IT and Infrastructure == | ||
{| class="standard-table" border="1" style="border-collapse: collapse" | {| class="standard-table" border="1" style="border-collapse: collapse" | ||
Line 329: | Line 299: | ||
|} | |} | ||
== | == PDF.js == | ||
{| class="standard-table" border="1" style="border-collapse: collapse" | {| class="standard-table" border="1" style="border-collapse: collapse" | ||
Line 340: | Line 310: | ||
! Comments | ! Comments | ||
|- | |- | ||
| Streams API in PDF.js | |||
| Streams API with PDF.js, makes it more faster and memory efficient. Passing data incrementally from worker to main thread increases the speed of processing. Using Streams API instead of xhr in networking reduces the memory usage. Since Streams API is a new technology, using it in PDF.js test Firefox's implementation. | |||
| ECMAScript 2015, Web APIs | |||
| :yury | |||
| :yury | |||
| Proposal: https://docs.google.com/document/d/1yTPvPBhGkFn7XUntAt8wdVPckxHovYylNAIJOGnGRXc/edit?usp=sharing | |||
|} | |} | ||
Line 358: | Line 334: | ||
| Ben Hearsum | | Ben Hearsum | ||
| Ben Hearsum | | Ben Hearsum | ||
|} | |} | ||
Line 424: | Line 388: | ||
! Performance optimization | ! Performance optimization | ||
! brson | ! brson | ||
! brson | ! brson + ? | ||
! | ! | ||
|- | |- | ||
Line 503: | Line 467: | ||
|} | |} | ||
== Thunderbird == | |||
{| class="standard-table" border="1" style="border-collapse: collapse" | |||
|- | |||
! Title | |||
! Details | |||
! Skills Needed | |||
! Reporter | |||
! Mentor(s) | |||
! Comments | |||
|- | |||
| Upgrade mozmill to 2.0 in Thunderbird | |||
| Thunderbird currently uses mozmill 1.5 for part of its test suite. There exists version 2.0.* that we could upgrade to. The problem is we can't just drop in the version into the comm-central tree as there were changes to the Javascript interpreter in Gecko removing/obsoleting old syntax that prevents mozmill from running properly. So there would be need to tweak the mozmill code itself to make it run properly. | |||
See [https://bugzilla.mozilla.org/show_bug.cgi?id=930732 bug 930732] for details. | |||
After this is done, we need to see if all existing tests work properly under the new mozmill. Some touches may need to be done. If time is left, some mozmill tests could use some modernization, consolidating duplicated code, etc. Some areas of code also need new test coverage. These cleanup tasks would be proposed by the mentor. | |||
| Javascript, maybe Python | |||
| :aceman | |||
| :aceman? | |||
| | |||
|} | |||
== Localization == | == Localization == | ||
Line 520: | Line 504: | ||
| [[User:Mathjazz|:mathjazz]] | | [[User:Mathjazz|:mathjazz]] | ||
| | | | ||
|} | |} | ||
Line 558: | Line 529: | ||
| | | | ||
None | None | ||
|} | |} | ||
Line 592: | Line 550: | ||
| js, html, css, react, django, python | | js, html, css, react, django, python | ||
| [https://mozillians.org/en-US/u/Abby/ abbycabs] | | [https://mozillians.org/en-US/u/Abby/ abbycabs] | ||
| [https://mozillians.org/en-US/u/ | | [https://mozillians.org/en-US/u/alanmoo/ alanmoo] | ||
| Detailed list and breakdown of all phase 2 work (only the tasks mentioned in details are expected to be completed by the student): | | Detailed list and breakdown of all phase 2 work (only the tasks mentioned in details are expected to be completed by the student): | ||
* Phase 2.1 https://github.com/mozilla/science.mozilla.org/milestone/11 | * Phase 2.1 https://github.com/mozilla/science.mozilla.org/milestone/11 | ||
Line 610: | Line 568: | ||
* Write a script to collect data for all study group events happening world wide. Each study group is a [https://github.com/mozillascience/studyGroup fork of this template repo]. Each event is an issue in the repo ([https://github.com/UofTCoders/Events/issues example of events as issues]). [https://github.com/mozillascience/studyGroup/blob/gh-pages/scripts/updateCalendar.py here is a script] that collects all events for a specific repo. Please update this to collect data from all forks. | * Write a script to collect data for all study group events happening world wide. Each study group is a [https://github.com/mozillascience/studyGroup fork of this template repo]. Each event is an issue in the repo ([https://github.com/UofTCoders/Events/issues example of events as issues]). [https://github.com/mozillascience/studyGroup/blob/gh-pages/scripts/updateCalendar.py here is a script] that collects all events for a specific repo. Please update this to collect data from all forks. | ||
* Visualize this data in a way that shows study group activity all around the world! viz: calendar, map | * Visualize this data in a way that shows study group activity all around the world! viz: calendar, map | ||
| js, html, css, | | js, html, css, python (or another scripting language), data visualization | ||
| [https://mozillians.org/en-US/u/zannah/ Zannah] | | [https://mozillians.org/en-US/u/zannah/ Zannah] | ||
| [https://mozillians.org/en-US/u/aurelia/ Aurelia] | | [https://mozillians.org/en-US/u/aurelia/ Aurelia] | ||
| main study group repo: https://github.com/mozillascience/studyGroup | | main study group repo: https://github.com/mozillascience/studyGroup | ||
|} | |} | ||
== Thimble == | == Thimble == |
edits