Time for a solid update #5! So far the Photon project appears to be well on track — our work is scoped to what we think is achievable for Firefox 57, and we’re generally fixing bugs at a good rate.

Search Box?

If you’ve been paying attention to any of the Photon mockups and design specs floating around, you may have noticed the conspicuous absence of the search box in the toolbar (i.e. there’s just a location field and buttons). What’s up with that?

For some time now, we’ve been working on improving searching directly from the location field. You can already search from there by simply entering your search term, see search suggestions as you type, and click the icons of other search engines to do a one-off search with them instead of your default. [The one-off search feature has been in Nightly for a while, and will start shipping in Firefox 55.] The location bar now can do everything the search box can, and more. So at this point the search box is a vestigial leftover from how browsers worked 10+ years ago, and we’d like to remove it to reclaim precious UI space. Today, no other major browser ships with both a location field and search box.

That said, we’re being careful about understanding the impact of removing the search box, since it’s been such a long-standing feature. We’re currently running a series of user studies to make sure we understand how users search, and that the unified search/location bar meets their needs. And since Mozilla works closely with our search engine partners, we also want to make sure any changes to how users search is not a surprise.

Finally, I should note that this is about removing the search box as the default for _new_ Firefox users. Photon won’t be removing the search box entirely, you’ll still be able to add it back through Customize Mode if you so desire. (Please put down your pitchforks and torches. Thank you.) We’re still discussing what to do for existing users… There’s a trade-off between proving a fresh, clean, and modern experience as part of the upgrade to Photon (especially for users who haven’t been using the search box), and removing a UI element that some people have come to expect and use.

Recent Changes

Menus/structure:

Hamburger panel is now feature complete! An exit/quit menu item was added (except on macOS, as the native menubar handles this). A restyled zoom control was added. One small feature-not-yet-complete: the library subview is reusing the same content as the library panel, and so won’t be complete until the library panel itself is complete. A number of smaller bugs and regressions fixed.

Initial version of the new Library panel has landed It still needs a lot of work, items are missing, and the styling isn’t done. Landing this early allows us to unblock work in other areas of Photon (notably animations) that need to interact with this button. We haven’t placed it into the toolbar by default yet. Until we do so, if you want to play with it you’ll need to manually add it from Customization mode.

We’re getting ready to enable the Photon structure pref by default on Nightly, and are just fixing the last tests so that everything is green on our CI infrastructure. Soon!

Animation:

Landed a patch that allows us to move more of our animations to the compositor and off of the main thread. Previously, this optimization was only allowed when the item’s width was narrower than the window, now it’s based on available area. (Our animations are using very wide sprite sheet “filmstrips” which required this — more about this in a future update).

Work continues on animations for downloads toolbar button, stop/reload button, and page loading indicator. The first two have gone up for review, and unfortunately we found some issues with the plan for the downloads button which requires further work.

Preferences:

Finalized spec for the preferences reorg version 2. The team will now begin implementation of the changes.

The team is working on improving search highlighting in about:preferences to include sub-dialogs and fixing some highlight/tooltip glitches.

The spec for Search behavior is also being finalized.

Visual redesign:

One of the most obvious changes this week was the removal of the window drag space above the tabs. The tabs are now flush with the top of the window. To allow for dragging the window, we’ve increased the space to the left of the first tab.

Fixed some bugs with the appearance of the back button, permission icons, and bookmark items.

Onboarding:

Enabled the basic onboarding overlay on about:newtab and about:home. Now you can see a little fox icon on the top-left corner on about:newtab and about:home on Nightly! (Here’s the full spec for what will eventually be implemented. We’re working on getting the first version ready for Firefox 56.)

Finished creating the message architecture so that the Auto-migration code can talk with Activity Stream

Performance:

Even more tests for sync reflows, covering the Photon menu and its subview transitions.

We now have a test checking which JS components and modules are loaded at which phase of startup, and started taking things off app-startup. These tests help ensure we don’t accidentally regress improvements to Firefox startup… We’ve already made some fixes where code that was supposed to load lazily was being loaded during startup, and these tests will catch that. That’s all for this week!