It's a story as old as time.  You're using a piece of software and you say to yourself: "Wow, this software is great, but I wish it was more complicated!"

Well, good news, everyone!  Searchfox is now more complicated!

More seriously/with that successfully lampshaded, Searchfox now has a settings page to provide a granular means of opting in to new functionality and controlling orthogonal UI behavior.  It can experienced by clicking on the gear icon to the right of the "Navigation" which is also a hyperlink with the title "Go to settings page".  It can also be experienced directly at the URL https://searchfox.org/mozilla-central/pages/settings.html which has the mozilla-central tree name in it only for logistical reasons; settings are origin-wide.

If you remember my super cool Searchfox vision & roadmap blog posts[1], there's hopefully a lot of cool new stuff that will be landing this year.  Some functionality, like improved programming language support, should be additive without being disruptive and smoothly integrate with your "muscle memory".  But other functionality will change how you interact with Searchfox and potentially be disruptive to your muscle memory.

For example, one of the first exciting new features to be exposed will be the next iteration of the "calls-to" diagram mechanism.  I think we can all agree that automatic diagrams are a great option to have, but maybe you don't really want it in every context menu that pops up.  For example, when I right-click on a C++ symbol in VS code, I get a popup that's 29 rows high and takes up 1/3 of the vertical space on my screen.  It would be very jarring to me if Searchfox started doing that all of a sudden!

To this end, new searchfox functionality will be organized into features and those features marked with the following quality levels:

- alpha: Actively under ongoing development, may have misleading coverage gaps, and likely to change in response to feedback in https://chat.mozilla.org/#/room/#searchfox:mozilla.org. - beta: Largely stable, considered reliable where coverage exists, and the experience is likely to undergo only minor refinement. - release: Stable or it was infeasible to make this something that could be conditional based on user preference.  (Searchfox's speed comes from precomputation and caching, so there are limits to how configurable things can be when it's more than a question of showing/hiding something.)

The settings UI lets you pick your default feature quality preference.  The default for this default is "stable", ideally giving you the same Searchfox experience for most of 2023 that you had in 2022.  If you want to experience of all the new fancy functionality as it's developed, you can pick "alpha".  If there are some alpha quality features that feel a bit too alpha quality, there is also a per-feature quality gate setting that you can change to "beta" to wait until the feature is more baked, or "release" if you don't want to experience the feature until there's no longer an option to not experience it!

But the settings page isn't just about the inexorable march of features towards mandatory, it's also about letting you control how features behave.  For example, in https://groups.google.com/a/mozilla.org/g/dev-platform/c/e9PJwrKRzfQ/m/kbnplR5jDAAJ I announced that Searchfox would try and do clever things with the page title.  I don't know about y'all, but I have mixed feeling about the "position: sticky" heuristic.  It's nice when I'm in the core of a class/method, but it can be very misleading when there's some random helper function/class at the top of the screen. Sometimes I wish I could just turn it off!  And now I can.  And now so can you!  And more significantly, we now have the means of experimenting with changes like this without rolling things out to everyone[2]!

If you check out the settings page, you'll also see that I mention widgets.  A lot of this is TBD, but the basic idea is that there will shortly be a new (inherently opt-in) alpha quality sidebar called the "fancy bar".  Have you ever wanted to see full declaration/definition for the symbol/type you just clicked on and any block comments associated with them, but without having to leave the current page and also without having a massive pop-up block the code you're looking at?  The fancy bar is the place we're chucking that stuff.  (I already tried a massive header that wastes a lot of space and the massive pop-up that blocks the code you're looking at.)

Andrew


1: https://www.visophyte.org/blog/2022/10/05/andrews-searchfox-vision-2022/ and https://www.visophyte.org/blog/2022/11/10/andrews-searchfox-roadmap-2022/

2: We have the ability to do "try" builds for searchfox, but it's very analogous to try builds of Firefox where if you want to keep up-to-date with what you'd be experiencing on nightly, it's much easier (and cheaper) to land your functionality on trunk under a pref than it is to run a new try build every day so that you're seeing an up-to-date version of the tree.

--
You received this message because you are subscribed to the Google Groups 
"[email protected]" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/a/mozilla.org/d/msgid/dev-platform/b0723db8-bef4-e8dd-c498-4e5581fb4f4f%40asutherland.org.

Reply via email to