|
|
(27 intermediate revisions by 11 users not shown) |
Line 63: |
Line 63: |
| | Javascript | | | Javascript |
| | marco | | | marco |
| | | | | |
| | | | |- |
| | | RFC7512 URI support (PKCS #11 URI) |
| | | [https://bugzilla.mozilla.org/show_bug.cgi?id=1162897 bug 1162897] |
| | and |
| | [https://bugzilla.mozilla.org/show_bug.cgi?id=248722 bug 248722] |
| | | C |
| | | |
| | | rrelyea and dwmw2 |
| | | Already entered [[Community:SummerOfCode16]] |
| |- | | |- |
| |} | | |} |
Line 92: |
Line 100: |
| ! Comments | | ! Comments |
| |- | | |- |
| | Download app assets at runtime
| |
| | With Firefox for Android we just made the first steps to stop shipping everything in the APK and to instead download assets the application needs at runtime. We started with fonts but we want to do much more (hyphenation dictionaries, translations, ..) in order to reduce the APK size.
| |
| * [https://bugzilla.mozilla.org/show_bug.cgi?id=1194338 Meta bug 1194338 (Support for downloadable fonts) - Base technology for downloading assets at runtime]
| |
| ** [https://bugzilla.mozilla.org/show_bug.cgi?id=1095719 Bug 1095719 - Download hyphenation dictionaries at runtime]
| |
| ** [https://bugzilla.mozilla.org/show_bug.cgi?id=945123 Bug 945123 - Support for downloadable localization files]
| |
| | Java / Android
| |
| JavaScript or C++ helpful but not a requirement
| |
|
| |
| Basic knowledge of the HTTP protocol
| |
| | [https://mozillians.org/en-US/u/sebastian.kaspari/ Sebastian Kaspari (:sebastian)]
| |
| | [https://mozillians.org/en-US/u/sebastian.kaspari/ Sebastian Kaspari (:sebastian)]
| |
| |
| |
| |} | | |} |
|
| |
|
Line 183: |
Line 179: |
| ! Comments | | ! Comments |
| |- | | |- |
| |} | | | Redesign libpurple integration |
| | | Currently Thunderbird can have additional protocols added to them via libpurple. This is distributed separately because of licensing compatibilities. There is a shim later (called purplexpcom) which translates from Thunderbird's chat interfaces to libpurple's interfaces. Unfortunately this is: |
|
| |
|
| == Calendar ==
| | * Time consuming to maintain |
| | * Difficult to compile |
| | * Requires re-compilation for each Thunderbird version |
| | * Is not binary compatible with system libpurples |
|
| |
|
| {| class="standard-table" border="1" style="border-collapse: collapse"
| | It is desirable to experiment with different ways to interact with libpurple to redesign this interface. Potential experiments include: |
| |-
| |
| ! Title
| |
| ! Details
| |
| ! Skills Needed
| |
| ! Reporter
| |
| ! Mentor(s)
| |
| ! Comments
| |
| |-
| |
| | Event in a Tab
| |
| | Currently, events and tasks a created and displayed in a dialog. In a first place, this project is intended to transform this to happen in a tab, likewise emails in Thunderbird. A supplemental goal is to explore the capabilities and restrictions to implement the event in a tab feature without XUL but just using HTML/CSS/JavaScript. A HTML solution could entail a responsive design, allowing to fully replace the current event dialog. The design could change depending on if the event editor is shown in the width of a tab, or the current standard event dialog size.
| |
|
| |
|
| This project is a good balance of UI work and JavaScript coding. Web developer experience is helpful, but you must not be a design expert to work on this project.
| | * Using js-ctypes to interact with the libpurple binary component (instead of C++ XPCOM code) |
| | * Spawn a separate sub-process and use IPC to communicate with libpurple |
| | * Compile libpurple to JavaScript with emscripten |
|
| |
|
| | XUL, HTML, CSS, JavaScript | | Requires understanding of: C, C++, XPCOM, JavaScript |
| | MakeMyDay | | | C, C++, XPCOM, JavaScript |
| | [mailto:mozilla@kewis.ch Fallen] / MakeMyDay | | | Patrick Cloke |
| | | |
| | | | | |
| |- | | |- |
| | Advanced Preferences System | | | OTR (Off-the-Record) Integration |
| | 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. | | | [https://trac.torproject.org/projects/tor/wiki/doc/TorMessenger Tor Messenger], which is based on Instantbird, has support for end-to-end encrypted instant messaging using OTR ([https://github.com/arlolra/ctypes-otr via an extension]). The goal of this project would be to upstream these changes from Tor Messenger into Instantbird while incorporating UI changes designed by the Instantbird team. |
| | | | c-types, XPCOM, JavaScript, XUL |
| This is mainly a JavaScript project, but to a smaller extent some UI extensions are required. The emphasis is on the functional part here.
| | | arlolra |
| | | | Patrick Cloke [:clokep] |
| | XUL, HTML, CSS, JavaScript | |
| | MakeMyDay | |
| | [mailto:mozilla@kewis.ch Fallen] / MakeMyDay | |
| | | | | |
| |- | | |- |
| |} | | |} |
|
| |
|
| == SeaMonkey == | | == Calendar == |
|
| |
|
| {| class="standard-table" border="1" style="border-collapse: collapse" | | {| class="standard-table" border="1" style="border-collapse: collapse" |
Line 228: |
Line 218: |
| ! Mentor(s) | | ! Mentor(s) |
| ! Comments | | ! Comments |
| | |- |
| |} | | |} |
|
| |
|
| ==NSS (Network Security Services)== | | == SeaMonkey == |
|
| |
|
| {| class="standard-table" border="1" style="border-collapse: collapse" | | {| class="standard-table" border="1" style="border-collapse: collapse" |
Line 289: |
Line 280: |
| ! Mentor(s) | | ! Mentor(s) |
| ! Comments | | ! Comments |
| | |- |
| | ! Debugging failures seen in CI Infrastructure |
| | ! there are many things we can do to make the developer experience better when investigating a test job. From retriggering a job to collecting verbose logging or profiling data, to using a 1 click loaner to not only reproduce but to debug and fix issues, there are many parts of the CI system that we can make small improvements upon to simplify and make dealing with test jobs in CI more enjoyable. Full details available [https://docs.google.com/document/d/1kiTt79hnqP65UDYobm0ekYV27-0nRE9IDo9AB8NkSLQ/edit here] |
| | ! python, javascript |
| | ! Joel Maher |
| | ! Joel Maher |
| | ! |
| |- | | |- |
| |} | | |} |
Line 400: |
Line 398: |
| ! Comments | | ! Comments |
| |- | | |- |
| | Reduce the frequency of update races in Balrog
| |
| | One of the key features of our update server's (Balrog) API is that it guards against update races - where multiple clients overwrite each others' changes to the same piece of data. In many cases clients are updating small, independent parts of the same larger piece of data, and the server should be able to safely merge the changes together rather than forcing clients to try again. This project will involve the design and implementation of an improved algorithm for safely accepting changes to Balrog's Release objects through the API.
| |
| | Python
| |
| | [https://mozillians.org/en-US/u/bhearsum/ bhearsum]
| |
| | [https://mozillians.org/en-US/u/bhearsum/ bhearsum]
| |
| |
| |
| |} | | |} |
|
| |
|
Line 437: |
Line 429: |
| ! Mentor(s) | | ! Mentor(s) |
| ! Comments | | ! Comments |
| | |- |
| | | SemVer policy checker |
| | | Rust's library ecosystem works with "semantic versioning" (semver), which allows the version numbers of libraries to signify backwards-compatibility constraints. Roughly speaking, if your code works with version `X.Y` of some library, it should work with `X.(Y+1)` -- a new "minor release" -- as well. |
| | |
| | In practice, actually ensuring compatibility is quite subtle, and in Rust, there are some library changes that could theoretically break client code, but which we want to allow anyway. Our full stance on semantic versioning is written up in an RFC: https://github.com/rust-lang/rfcs/pull/1105 |
| | |
| | The goal of this project is to build a tool that can tell whether a set of changes to a library is valid under Rust's semver rules. Building this tool will likely require some hacking on the compiler itself (to produce the necessary information), and will hopefully result in some reusable infrastructure that can be applied to other projects as well. |
| | | Familiarity with Rust |
| | | Aaron Turon |
| | | Brian Anderson, Aaron Turon |
| | | |
| |- | | |- |
| |} | | |} |
Line 451: |
Line 454: |
| ! Comments | | ! Comments |
| |- | | |- |
| | File Support
| |
| | Adding File and Blob support to [https://github.com/servo/servo Servo]
| |
| | Familiarity with Javascript; desire to write [https://rust-lang.org Rust] code (Rust or C++ experience helpful)
| |
| | [https://mozillians.org/u/manishearth Manish Goregaokar]
| |
| | [https://mozillians.org/u/manishearth Manish Goregaokar]
| |
| | [https://github.com/servo/servo/wiki/Summer-of-Code-2016:-File-support In-depth project details]
| |
| |} | | |} |
|
| |
|
Line 507: |
Line 504: |
| ! Mentor(s) | | ! Mentor(s) |
| ! Comments | | ! Comments |
| | |- |
| | | ZAP Bug tracker support |
| | | https://github.com/zaproxy/zaproxy/issues/440 |
| | | Java |
| | | Simon Bennetts |
| | | Simon Bennetts |
| | | |
| | |- |
| | | ZAP Auto login detection and configuration |
| | | https://github.com/zaproxy/zaproxy/issues/2251 |
| | | Java |
| | | Simon Bennetts |
| | | Simon Bennetts |
| | | |
| | |- |
| | | Zest text representation and parser |
| | | https://github.com/mozilla/zest/issues/23 |
| | | Java |
| | | Simon Bennetts |
| | | Simon Bennetts |
| | | |
| |- | | |- |
| |} | | |} |
Line 608: |
Line 626: |
| ! Comments | | ! Comments |
| |- | | |- |
| | Contributorship Badges for Science.
| |
| | Exploring the use of digital badges for crediting contributors to scholarly papers for their work. As the research environment becomes more digital, we want to test how we can use this medium to help bring transparency and credit for individuals in the publication process.
| |
|
| |
| Using Mozilla's Badgekit-api to implement our badges, we can issue and fetch badges from badgekit via the badgkit-api-client. By authenticating against ORCID, a user can reliably issue badges to a valid ORCID, the standard unique researcher identifier.
| |
|
| |
| In this project, you will integrate with the publishers paper submission system to generate the badges.
| |
| | Strong JavaScript programming skills. Familiar with node.
| |
| | Abigail Cabunoc Mayes
| |
| | [https://mozillians.org/en-US/u/Abby/ Abigail Cabunoc Mayes :abbycabs]
| |
| |
| |
| |} | | |} |
|
| |
|
Line 630: |
Line 638: |
| ! Comments | | ! Comments |
| |- | | |- |
| | [http://www.aframe.io aframe.io] - Building Blocks for the VR Web
| |
| |
| |
| To bring the library to the next level we need new demos that focus on the strengths of the VR medium. We need someone to help us create new exciting and visually stimulating a-frame examples that show new interaction techniques to handle locomotion (how do you move quickly in the VR space without inducing motion sickness?), object manipulation (how do we integrate novel input controls that track your arms and hands?), and multi user experiences (How will social activities express in VR?). Those explorations will result in examples and components that we will make available to the a-frame users. This is a great opportunity for someone to explore the next big medium, play with cool gadgets and interact with an emerging open source community.
| |
| | JavaScript and Computer Graphics (OpenGL / WebGL)
| |
| | Diego Marcos : dmarcos
| |
| | Diego Marcos : dmarcos
| |
| |} | | |} |