<div dir="ltr"><div>(via <a href="https://dolske.wordpress.com/2017/05/31/photon-engineering-newsletter-4/">https://dolske.wordpress.com/2017/05/31/photon-engineering-newsletter-4/</a>)</div><div><br></div><div><p>Welcome to Photon update <a href="https://www.youtube.com/watch?v=EAdGhMRBbzY">#4</a>!
[Yes, another update this week. I’ve caught up with the backlog, so
these updates should now reflect recent work over the last 7-10 days.]</p>
<p>Let’s first talk about a couple of projects that overlap with Photon
and have led to some questions about how things fit together.</p>
<h3>Quantum Flow and Photon</h3>
<p><a href="https://ehsanakhgari.org/blog/2017-03-09/quantum-flow-engineering-newsletter-1">Quantum Flow</a> is a project to find and prioritize fixing performance issues across the browser. We’ve found and/or fixed hundreds of <a href="https://wiki.mozilla.org/Quantum/Flow">bugs</a>
so far, tagged “[qf:p1]” in Bugzilla. Photon is a project to refresh
Firefox’s UI, which also has a major performance component. Photon also
has a <a href="https://bugzilla.mozilla.org/showdependencytree.cgi?maxdepth=4&id=1363750&hide_resolved=0">big bug tree</a> of front-end performance issues found and/or fixed.</p>
<p>So, hey, are these separate projects? Are we duplicating effort? The answer is “no” to both.</p>
<p>Quantum Flow started off with an emphasis on platform bugs, since web
content performance is, y’know, a pretty important consideration for a
web browser. The Photon project got rolling well after Quantum Flow had
begun, and is simply the front-end complement to Quantum Flow’s
performance investigations. The two projects are basically just
different views into the same underlying work, and are coordinating very
closely.</p>
<p>The Photon performance work is a little more structured than Quantum
Flow as a whole, though. We’ve clustered the front-end performance bugs
into <a href="https://bugzilla.mozilla.org/showdependencytree.cgi?id=1363750&maxdepth=1&hide_resolved=0">about 10 areas</a>
of specific types of bugs or UX interactions. These are not the only
areas of front-end performance, but are the ones we want to focus on
for around the Firefox 57 timeframe.</p>
<h3>Photon Mobile</h3>
<p>The main focus of Quantum and Photon is Desktop Firefox. However, the mobile team will be doing a<a href="https://dribbble.com/shots/3508511-Photon-Mock-1"> visual refresh</a>
of Firefox on iOS and Android to fit in with the new Photon design.
They’ll be updating iconography and colors, as well as making the page
loading indicators, menus, toolbars, and tab tray more consistent across
iOS and Android. It’s also worth noting that Firefox on Android will
still benefit from some of the Quantum improvements, since it’s also
built on top of Gecko (on iOS we use WebKit, due to Apple’s platform
restrictions).</p>
<h2>Recent Changes</h2>
<div>Here’s what’s happened in Photon this week.</div>
<div>Menus/structure:</div>
<div>
<ul><li>Page action menu is taking shape – now has “<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1363182">Send to device</a>” and <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1363183">bookmarking</a> functionality. Pocket functionality is next on the list.</li><li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1009116">Long overdue</a>
maintenance and performance improvement work on panels, panelmultiviews
and their transitions is ongoing, getting better every day.</li><li>Customization <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1354078">context menus</a> and customize mode <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1354126">improvements</a>
have landed – customize mode is now more usable when the photon pref is
toggled. We’re getting closer to toggling that pref on nightly.</li><li>Sidebar switcher improvements have landed. You can now <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1355331">move the sidebar</a>
to the left or right side, WebExtension sidebars are now listed, and
some styling improvements have been made. When the sidebar button has
also been <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1364238">updated</a> this part of the project will be nearly done.</li><li>Initial patches for the new Library panel are awaiting review.</li></ul>
<p> </p>
</div>
<div>Animation:</div>
<div>
<ul><li>Work continues on animations for downloads toolbar button,
stop/reload button, and page loading indicator – but these haven’t
landed yet.</li><li>Looked into SVG spritesheet production+optimization with <a href="https://github.com/sfoster/svgo/tree/photon-plugins">SVGO plugins</a>. This allows us to both to cleanup the SVG markup and optimize out some of the poor SVG generated by graphics editors.</li></ul>
</div>
<div>Preferences:</div>
<ul><li>We’ve decided to <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1363850">hold back</a>
the preferences reorg until Firefox 56. As previously noted, we’re
planning on making some further revisions to the preferences reorg that
has already landed in Nightly. They’re not large in scope, but 55 goes
to Beta in just a few weeks (<a href="https://wiki.mozilla.org/RapidRelease/Calendar">June 12th</a>), and we want to make sure we get things right before shipping it to Beta or Release.</li><li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1365210">Updated the strings</a> in the new performance page, added a <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1360491">search icon</a> to the search field, and fixed a number of other small bugs.</li></ul>
<div>Visual redesign:</div>
<div>
<ul><li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1367384">The title bar is now dark</a> by default on Windows 10. It’s a pretty striking look, and we think you’ll like it. A similar change for <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1367385">OS X</a> is coming.<br>
<img class="gmail-alignnone gmail-wp-image-1825" src="https://dolske.files.wordpress.com/2017/05/darktoolbar.png?w=633&h=88" alt="darktoolbar" width="633" height="88"><br>
The dark purple has led to at least one interesting reaction. 😉<br>
<img class="gmail-alignnone gmail-wp-image-1786" src="https://dolske.files.wordpress.com/2017/05/screen-shot-2017-05-30-at-3-14-49-pm.png?w=229&h=74" alt="Screen Shot 2017-05-30 at 3.14.49 PM" width="229" height="74"></li><li>The arrow in the back button <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1367015">got a bit smaller</a>.
This makes it consistent with the forward arrow – which is especially
important for use in Compact Mode, where both are styled identically
(i.e. no circle around the back button).</li><li>Windows 7 <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1367712">no longer</a> has a custom toolbar background color. It was bluish, and is now just a normal grey.</li><li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1368016">Started to remove</a> the “compact” from the “compact light/dark” themes that shipped in <a href="https://hacks.mozilla.org/2017/04/firefox-53-quantum-compositor-compact-themes-css-masks-and-more/">Firefox 53</a>.
Wait, wait. Hold your fury! With Photon, “compact” will simply be a
mode independent of any particular theme. You’ll still be able to have a
compact-dark theme. But can also have the default theme be compact, or
have a non-compact dark theme. Or use a <a href="https://blog.mozilla.org/addons/2017/02/24/improving-themes-in-firefox/">3rd party theme</a> in compact mode.</li><li>Removed dropdown markers for <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1366424">bookmark folders</a> and <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1366550">toolbar buttons</a>.</li></ul>
</div>
<div>Onboarding:</div>
<div>
<ul><li>Coordinating with the <a href="https://wiki.mozilla.org/Firefox/Activity_Stream">Activity Stream</a>
project to finalize automigration UI. Also discussing impact to the
onboarding tour, as Activity Stream will only be doing a limited rollout
(5% of users) in Firefox 56. Adapting the tour to the current
(pre-Activity Stream) about:home and New Tab page introduces some
complications and extra work.</li><li>Completed a User Research study to better understand why users download Firefox and what their expectations are.</li></ul>
<p> </p>
</div>
<div>Performance:</div>
<div>
<ul><li>Even more <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1363505">sync reflow tests</a>
are being written, as well as a test to list files loaded early during
startup. These help ensure we don’t regress the fantastic performance
improvements that have been made so far.</li><li>We got some nice contributions, especially a couple fixes from Dão for <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1358453">sync reflows</a> in tab interactions.</li><li>The last thing causing NSS initialization before first paint is <a href="https://blog.mozilla.org/blog/2017/03/07/lots-new-in-firefox-game-changing-webassembly-support/">captive portal detection</a>, and should be fixed soon.</li><li>Felipe Gomes is joining the Photon Performance team, and will focus
initially on jank caused by code running off of timers. He’ll have an
intern starting soon who we expect will start by fixing some main thread
IO bugs. Also, the rest of the Photon team will be starting to use some
of their time to begin working on other performance bugs.</li></ul>
</div>
<p> </p>
<p><a href="https://en.wikipedia.org/wiki/End-of-Transmission_character">End of transmission</a>.</p></div></div>