These Weeks in Firefox: Issue 12

Highlights

Friends of the Firefox team

Project Updates

Add-ons

Activity Stream

Electrolysis (e10s)

Firefox Core Engineering

  • Flash
    • Running a telemetry experiment this month on 55 (nightly) to see how the Flash-as-click-to-play-by-default behaves, in advance of a 53 release Shield study
  • Crash pings on Nightly 55 and Aurora 54:
    • …are being sent by pingSender;
    • …have content crash pings;
    • …have raw stacks in those crash pings.
    • Building the ability to gather info from that data starts this week.
    • Reminder that FPO is off as of 53.
  • Main shutdown pings are going to be sent via pingSender in 55
  • Beginning work on Update Agent, which will continue downloading an update if the user’s session has ended
  • Updater
    • Simplification of Updater UI aimed at 55
    • Changes for MAR signing are unblocked (compression (LZMA) and cert (SHA-384)), aiming for land by the end of Q1.

Form Autofill

Mobile

  • Shipped Firefox Focus 3.1 with support for 20 new locales!
  • Extended the beta period for Firefox for iOS 7.0 as well as a new beta build for user testing

Platform UI and other Platform Audibles

Privacy/Security

  • Polish work for permission notifications + insecure password warning (live in 52 🔥)
  • johannh is working on getting right click + autocomplete/insecure password warning behavior to work correctly for password and username fields
  • nhnt11 is working on a few polish bugs for permissions notifications
  • paolo is fixing regressions (and importantly, bug 1345449 – doorhanger won’t stay open when the browser window is minimized)

Quality of Experience

  • Will soon be handing off most of the Theme API work to the WebExtensions team to allow transitioning to the Photon work.
  • Preferences work is moving along, the patches are looking good and we are going through review cycles now.
  • Continuing to work on performance of importing data from other browsers.
    • Currently looking at a 10 times runtime improvement for bookmark import \o/ 🔥🔥🔥
    • History import improvements have landed on 54 and uplifted to 53.

Search

Sync / Firefox Accounts

  • The Mobile Bookmarks folder is now visible in the Bookmarks menu bar and toolbar after a successful Sync! This is the result of work done by the Sync and SUMO teams to help make Firefox Sync easier to use.

Test Pilot

  • Page Shot in 54 is on track.
  • Experiments updating this week:
    • Snoozetabs (adding localization and bug fixes)
    • Min Vid (adding better metrics and bug fixes).  History/Upcoming queues coming soon
    • Cliqz v2 (new UI) coming soon

Here are the raw meeting notes that were used to derive this list.

Want to help us build Firefox? Get started here!

Here’s a tool to find some mentored, good first bugs to hack on.

These Weeks in Firefox: Issue 11

Highlights

Friends of the Firefox team

Project Updates

Add-ons

Activity Stream

  • Removing dependence on Add-on SDK for landing in mozilla-central as a result of Talos testing and deprecation of APIs. Starting with API replacing / inlining, bootstrapping / loader alternatives, testing infrastructure.
  • The team has identified chunks of their project that they can land in mozilla-central independently of one another, and work is underway here
  • The team will still use the system add-on architecture where we feel we need to iterate more quickly, such as our UI code

Content Handling Enhancement

Electrolysis (e10s)

  • Planning is currently underway to do an e10s-multi experiment on a future release. Currently defining cohort sizes.
  • Native Stacks are now available for BHR on Windows, and stacks are starting to trickle in for tab switch spinners.
  • mconley found a case where we’ll show tab switch spinners when blocked by JS, even with force-painting. Working on a patch.

Firefox Core Engineering

  • Looked into “one” problematic Aurora 51 client that was messing up our graphs.
  • Looking into lack of application of hotfix for websense in 47 and 48 (despite users actually having the hotfix).
  • pingSender should be fully functional and out of QA this week. Will be used for sending crash pings on Nightly, Aurora, and Beta next week.
  • Starting to work on a background download service for updates.

Form Autofill

Mobile

  • daleharvey has the beginnings of Progressive Web App support working in Fennec, and will be posting more patches for review soon!
  • Firefox Focus 3.1 for iOS is scheduled to to ship end of the month. This release only contains locale updates. The product went from 27 to 51 supported languages!
  • Firefox for iOS 7.0 has entered the stabilization phase and is expected to ship about 4 weeks from now. This release includes a migration of the codebase to Swift 3.0, stability fixes and Top Tabs for iPad. We will be doing TestFlight beta builds in the coming weeks. You can sign up for those here!
  • Firefox for iOS 8.0 development has started. Primary focus is landing Activity Stream
  • The Mobile team has started an engineering blog!
  • Landed various improvements to Android Sync. Better uploader, smarter sync flow, with a focus on data correctness
  • Project Prox aims to have our second user test in early March. Our new build is an iteration on the previous user test, addressing user feedback such as the need for more consistent data, filters, and a map view.

Platform UI and other Platform Audibles

  • jessica and scottwu have been working on proper localization support for the Date/Time pickers
  • Styling work for the <select> dropdown has finished; riding the 54 train. Let jaws or mconley know if you see any issues.

Privacy/Security

Quality of Experience

  • Lightweight themes will soon be implemented purely through CSS variables once this bug lands
  • We are close to getting the new (Web Extension-based) themes to show up in the Add-ons Manager. This work is being tracked here
  • Blog post announcing Theming API by dolske
  • Improvements to importing are ongoing
    • Turning on automatic migration/import on nightly, aurora and early beta starting with 54
    • Running another experiment on beta 53 to see why/when people don’t like us importing their history/bookmarks from another browser (with a survey)
    • Dão added some limits so we don’t import ALL THE HISTORY all the time when importing from Chrome (currently looking at 6 months and 2000 urls as a limit)
    • Gijs tried to make history import not hang quite so much by reducing main thread communication
  • Preferences reorg/search

Search

Sync / Firefox Accounts

Test Pilot

  • Page Shot in FF 54
    • Page Shot will now be a bootstrapped addon + embedded WebExtension, and will ship as a system addon.
  • Please submit your ideas for new Firefox features!
    • We’ve simplified our Test Pilot experiment proposal form. Learn more.

Here are the raw meeting notes that were used to derive this list.

Want to help us build Firefox? Get started here!

Here’s a tool to find some mentored, good first bugs to hack on.

Fosdem 2017 Nightly slides and video

FOSDEM

FOSDEM is a two-day event organised by volunteers to promote the widespread use of free and open source software.

Every year in February, Mozillians from all over the world go to Belgium to attend Fosdem, the biggest Free and Open Source Software event in Europe with over 5,000 developers and Free Software advocates attending.

Mozilla has its own Developer Room and a booth and many or our projects were presented. A significant part of the Firefox Release Management team attended the event and we had the opportunity to present the Firefox Nightly Reboot project in our Developer room on Saturday to a crowd of Mozillians and visitors interested in Mozilla and the future of Firefox.

Here are the slides of my presentation and this is the video recording of my talk:

With Mozilla volunteers (thanks guys!), we also heavily promoted the use of Nightly on the Mozilla booth over the two days of the event.

Mozilla booth Fosdem 2017

We had some interesting Nightly-specific feedback such as:

  • Many visitors thought that the Firefox Dev Edition was actually Nightly (promoted to developers, dark theme, updates daily).
  • Some users mentionned that they prefer to use the Dev Edition or Beta over Nightly not because of a concern about stability but because they find the updating window that pops up if you don’t update daily to be annoying.
  • People were very positive about Firefox and wanted to help Mozilla but said they lacked time to get involved. So they were happy to know that just using Firefox Nightly with telemetry activated and sending crash reports is already a great way to help us.

In a nutshell, this event was really great, we probably spoke to a hundred developers about Nightly and it was almost as popular on the booth as Rust (people really love Rust!).

Do you want to talk about Nightly yourself?

Of course my slides can be used as a basis for your own presentations to promote the use of Nightly to power users and our core community through the open source events you participate in your region or the ones organized by Mozilla Clubs!

The slides use reveal.js as a presentation framework and only need a browser to be displayed. You can download the tar.gz/zip archive of the slides or pull them from github with this command:
git clone https://github.com/pascalchevrel/reveal.js/ -b nightly_fosdem_2017

These Weeks in Firefox: Issue 10

Highlights

  • The Sidebar WebExtension API (compatible with Opera’s API) has been implemented 💰
  • Preferences reorg and search project is fully underway. jaws and mconley lead a “hack-weekend” this past weekend with some MSU students working on the reorg and search projects
  • A lot of people were stuck on Firefox Beta 44, we found out about it and fixed it. Read more about it on :chuttens blog
  • According to our Telemetry, ~62% of our release population has multi-process Firefox enabled by default now 😎
  • Page Shot is going to land in Firefox 54.  We are planning on making it a WebExtension so that users can remove it fully if they choose to.

Friends of the Firefox team

Project Updates

Activity Stream

Content Handling Enhancement

Electrolysis (e10s)

  • e10s-multi is tentatively targeted to ride the trains in Firefox 55
    • Hoping to use a scheme where we measure the user’s available memory in order to determine maximum content process count
    • Here’s the bug to track requirements to enable e10s-multi on Dev Edition by default

Firefox Core Engineering

Form Autofill

Go Faster

  • 1-day uptake of system add-ons is ~85% in beta (thanks to restartless), and ~72% in release (Wiki)

Platform UI and other Platform Audibles

Privacy/Security

Search

  • Fixed a glaring problem with one-off buttons in scaled (zoomed) display configurations that made the search settings button appear in a separate line.
  • We now correctly report when a search engine could not be installed due to an invalid format.
  • Some Places work mostly in preparation of support for hi-res favicons.

Sync / Firefox Accounts

Storage Management

Test Pilot

Here are the raw meeting notes that were used to derive this list.

Want to help us build Firefox? Get started here!

Here’s a tool to find some mentored, good first bugs to hack on.

These Weeks in Firefox: Issue 9

Highlights

Friends of the Firefox team

(Give a shoutout/thanks to people for helping fix and test bugs. Introductions)

Project Updates

Add-ons

  • andym wrote a blog post about WebExtensions in Firefox 53

Activity Stream

  • Activity Stream targeting to land as a feature in Firefox 56 (about:newtab, about:home)
  • Activity Stream add-on 1.3.0 released today
  • One team is working on the Minimum Viable Product (MVP)
  • Another team is working on graduating the code into the codebase as per our engineering standards
    • Export scripts/processes for m-c
    • Integration testing
    • L10n, I18n, RTL
    • Accessibility
    • Talos / Performance
    • And the other various cross-team wheels that must be turned to ship a large user-facing feature in Firefox

Electrolysis (e10s)

Firefox Core Engineering

  • Crash stacks are collected in crash pings, now in 53.
  • Solved issue (thank you, releng!) for stuck 44.b1 users, so stuck users should start successfully updating. (bugs 1334220 and 1277925)
  • XPCOM symbols are no longer exported for 53+ (see dev.platform thread)
    • This prevents evil DLL injection from third-party applications which should improve stability and reliability

Form Autofill

Team meetings next week in Taipei. Chinese New Year holiday going on now 🎆🐓.

Resolved bugs:

Go Faster

Platform UI and other Platform Audibles

Privacy / Security

Quality of Experience

Search

Sync / Firefox Accounts

Work continues on Bug 676563 – Bookmarks sync does not sync bookmark timestamps

Here are the raw meeting notes that were used to derive this list.

Want to help us build Firefox? Get started here!

Here’s a tool to find some mentored, good first bugs to hack on.

These Weeks in Firefox: Issue 8

The first Firefox Desktop Engineering meeting for 2017 took place this morning! Here are the interesting bits:

Highlights

  • past wrote a blog post about some upcoming privacy and security features
  • ashughes has posted some very interesting GPU Process Experiment Results
    • TL;DR: A GPU process is a very good idea!
  • The Cliqz Test Pilot experiment has launched in Germany!
    • It’s available in other regions as well, but the suggestions it offers will be very Germany-centric

Contributor(s) of the Week

Project Updates

Add-ons

Content Handling Enhancement

Electrolysis (e10s)

Firefox Core Engineering

Form Autofill

Platform UI and other Platform Audibles

Privacy/Security

  • Florian reports that the new Captive Portal UI will ship in Firefox 52. Last bits of polish have just landed and are being uplifted.

Quality of Experience

Here are the raw meeting notes that were used to derive this list.

Want to help us build Firefox? Get started here!

Here’s a tool to find some mentored, good first bugs to hack on.

These Weeks in Firefox: Issue 7

The last Firefox Desktop Engineering meeting for 2016 recently occurred! Here are the relevant tidbits.

Highlights

Contributor(s) of the Week

Project Updates

Add-ons

  • andym reports that the Washington Post Trump article has been updated with the Firefox version of the add-on. This is yet another example of the WebExtensions API making it easy to ship multi-browser add-ons!

Activity Stream

Content Handling Enhancement

Electrolysis (e10s)

Firefox Core Engineering

Platform UI and other Platform Audibles

  • jjong landed Bug 1286182 – Implement the layout for <input type=date>
    • This is currently disabled behind dom.forms.datetime and dom.forms.datetime.timepicker
  • MSU students have finished up their semester – see this update on jaws’ blog, along with their excellent final video presentation
    • Bug 1300784 – Combine e10s and non-e10s <select> dropdown mechanisms
      • A blocking bug autolanded yesterday, this will hopefully land today (preffed off)
    • Bug 1309935 – Add ability to find within select dropdown when over 40 elements
      • Currently undergoing review iterations

Privacy / Security

Quality of Experience

  • Kicking off a project to update preferences UI and remove inconsistencies
    • UX team in Taipei completed user research and user testing of different organizations to get a more productive, consistent UI
    • Here’s the spec
    • There are great bugs in here for mentoring, and hacking on Firefox for the first time! Like this one! Or this one! Or this one! Or this one!
  • New theme API
    • Work will begin in Q1 to start implementing the Theme API in mozilla-central
    • Community outreach soon to communicate the planned API
    • Will schedule a couple short meetings with some Firefox front-end engineers to discuss implementation and ask for feedback on internal API
  • Onboarding 51 funnelcake
    • Work is ongoing to provide a new onboarding experience for new Firefox users as part of a funnelcake running against Firefox 51 release

Search

  • Drew posted a first draft of a patch that will allow add-ons to replace the entire AwesomeBar dropdown without having to go through XBL or XUL. This is groundwork to potentially expose this as a WebExtension API.
  • The SHIELD study for a unified URL and search bar is still ongoing. The results are expected some time in January.

Here are the raw meeting notes that were used to derive this list.

Want to help us build Firefox? Get started here!

Here’s a tool to find some mentored, good first bugs to hack on.

Upcoming Community Efforts Around Nightly

I have been speaking with several community members about Activate Mozilla, a new campaign that the Participation team has launched.

I believe there are some potential tasks around Nightly that might fit well into Activate Mozilla. To this end, several of us met back in November and hashed out some possible ideas – you can see the notes from that meeting here.

The idea is that we create an Activate Mozilla campaign around something community can work on at a meetup or hackathon, for example. During the last meeting I suggested that bug triage might be one good task. On a daily basis there are new bugs being filed in Nightly that need to be moved into the correct component, or need additional information in order to move along and be fixed. This is a area where community can really have an impact on the Firefox project.

Another area that would be interesting to explore would be to have a campaign around a new feature in Nightly. Each cycle there is feature work being done, and I think our first “proof of concept” for Activate Mozilla may be around an upcoming feature. The work on our end will be create a clear document which explains how the feature is supposed to work, and how
you would go about testing it.

Some of the challenges we may have will be training community to be able to do these tasks – and the solution to that may be a combination of some training events as well as good online documentation. When we first started the Triage Bot project it seems some of the first individuals who triaged did not read the documentation. The end result is that they started triaging bugs and not doing it correctly, which can actually be detrimental to the project. So we do need participants to do some preparation by reading documentation prior to the event, so that they are ready to go when the event happens. This is a technique I employed when I was working on the BuddyUp project, and it worked well from a preparation standpoint.

There are some additional challenges around working with contributors who are at different levels. My approach in this situation is to make sure you have enough mentors and facilitators available with the specific subject area knowledge available to answer questions at the event.

Finally, I have given some thought to ways that we might promote Nightly tasks now that we don’t have One and Done. Someone suggested we try using github. I am definitely open to other suggestions if you have them.

If you are interested in helping with this effort, please feel free to contact me at marcia at mozilla dot com. I am hoping to be able to host several small Nightly themed events (in conjunction with the l10n team) next year, so stay tuned for more information regarding these.

These Weeks in Firefox: Issue 6

Highlights

Contributor(s) of the Week

Project Updates

Add-ons

Electrolysis (e10s)

  • Turning on e10s-multi on Nightly (with 2 content processes) is blocked on Talos regressions and a few test failures. This should happen sometime soon during the Nightly 53 cycle (and hold on Nightly)

Firefox Core Engineering

  • ddurst reports that there is going to be an aggressive push to update “orphaned” Firefox installs (44-47, inclusive) between now and the end of 2016
    • “Orphaned” = not updated since 2 versions back.
    • Concerted effort to encourage people to update from 42-47 to current (50). 42-25 isn’t a huge chunk, but this is a much more aggressive push.
    • What causes orphans?
      • Some are just users being slow to update
      • Blocked by security suite. (Avast was trying to update on users’ behalf). Some are worked out with vendors, some are actual problems.
      • Some are related to network latency (bugs have been filed and fixed), but ddurst’s team just got a machine that’s not updating and not affected by latency.
    • 3.x upgrades

Form Auto-fill

Platform UI and Other Platform Audibles

Privacy / Security

  • nhnt11 has simplified the way we open captive portal tabs

Quality of Experience

  • mikedeboer reports that the demo / ideation phase for the new Theming API is nearly finished
    • An engineering plan in the making, and almost ready for feedback rounds
    • The team is looking at performance measures now (memory, new window creation, tab opening, etc)
  • dolske has some onboarding updates:
    • 51 Beta is now live with the latest automigration test/data-gathering. (No wizard on startup, migrates and gives option to undo)
    • Gijs is starting work on allowing automigration-undo even after activating Sync
    • In discussions with verdi about an updated first-run experience (nutshell: simplified, focus on new-tab page so user can quickly see familiar auto-migrated data, starting point for low-key introduction of features)
      • Fewer tabs, sign in to FxA, and then directly to about:newtab. (If you migrated from Chrome, your top sites will be there)

Search

Sync / Firefox Accounts

Here are the raw meeting notes that were used to derive this list.

Want to help us build Firefox? Get started here!

Here’s a tool to find some mentored, good first bugs to hack on.

These Weeks in Firefox: Issue 5

Highlights

Contributor(s) of the Week

Project Updates

Content Handling

Electrolysis (e10s)

  • More patches have landed which should, in theory, help with tab spinners. At the very least, they remove synchronous messages, which is good for performance in general
  • A new Telemetry probe has landed to measure how long it takes to paint an entire tab from the perspective of the content process

Firefox Core Engineering

Form Auto-fill

Platform UI and Other Platform Audibles

Privacy / Security

Quality of Experience

Search

Sync / Firefox Accounts

Storage Management

Here are the raw meeting notes that were used to derive this list.

Want to help us build Firefox? Get started here!

Here’s a tool to find some mentored, good first bugs to hack on.