Re: New and improved "about:config" for Firefox Desktop

2019-02-06 Thread Randell Jesup
>On 1/26/2019 10:09 AM, khagar...@gmail.com wrote:
>> Does it take into account that the sorting is preserved between about:config 
>> calls?
>
>No, but 0.4% is still very low. We could imagine that a lot of people
>keep the table sorted by type at all times, or that only a few people
>do or even know that they can sort, depending on where our confirmation
>bias stands. We're aware of this, and this is why this data point is
>definitely not the only element that will influence the direction here.

I frequently wished to see (only) modified prefs... and never realized I
could sort on modification status.

-- 
Randell Jesup, Mozilla Corp
remove "news" for personal email
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: New and improved "about:config" for Firefox Desktop

2019-02-03 Thread Paolo Amadini

On 2/2/2019 10:02 PM, Philipp Kewisch wrote:

On 1/24/19 11:25 PM, Paolo Amadini wrote:
I'm not expecting any major changes to the new about:config that would require
communication, as long as a the boundary between toolkit and browser is
kept.


On this specifically, the boundary between "toolkit" and "browser" is
really blurred at the moment, mostly for historical reasons. This is
reflected by all the special cases we have in the build system.

It's more probable that if the distinction becomes clearer in the
future, it would probably see "toolkit" as the shared folder between
Android and Desktop, with "browser" being the Desktop-specific folder
and "mobile" being the Android-specific one. Thus, some things that are
now in "toolkit" would move to "browser" and not the other way around.

Alternatively, these might just become more blurred as we continue
working on multiple products in mozilla-central without a clear
direction for the organization of these folder other than historical
reasons. In this case, we might find that we can move assets more freely
and we can consider "toolkit" as shared with Thunderbird, with a passive
commitment to making updates to "toolkit" on Thunderbird's request.


Speaking for the Thunderbird project after conferring with our
engineering manager, a separate code base for such an integral feature
of toolkit would not lessen the maintenance burden.


Thanks for discussing this. I've filed bug 1524836 where we can evaluate
our options and continue the discussion for "about:config" specifically.

Cheers,
Paolo
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: New and improved "about:config" for Firefox Desktop

2019-02-02 Thread Philipp Kewisch
On 1/24/19 11:25 PM, Paolo Amadini wrote:
> On 1/24/2019 9:57 PM, Philipp Kewisch wrote:
>> was there a specific reason to put the code in chrome://browser/ ? It
>> seems to me that this is a feature that is common for all toolkit apps,
>> so if you put it in chrome://toolkit/ then Thunderbird can just make use
>> of it without any major migration needs.
>
> We placed this page in the "browser" folder on purpose to get access to
> a broader range of styling assets, like the icon we display for locked
> preferences, without having to worry about uplifting specific parts of
> Photon to the "toolkit" folder, which complicates the asset management.
>
> As we see it, this page is specific to Firefox Desktop. Other products
> that live in mozilla-central already have a separate implementation,
> which is much easier from a maintenance perspective anyways, given that
> there are only about 400 lines of code and this way we don't have to
> worry about extra communication overhead for every change.
>
> For the same reasons, while I can't speak for the Thunderbird project,
> I believe that a separate code base for this page could lessen the
> maintenance burden on Thunderbird as well.
>
> Cheers,
> Paolo

For the old about:config, I don't recall many situations where we needed
to make any adjustments in Thunderbird. While I understand the extra
hassle of identifying styling assets that may need to be moved into
toolkit, I think that toolkit should retain a reference implementation
of about:config for desktop applications.

I don't believe that extra communication overhead should be an issue.
While Thunderbird enjoys a heads up if there are major changes, we are
quite used to features breaking without prior notice. I'm not expecting
any major changes to the new about:config that would require
communication, as long as a the boundary between toolkit and browser is
kept.

Speaking for the Thunderbird project after conferring with our
engineering manager, a separate code base for such an integral feature
of toolkit would not lessen the maintenance burden. We would essentially
need to port all the changes Firefox is making to the new about:config
as we go along, which will be more work than the occasional bugfix on
our end or patch contributed to m-c.

I'd enjoy if you could reconsider, and if there is something we can do
to help with that I am sure we can arrange something. If you are not
convinced, maybe we can have a quick chat about this on IRC or a meeting.

Thanks,
Philipp

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: New and improved "about:config" for Firefox Desktop

2019-01-26 Thread Paolo Amadini

On 1/26/2019 10:09 AM, khagar...@gmail.com wrote:

Does it take into account that the sorting is preserved between about:config 
calls?


No, but 0.4% is still very low. We could imagine that a lot of people
keep the table sorted by type at all times, or that only a few people
do or even know that they can sort, depending on where our confirmation
bias stands. We're aware of this, and this is why this data point is
definitely not the only element that will influence the direction here.


Also, the list in about:support isn't complete

Sure, we're aware of this too. After this page has been made the
default, please follow up in bug 1502867 if you find yourself in a
future situation where not having the filter, and the limits of
"about:support", cause an issue.

We're not interested in past examples at this stage. Even if we end up
implementing the filter, this use case collection period will be very
useful to see if there is a better way to solve people's needs.

Cheers,
Paolo
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: New and improved "about:config" for Firefox Desktop

2019-01-26 Thread khagaroth
On Friday, January 25, 2019 at 11:37:14 PM UTC+1, Paolo Amadini wrote:
> On 1/25/2019 10:39 AM, Axel Hecht wrote:
> > filter [...] by modified
> 
> This is bug 1502867, it is something we've considered but I'm a bit
> conflicted as it's only really used on 0.4% of page views and we have a
> better section dedicated to that use case in "about:support".
Does it take into account that the sorting is preserved between about:config 
calls?
Also, the list in about:support isn't complete (that's why it's called 
IMPORTANT modified preferences and not simply modified preferences) and it's 
not editable so I really wouldn't call it even remotely better.
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: New and improved "about:config" for Firefox Desktop

2019-01-25 Thread Paolo Amadini

Showing only modified preferences looks like a common request, so my ask
at the moment would be for actual examples of when you encounter this in
a real scenario. If you're interested, check out bug 1502867 comment 3
and add a note the next time you find that the current page isn't
enough for your use case.

I'd expect most reports to come in after we've switched the default.

Cheers,
Paolo

On 1/25/2019 10:52 PM, Mike Hommey wrote:

On Fri, Jan 25, 2019 at 10:36:16PM +, Paolo Amadini wrote:

On 1/25/2019 10:39 AM, Axel Hecht wrote:

Is there a tracking bug for follow-ups?


Please file bugs blocking bug 1493439, I'll triage them as necessary.


filter [...] by modified


This is bug 1502867, it is something we've considered but I'm a bit
conflicted as it's only really used on 0.4% of page views and we have a
better section dedicated to that use case in "about:support".


Actually, I never realized we could order by column, and I've always
thought what's in about:support is not enough, because it doesn't allow
to edit. I don't think column ordering by modified is interesting in
itself, but the fact that it allows to bring all modified prefs at the
top is what's interesting, and a view similar to that of about:support,
but editable, would go a long way.

Mike

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: New and improved "about:config" for Firefox Desktop

2019-01-25 Thread Mike Hommey
On Fri, Jan 25, 2019 at 10:36:16PM +, Paolo Amadini wrote:
> On 1/25/2019 10:39 AM, Axel Hecht wrote:
> > Is there a tracking bug for follow-ups?
> 
> Please file bugs blocking bug 1493439, I'll triage them as necessary.
> 
> > filter [...] by modified
> 
> This is bug 1502867, it is something we've considered but I'm a bit
> conflicted as it's only really used on 0.4% of page views and we have a
> better section dedicated to that use case in "about:support".

Actually, I never realized we could order by column, and I've always
thought what's in about:support is not enough, because it doesn't allow
to edit. I don't think column ordering by modified is interesting in
itself, but the fact that it allows to bring all modified prefs at the
top is what's interesting, and a view similar to that of about:support,
but editable, would go a long way.

Mike
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: New and improved "about:config" for Firefox Desktop

2019-01-25 Thread Paolo Amadini

On 1/25/2019 10:39 AM, Axel Hecht wrote:

Is there a tracking bug for follow-ups?


Please file bugs blocking bug 1493439, I'll triage them as necessary.


filter [...] by modified


This is bug 1502867, it is something we've considered but I'm a bit
conflicted as it's only really used on 0.4% of page views and we have a
better section dedicated to that use case in "about:support".

While not conceptually difficult to write, if we add one more input
field and make the filter based on a variable state rather than just the
invariant name, then the complexity goes up a notch and there's a higher
number of edge cases and combinations to write regression tests for.

Maybe give this version combined with "about:support" a try for a while?

Cheers,
Paolo
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: New and improved "about:config" for Firefox Desktop

2019-01-25 Thread Ted Mielczarek
On Thu, Jan 24, 2019, at 2:35 PM, Paolo Amadini wrote:
> Last year a group of students, Luke, Matthias, and Vincent, designed and
> implemented a new version of "about:config" in order to improve the
> ergonomics and align the look and feel with other in-content Firefox
> pages. They did an amazing job, working with design input from Amy Lee
> and with myself doing code reviews.
> 
> I'm happy to announce that this work will be available to everyone in
> Firefox 67, and can be already used in Nightly at this URL:
> 
>  chrome://browser/content/aboutconfig/aboutconfig.html

I only took a quick look at this locally but it looks great, nice work! I know 
about:config isn't very visible but I still wind up using it fairly often and 
it's nice to see it get a well-thought-out rewrite. (Ditching XUL for HTML is 
just the icing on the cake!) Looking forward to having this become the default 
about:config!

-Ted
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re[2]: New and improved "about:config" for Firefox Desktop

2019-01-25 Thread mhoye
I'm interested in the tracking bug for followup requests as well, and 
where to file feature requests.


I'd love to see a "date changed" column on that page, for example.

Future-wish bikeshedding aside, this is good work, thanks to you and 
your team.


- mhoye


-- Original Message --
From: "Frederik Braun" 
To: "Tom Schuster" 
Cc: "Axel Hecht" ; "dev-platform" 


Sent: 2019-01-25 8:55:46 AM
Subject: Re: New and improved "about:config" for Firefox Desktop

Agreed. If there's one special feature besides search I've been using 
most,

it was sorting by modified

Am Fr., 25. Jan. 2019, 12:16 hat Tom Schuster  
geschrieben:



I am always happy to see more xul going away.

Please implement a filter to only show modified preferences. Sorting
by modified is probably my most common operation after search on the
old page.

Thanks

On Fri, Jan 25, 2019 at 11:40 AM Axel Hecht  wrote:
>
> Is there a tracking bug for follow-ups?
>
> I'd have a few, adding pref w/out search (*), show add on screen for
> long searches, filter/order by modified, search in values, can't 
abort

edit.
>
> (*) I just realize that I didn't understand how "add" works. Maybe 
the

> bug is to make that discoverable?
>
> Axel
>
> Am 24.01.19 um 20:31 schrieb Paolo Amadini:
> > Last year a group of students, Luke, Matthias, and Vincent, 
designed

and
> > implemented a new version of "about:config" in order to improve 
the
> > ergonomics and align the look and feel with other in-content 
Firefox
> > pages. They did an amazing job, working with design input from Amy 
Lee

> > and with myself doing code reviews.
> >
> > I'm happy to announce that this work will be available to everyone 
in

> > Firefox 67, and can be already used in Nightly at this URL:
> >
> >  chrome://browser/content/aboutconfig/aboutconfig.html
> >
> > Most improvements are the natural result of using HTML instead of 
XUL:

> >
> >   * There are visible buttons for editing preferences
> >   * String values are displayed in full as multiline text
> >   * Find in page works for both names and values
> >   * Triple click selects one preference name or value quickly
> >   * Text selection works on multiple preferences
> >   * The context menu is the same as regular web pages
> >  - Copy to the clipboard
> >  - Open selected link
> >  - Search with your preferred engine
> >   * Search results don't include spurious value matches anymore
> >   * Closing and reopening the browser while the tab is pinned
> >   preserves the search term
> >
> > We've not just converted the old page, we've designed something 
new
> > based on actual use cases, telemetry data, and opportunity cost. 
We
> > preferred natural HTML page interactions, for example a double 
click

now
> > selects text instead of toggling the value. The way the page is
explored
> > with screen readers has also changed, and we've ensured that the 
new

way
> > is still clear and easy to use.
> >
> > We're still keeping the old "about:config" around at the following 
URL

> > for a while, to mitigate risk related to unforeseen circumstances:
> >
> >  chrome://global/content/config.xul
> >
> > Thunderbird will not be affected by this change initially, but at 
some
> > point we'll remove the old code from mozilla-central since 
Thunderbird

> > will be the only remaining user.
> >
> >
> > *Performance*
> >
> > This page can be slower than the old one in some cases. On slower
> > machines the page may take a moment to display all preferences, if 
you
> > so choose. We worked around this by waiting for the first input 
before

> > displaying results, as 93% of "about:config" page shows include a
search
> > anyway. Navigation, scrolling, and find in page are then fast.
> >
> > We've used performance profiling to optimize the page and avoid 
the
> > slowest layout modes, but we've not compromised on using the 
latest
> > best practices for Firefox Desktop like Fluent localization, which 
are

> > anyways in the process of being optimized on their own.
> >
> > We've explicitly chosen to avoid virtualizing the list, that is 
only
> > rendering visible DOM nodes, because this would add complexity 
that is

> > not needed for an internal page. It would also nullify most of the
> > advantages in accessibility and usability that we gained at a low 
cost
> > just because we're using a simple HTML table. Effort would be 
better
> > spent on optimizing the web for the layout of tables of about 
3,000

Re: New and improved "about:config" for Firefox Desktop

2019-01-25 Thread Frederik Braun
Agreed. If there's one special feature besides search I've been using most,
it was sorting by modified

Am Fr., 25. Jan. 2019, 12:16 hat Tom Schuster  geschrieben:

> I am always happy to see more xul going away.
>
> Please implement a filter to only show modified preferences. Sorting
> by modified is probably my most common operation after search on the
> old page.
>
> Thanks
>
> On Fri, Jan 25, 2019 at 11:40 AM Axel Hecht  wrote:
> >
> > Is there a tracking bug for follow-ups?
> >
> > I'd have a few, adding pref w/out search (*), show add on screen for
> > long searches, filter/order by modified, search in values, can't abort
> edit.
> >
> > (*) I just realize that I didn't understand how "add" works. Maybe the
> > bug is to make that discoverable?
> >
> > Axel
> >
> > Am 24.01.19 um 20:31 schrieb Paolo Amadini:
> > > Last year a group of students, Luke, Matthias, and Vincent, designed
> and
> > > implemented a new version of "about:config" in order to improve the
> > > ergonomics and align the look and feel with other in-content Firefox
> > > pages. They did an amazing job, working with design input from Amy Lee
> > > and with myself doing code reviews.
> > >
> > > I'm happy to announce that this work will be available to everyone in
> > > Firefox 67, and can be already used in Nightly at this URL:
> > >
> > >  chrome://browser/content/aboutconfig/aboutconfig.html
> > >
> > > Most improvements are the natural result of using HTML instead of XUL:
> > >
> > >   * There are visible buttons for editing preferences
> > >   * String values are displayed in full as multiline text
> > >   * Find in page works for both names and values
> > >   * Triple click selects one preference name or value quickly
> > >   * Text selection works on multiple preferences
> > >   * The context menu is the same as regular web pages
> > >  - Copy to the clipboard
> > >  - Open selected link
> > >  - Search with your preferred engine
> > >   * Search results don't include spurious value matches anymore
> > >   * Closing and reopening the browser while the tab is pinned
> > >   preserves the search term
> > >
> > > We've not just converted the old page, we've designed something new
> > > based on actual use cases, telemetry data, and opportunity cost. We
> > > preferred natural HTML page interactions, for example a double click
> now
> > > selects text instead of toggling the value. The way the page is
> explored
> > > with screen readers has also changed, and we've ensured that the new
> way
> > > is still clear and easy to use.
> > >
> > > We're still keeping the old "about:config" around at the following URL
> > > for a while, to mitigate risk related to unforeseen circumstances:
> > >
> > >  chrome://global/content/config.xul
> > >
> > > Thunderbird will not be affected by this change initially, but at some
> > > point we'll remove the old code from mozilla-central since Thunderbird
> > > will be the only remaining user.
> > >
> > >
> > > *Performance*
> > >
> > > This page can be slower than the old one in some cases. On slower
> > > machines the page may take a moment to display all preferences, if you
> > > so choose. We worked around this by waiting for the first input before
> > > displaying results, as 93% of "about:config" page shows include a
> search
> > > anyway. Navigation, scrolling, and find in page are then fast.
> > >
> > > We've used performance profiling to optimize the page and avoid the
> > > slowest layout modes, but we've not compromised on using the latest
> > > best practices for Firefox Desktop like Fluent localization, which are
> > > anyways in the process of being optimized on their own.
> > >
> > > We've explicitly chosen to avoid virtualizing the list, that is only
> > > rendering visible DOM nodes, because this would add complexity that is
> > > not needed for an internal page. It would also nullify most of the
> > > advantages in accessibility and usability that we gained at a low cost
> > > just because we're using a simple HTML table. Effort would be better
> > > spent on optimizing the web for the layout of tables of about 3,000
> > > rows, which would benefit every web site instead of Firefox only.
> > >
> > >
> > > *Tutorials and screenshots on the web*
> > >
> > > While with some features there is a concern that a change would make it
> > > more difficult for users to follow instructions found in older
> tutorials
> > > on the web, this is much less of a concern in this case, given that the
> > > page caters to experienced users and the changes affect presentation
> > > rather than actual functionality.
> > >
> > > In fact, existing information on the web can more easily become
> obsolete
> > > because the preferences go away or change their meaning, rather than
> > > because of a change in how the values can be changed.
> > >
> > >
> > > *Features that have not been rewritten*
> > >
> > > If the new page is missing a feature that the old one used to have,
> > > 

Re: New and improved "about:config" for Firefox Desktop

2019-01-25 Thread Tom Schuster
I am always happy to see more xul going away.

Please implement a filter to only show modified preferences. Sorting
by modified is probably my most common operation after search on the
old page.

Thanks

On Fri, Jan 25, 2019 at 11:40 AM Axel Hecht  wrote:
>
> Is there a tracking bug for follow-ups?
>
> I'd have a few, adding pref w/out search (*), show add on screen for
> long searches, filter/order by modified, search in values, can't abort edit.
>
> (*) I just realize that I didn't understand how "add" works. Maybe the
> bug is to make that discoverable?
>
> Axel
>
> Am 24.01.19 um 20:31 schrieb Paolo Amadini:
> > Last year a group of students, Luke, Matthias, and Vincent, designed and
> > implemented a new version of "about:config" in order to improve the
> > ergonomics and align the look and feel with other in-content Firefox
> > pages. They did an amazing job, working with design input from Amy Lee
> > and with myself doing code reviews.
> >
> > I'm happy to announce that this work will be available to everyone in
> > Firefox 67, and can be already used in Nightly at this URL:
> >
> >  chrome://browser/content/aboutconfig/aboutconfig.html
> >
> > Most improvements are the natural result of using HTML instead of XUL:
> >
> >   * There are visible buttons for editing preferences
> >   * String values are displayed in full as multiline text
> >   * Find in page works for both names and values
> >   * Triple click selects one preference name or value quickly
> >   * Text selection works on multiple preferences
> >   * The context menu is the same as regular web pages
> >  - Copy to the clipboard
> >  - Open selected link
> >  - Search with your preferred engine
> >   * Search results don't include spurious value matches anymore
> >   * Closing and reopening the browser while the tab is pinned
> >   preserves the search term
> >
> > We've not just converted the old page, we've designed something new
> > based on actual use cases, telemetry data, and opportunity cost. We
> > preferred natural HTML page interactions, for example a double click now
> > selects text instead of toggling the value. The way the page is explored
> > with screen readers has also changed, and we've ensured that the new way
> > is still clear and easy to use.
> >
> > We're still keeping the old "about:config" around at the following URL
> > for a while, to mitigate risk related to unforeseen circumstances:
> >
> >  chrome://global/content/config.xul
> >
> > Thunderbird will not be affected by this change initially, but at some
> > point we'll remove the old code from mozilla-central since Thunderbird
> > will be the only remaining user.
> >
> >
> > *Performance*
> >
> > This page can be slower than the old one in some cases. On slower
> > machines the page may take a moment to display all preferences, if you
> > so choose. We worked around this by waiting for the first input before
> > displaying results, as 93% of "about:config" page shows include a search
> > anyway. Navigation, scrolling, and find in page are then fast.
> >
> > We've used performance profiling to optimize the page and avoid the
> > slowest layout modes, but we've not compromised on using the latest
> > best practices for Firefox Desktop like Fluent localization, which are
> > anyways in the process of being optimized on their own.
> >
> > We've explicitly chosen to avoid virtualizing the list, that is only
> > rendering visible DOM nodes, because this would add complexity that is
> > not needed for an internal page. It would also nullify most of the
> > advantages in accessibility and usability that we gained at a low cost
> > just because we're using a simple HTML table. Effort would be better
> > spent on optimizing the web for the layout of tables of about 3,000
> > rows, which would benefit every web site instead of Firefox only.
> >
> >
> > *Tutorials and screenshots on the web*
> >
> > While with some features there is a concern that a change would make it
> > more difficult for users to follow instructions found in older tutorials
> > on the web, this is much less of a concern in this case, given that the
> > page caters to experienced users and the changes affect presentation
> > rather than actual functionality.
> >
> > In fact, existing information on the web can more easily become obsolete
> > because the preferences go away or change their meaning, rather than
> > because of a change in how the values can be changed.
> >
> >
> > *Features that have not been rewritten*
> >
> > If the new page is missing a feature that the old one used to have,
> > there is probably a good reason. Luke added telemetry probes to the
> > current "about:config" so we know how people use it. It's basically just
> > one mode of operation across all channels: search, then maybe edit or
> > add a preference.
> >
> > There are more details in the history section below, but this is to say
> > that it is unlikely that we would accept a patch to add back a 

Re: New and improved "about:config" for Firefox Desktop

2019-01-25 Thread Axel Hecht

Is there a tracking bug for follow-ups?

I'd have a few, adding pref w/out search (*), show add on screen for 
long searches, filter/order by modified, search in values, can't abort edit.


(*) I just realize that I didn't understand how "add" works. Maybe the 
bug is to make that discoverable?


Axel

Am 24.01.19 um 20:31 schrieb Paolo Amadini:

Last year a group of students, Luke, Matthias, and Vincent, designed and
implemented a new version of "about:config" in order to improve the
ergonomics and align the look and feel with other in-content Firefox
pages. They did an amazing job, working with design input from Amy Lee
and with myself doing code reviews.

I'm happy to announce that this work will be available to everyone in
Firefox 67, and can be already used in Nightly at this URL:

     chrome://browser/content/aboutconfig/aboutconfig.html

Most improvements are the natural result of using HTML instead of XUL:

  * There are visible buttons for editing preferences
  * String values are displayed in full as multiline text
  * Find in page works for both names and values
  * Triple click selects one preference name or value quickly
  * Text selection works on multiple preferences
  * The context menu is the same as regular web pages
     - Copy to the clipboard
     - Open selected link
     - Search with your preferred engine
  * Search results don't include spurious value matches anymore
  * Closing and reopening the browser while the tab is pinned
  preserves the search term

We've not just converted the old page, we've designed something new
based on actual use cases, telemetry data, and opportunity cost. We
preferred natural HTML page interactions, for example a double click now
selects text instead of toggling the value. The way the page is explored
with screen readers has also changed, and we've ensured that the new way
is still clear and easy to use.

We're still keeping the old "about:config" around at the following URL
for a while, to mitigate risk related to unforeseen circumstances:

     chrome://global/content/config.xul

Thunderbird will not be affected by this change initially, but at some
point we'll remove the old code from mozilla-central since Thunderbird
will be the only remaining user.


*Performance*

This page can be slower than the old one in some cases. On slower
machines the page may take a moment to display all preferences, if you
so choose. We worked around this by waiting for the first input before
displaying results, as 93% of "about:config" page shows include a search
anyway. Navigation, scrolling, and find in page are then fast.

We've used performance profiling to optimize the page and avoid the
slowest layout modes, but we've not compromised on using the latest
best practices for Firefox Desktop like Fluent localization, which are
anyways in the process of being optimized on their own.

We've explicitly chosen to avoid virtualizing the list, that is only
rendering visible DOM nodes, because this would add complexity that is
not needed for an internal page. It would also nullify most of the
advantages in accessibility and usability that we gained at a low cost
just because we're using a simple HTML table. Effort would be better
spent on optimizing the web for the layout of tables of about 3,000
rows, which would benefit every web site instead of Firefox only.


*Tutorials and screenshots on the web*

While with some features there is a concern that a change would make it
more difficult for users to follow instructions found in older tutorials
on the web, this is much less of a concern in this case, given that the
page caters to experienced users and the changes affect presentation
rather than actual functionality.

In fact, existing information on the web can more easily become obsolete
because the preferences go away or change their meaning, rather than
because of a change in how the values can be changed.


*Features that have not been rewritten*

If the new page is missing a feature that the old one used to have,
there is probably a good reason. Luke added telemetry probes to the
current "about:config" so we know how people use it. It's basically just
one mode of operation across all channels: search, then maybe edit or
add a preference.

There are more details in the history section below, but this is to say
that it is unlikely that we would accept a patch to add back a certain
feature just because it used to be present before. All patches would
have to be motivated by an actual need and include exhaustive
regression tests.

That said, we have ideas for supporting new use cases for browser
developers, like pinning a list of favorites or just showing recently
modified preferences first, but we don't plan to start working on them
before the current version reaches Release.


*More details on history, motivation, and process*

If you're reading this you probably already have a good idea of what
we're talking about, but it's worth stating how we thought about the

Re: New and improved "about:config" for Firefox Desktop

2019-01-24 Thread Paolo Amadini

On 1/24/2019 9:57 PM, Philipp Kewisch wrote:

was there a specific reason to put the code in chrome://browser/ ? It
seems to me that this is a feature that is common for all toolkit apps,
so if you put it in chrome://toolkit/ then Thunderbird can just make use
of it without any major migration needs.


We placed this page in the "browser" folder on purpose to get access to
a broader range of styling assets, like the icon we display for locked
preferences, without having to worry about uplifting specific parts of
Photon to the "toolkit" folder, which complicates the asset management.

As we see it, this page is specific to Firefox Desktop. Other products
that live in mozilla-central already have a separate implementation,
which is much easier from a maintenance perspective anyways, given that
there are only about 400 lines of code and this way we don't have to
worry about extra communication overhead for every change.

For the same reasons, while I can't speak for the Thunderbird project,
I believe that a separate code base for this page could lessen the
maintenance burden on Thunderbird as well.

Cheers,
Paolo
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: New and improved "about:config" for Firefox Desktop

2019-01-24 Thread Philipp Kewisch
On 1/24/19 8:31 PM, Paolo Amadini wrote:
> Thunderbird will not be affected by this change initially, but at some
> point we'll remove the old code from mozilla-central since Thunderbird
> will be the only remaining user.

Hi Paolo,

was there a specific reason to put the code in chrome://browser/ ? It
seems to me that this is a feature that is common for all toolkit apps,
so if you put it in chrome://toolkit/ then Thunderbird can just make use
of it without any major migration needs.

Philipp

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


New and improved "about:config" for Firefox Desktop

2019-01-24 Thread Paolo Amadini

Last year a group of students, Luke, Matthias, and Vincent, designed and
implemented a new version of "about:config" in order to improve the
ergonomics and align the look and feel with other in-content Firefox
pages. They did an amazing job, working with design input from Amy Lee
and with myself doing code reviews.

I'm happy to announce that this work will be available to everyone in
Firefox 67, and can be already used in Nightly at this URL:

chrome://browser/content/aboutconfig/aboutconfig.html

Most improvements are the natural result of using HTML instead of XUL:

 * There are visible buttons for editing preferences
 * String values are displayed in full as multiline text
 * Find in page works for both names and values
 * Triple click selects one preference name or value quickly
 * Text selection works on multiple preferences
 * The context menu is the same as regular web pages
- Copy to the clipboard
- Open selected link
- Search with your preferred engine
 * Search results don't include spurious value matches anymore
 * Closing and reopening the browser while the tab is pinned
 preserves the search term

We've not just converted the old page, we've designed something new
based on actual use cases, telemetry data, and opportunity cost. We
preferred natural HTML page interactions, for example a double click now
selects text instead of toggling the value. The way the page is explored
with screen readers has also changed, and we've ensured that the new way
is still clear and easy to use.

We're still keeping the old "about:config" around at the following URL
for a while, to mitigate risk related to unforeseen circumstances:

chrome://global/content/config.xul

Thunderbird will not be affected by this change initially, but at some
point we'll remove the old code from mozilla-central since Thunderbird
will be the only remaining user.


*Performance*

This page can be slower than the old one in some cases. On slower
machines the page may take a moment to display all preferences, if you
so choose. We worked around this by waiting for the first input before
displaying results, as 93% of "about:config" page shows include a search
anyway. Navigation, scrolling, and find in page are then fast.

We've used performance profiling to optimize the page and avoid the
slowest layout modes, but we've not compromised on using the latest
best practices for Firefox Desktop like Fluent localization, which are
anyways in the process of being optimized on their own.

We've explicitly chosen to avoid virtualizing the list, that is only
rendering visible DOM nodes, because this would add complexity that is
not needed for an internal page. It would also nullify most of the
advantages in accessibility and usability that we gained at a low cost
just because we're using a simple HTML table. Effort would be better
spent on optimizing the web for the layout of tables of about 3,000
rows, which would benefit every web site instead of Firefox only.


*Tutorials and screenshots on the web*

While with some features there is a concern that a change would make it
more difficult for users to follow instructions found in older tutorials
on the web, this is much less of a concern in this case, given that the
page caters to experienced users and the changes affect presentation
rather than actual functionality.

In fact, existing information on the web can more easily become obsolete
because the preferences go away or change their meaning, rather than
because of a change in how the values can be changed.


*Features that have not been rewritten*

If the new page is missing a feature that the old one used to have,
there is probably a good reason. Luke added telemetry probes to the
current "about:config" so we know how people use it. It's basically just
one mode of operation across all channels: search, then maybe edit or
add a preference.

There are more details in the history section below, but this is to say
that it is unlikely that we would accept a patch to add back a certain
feature just because it used to be present before. All patches would
have to be motivated by an actual need and include exhaustive
regression tests.

That said, we have ideas for supporting new use cases for browser
developers, like pinning a list of favorites or just showing recently
modified preferences first, but we don't plan to start working on them
before the current version reaches Release.


*More details on history, motivation, and process*

If you're reading this you probably already have a good idea of what
we're talking about, but it's worth stating how we thought about the
project when we approached it.

"about:config" allows the occasional modification of application data
that developers have chosen to store using the internal Preferences API.
This may be operational data, feature flags, or settings that cannot be
modified anywhere else in the user interface because it would be
dangerous or rarely needed. This page is used very