> You should only have to disable one time and the preference will be
> remembered.
That assumes you always want it the same way on that server all the
time. If I work on a server all day with some of my time doing
development and some time for normal usage, I either have to have
Firebug enabled all the time for that server (which slows page loads
noticeably when doing normal usage), or turn it all on manually before
developing and then off again afterward. Turning it on isn't a
problem, but turning them off again gets annoying, doing it tab-by-
tab. It's not a huge problem or anything, it's just annoying compared
to the old approach of enabling/disabling Firebug globally.
> I have been thinking about making the
> check boxes all be selected by default, so the result would be very
> close to previous Firebug (open then activiate).
That would help, but it would also be nice to have a simple way to
deactivate too. Deactivating is much more annoying than activating
currently.
> If the user turns Firebug "on", what do we do about the current tabs?
> Leave them, and hope the user realizes that only part of the function
> of FIrebug is available? Reload them all so that the "On" state is
> correctly reflected in the UI? Reload the top page?
Personally, I'd think "leave them" is the right choice. As a user, if
I turn on new functionality after a page has loaded, I don't expect it
to magically apply to the old content. I would expect to have to
manually refresh it. At most, you could pop up an alert box reminding
them of that. Auto-refreshing it has the major disadvantage of not
knowing what frame to reload. There are a lot of sites where auto-
reloading the top page will actually navigate away from the displayed
content because the URL for the top page isn't related to displayed
content in embedded frames or framesets. I'd say it would be best for
the user to chose how/what to reload.
This brings up a side question I had. If I recall correctly, in older
versions of Firebug, it was either all enabled or all disabled. The
new version is always "partially enabled" in that the HTML, CSS and
DOM tabs are always active. Isn't that causing a performance hit on
every page?
Assuming there is a performance hit to the three always-on tabs, an
alternative approach to the "enable/disable" discussion would be to
literally enable or disable firebug as a whole. If Firebug is
disabled, then all those page listeners you mentioned go away and
there is no performance impact at all (but the HTML, CSS and DOM tabs
don't work then either). Then you enable Firebug and it works just
like it does now, with HTML, CSS and DOM always there and Console,
Script and Net configured on a server by server basis like it is in
the current version.
Then you would have a simple toggle in the status bar icon's context
menu: "Turn Firebug Off" would disable it entirely, no tabs at all,
no listeners, the Firebug panel won't open. "Turn Firebug On" would
turn back on the listeners and use the current system for which tabs
to use per server. That would certainly make it easier for people who
want to use Firebug occasionally, but don't need it all the time.
Assuming that is not possible/desirable for some reason, you raised
another point:
> Ok, I agree, but now to the details. If the user has
> Console enable
> Scripts disable
> Net enable for this site
> and the use selects "Turn all ON" what do you want the outcome to be?
I think it is partly just a labeling issue; take out the word "all".
IMO, the ideal behavior would be to turn back on the configured
choices. So if I'm in development mode and have Console and Net
enabled and Scripts disabled for my work server(s), and then I finish
developing and need to go back to just browsing normally (even on the
same work servers), I'd have a context menu option to "Turn Off
Firebug" that turns everything off. While Firebug is "off" it doesn't
work on any server. Later on, I need to test a new page, so I'd chose
"Turn On Firebug" and my configured settings for any servers I visit
would be restored.
Basically, your current system of configuring tabs on a server-by-
server basis could be left exactly as-is, with a higher level option
of "Turn everything off" or "Use the configured settings". In pseudo-
code, I'd expect it be a fairly simple construct, a basic if statement
like this:
if ( isFirebugDisabled == true ) {
' do nothing
} else {
' do everything it exactly the way it does now
}
Does that make any sense? I'm not familiar with the way Firefox
addons are coded, so I don't know how trivial it would be to
implement, but it seems like a simple approach that would be easy for
casual users while power users would just leave it always on and
configured the way they want it on a server-by-server basis.
Just a thought...
Jim