Along the way, I finished up an additional feature for it: pref widgets you can add to your browser toolbars. The widgets let you set page zoom, page style, and character encoding directly from visible browser chrome, and you use them by customizing your toolbars to include them via the View > Toolbars > Customize command.
Here's the page style widget in the menubar on Linux:
Here are all three widgets on their own toolbar on Mac:
As with page zoom in Firefox 3, these widgets are site-specific and persist across browsing sessions. And as with earlier versions of the extension, they're also available in a sidebar that follows you as you browse around the web and also lets you set global defaults:
UI like this has three possible futures:
- If it's useful to a broad range of users a significant percentage of the time, it belongs in the default chrome.
The page zoom widget is a candidate for this placement. Among other indications, a number of popular sites, like CBS News, provide a version of it to their users within the default "chrome" of their content pages:
- Otherwise, if it's useful enough to enough users (a fuzzy definition, to be sure), it belongs in optional chrome, either via an extension or in well-concealed parts of the core product (hidden preferences, the browser toolbar palette, etc.).
The character encoding widget perhaps satisfies these conditions, as it might be very useful in certain parts of the world where automatic charset specification and detection is not yet up to snuff.
- Otherwise, it doesn't belong in the chrome at all.
I wonder if that's the case for the page style widget, since browser UI for website skinning has never caught on.
But there's a chicken and egg problem here, since sites don't have impetus to provide multiple skins without useful browser UI for applying them, while browsers don't feel pressure to implement good UI when so few sites take advantage of it. Maybe a persistent site-specific page style widget is just the ticket to change that.
I'm not happy with the widgets, though. The page style and charset widgets simply mirror the functional but archaic menu-based UI in the View menu, and while the page zoom widget tries something new, and it's easy enough to understand, it's difficult and frustrating to use, since it requires precise manual dexterity to set a specific zoom level.
It could be improved in a variety of ways--indicators of which direction does what, markers and snap anchors at specific zoom levels, etc. But maybe there's something even better. Two big buttons for zooming in and out?
A set of sticky buttons that each represent a zoom level?
As for page style, perhaps it could display a set of screenshots showing the appearance of the page with each alternative style applied. And the charset widget could show you what the text would look like if you applied each encoding.