Users have been clamoring for site-specific preferences for years, often asking specifically for the ability to set zoom, author/user mode, or fit to width on a site-by-site basis. Yet, when site-specific preferences were introduced in Opera 9.0 Preview 1, those oft-requested preferences were missing and still haven't turned up six months later. I'll try to explain why, but first let me explain how things have worked historically.
Prior to Opera 9, there were two* types of preferences: global and window-level. Global preferences are the defaults used for all web pages. Window-level preferences are overrides used for specific tabs and tabs opened from those tabs. Window-level overrides exist for the following preferences: zoom, show images, fit to width, and author/user mode.
Here's how it works: a user sets the default preferences for all web pages by changing the global preferences. Then, if they want to change the zoom preference to more easily read an article loaded in a specific tab, they'll change the zoom window-level preference for that tab. The zoom preference for other currently open tabs won't change and new tabs will still use the global preference. However, any tab opened from the tab where the zoom preference was changed will inherit the window-level override of its parent tab.
This sounds complicated, but is intuitive in practice. Say you go to a news site and find the text too small to read. No problem, you simply increase the zoom level for that tab. Now, you decide you want to read a handful of articles on that news site, so you open them in background tabs. You're likely to have the same problem reading the small text in all the articles you just opened as you did on the main site. Luckily, the zoom preference you set in the original tab is inherited to all the tabs you just opened. In other browsers, you're only recourse is to change the global preference, which isn't really what you want.
One quick caveat: several global preference changes don't take effect immediately in the open tabs. For instance, when you disable JavaScript (JS), it isn't actually disabled for open web pages until you reload the web page. Thus, you can disable JS in a particular tab, reload the page, do whatever you need, re-enable JS, reload the page, and none of the other open web pages will know the difference. This makes it seem like you're only changing the preference for a specific tab, but you're really changing the default for all tabs. Many other preferences, such as default web page font, take effect immediately.
Fast forward to Opera 9 and the introduction of site-specific preferences (SSPs). SSPs allow you to override the global preferences on specific web pages. Let's take an example: by default, Opera blocks all unrequested popups. If you frequent a site that uses unrequested popups that you actually want to see, you'd add a SSP for the site so all popups are allowed. The SSP overrides the global default, thus whenver you visit that site, you'll get unrequested popups, but everywhere else, they'll continue to be blocked. It's a bit like white/black-listing, but taken to the next level.
While SSP are a great new feature, there are three main problems with the current SSP interface: 1) when you change a SSP preference, you also change all the other SSP preferences on that tab in the preferences dialog, 2) you can't easily return a SSP preference to the global default, and 3) window-level preferences are not available as SSP. The main reason for latter issue is that it isn't clear how the three levels of preferences will interact. SSPs override global preferences and window-level preferences override global preferences, but do SSPs override window-level preferences or do window-level preferences override SSPs?
Opera 9 is just our first attempt at SSPs. If you look back at many of Opera's features, they've evolved version by version, until they become polished, accessible, and intuitive. I expect the same will happen with SSPs, yet another reason to enjoy Opera 9 and look forward to what's next.
* OK, there's technically a third hybridish preference for setting the page encoding. You can't set the default page encoding from the preferences at all. When you change it via the View menu, all new tabs and the active tab will use the new encoding while all other currently open tabs will continue using the old encoding.


Note: Comments with a light blue background were made by the site owner.
ideas
I think correct initialize options:
global -> ssp -> window-level
if open link in new window, check: if this is new site - work as just new window (like user press Ctrl-N/T and enter new address), if this site equal site of parent window, inherit parent's window-level options.
I agree
This is how I expect it to work.
Also why resetting prefs is a problem? Just add "Reset to defaut" button in bottom-right corner of each configuration tab.
Having tri-state checkboxes and additional "Default" radio buttons would be nice as well.
Adding additional checkboxes
Adding additional checkboxes and "Default" radio buttons complicates the interface, but may be the best solution. A "Reset to defaults" option is also possible, but there would be no indication which settings *aren't* already using the default.
That wouldn't work if you
Your new window suggestion wouldn't work if you change the window-level preference because you want to, say, zoom to make text larger while you're sitting on your couch instead of your desk chair. You're actually suggesting that we change the current behavior of window-level preferences apart from the integration of SSPs.
As for the priority, what happens if you change the window-level zoom preference to something other than the default, then change it back, then visit a site with a SSP zoom preference? Would you use the window-level setting (who knows if you want to use the global default or you just find the current setting best for a particular site while browsing from the couch) or the SSP?
don't have ideal solution ^_^
I think this problem have 2 solutions (but both not ideal):
1. add to zoom-combobox item like "SSP"
2. if user start change zoom, it lost SSP's zoom-preferences for this window and it's childs
+1
Max (not verified) at Wed, 05/03/2006 - 4:12am:
+1
porneL (not verified) at Wed, 05/03/2006 - 4:22am:
+1
+1
As i had the same idea as Max and porneL i declare it as being intuitive :)
A similar thread @ my.opera.com
There's been a related discussion in the Opera forums that you might want to read.
I've read that one and
I've read that one and contributed in a similar thread already. The thread you mentioned does bring up a good point: how do you indicate that SSPs are being used on a site?
Minimum font size
Hello. I'd like to know if "minimum font size" is possible to have in site-specific settings. It's not there in the latest 9.0 builds that I've seen, despite it being a natural for a site-specific setting, making me wonder if there's some technical roadblock.
That's an interesting one.
That's an interesting one. Why would you want to change the minimum font size on a site-by-site basis? Wouldn't a single minimum work for all sites?
Minimum font size II
The subject has come up in the forums before (I think even in those two threads already cited), and recently I experienced the need for it myself with the wholesale redesign of the NYT site, which became too small to be legible (and adjusting zoom looked awful).
Someone suggest upping the MFS, which I had on whatever the default was (8? 9?). Set to 10, the site became readable again, but set to 11 it became ideal.
Only problem is that now some other sites are too large, and it's usually enough to disrupt the flow of the site as it was designed.
There are some complicated workarounds involving style sheets and the like that I haven't been able to get right, not being an expert, but would it ever be handy to have the setting in the per-site area. I'd keep the global one on what it used to be (9 or so), which keeps most every site happy, while boosting the problem children like the NYT on an individual basis.
I'm guessing 11px is too
I'm guessing 11px is too large at other sites because either NYT (or another site) is specifying a font, while other sites (or the NYT) uses your default web page font. Unfortunately, 11px isn't consistent across fonts, especially when you compare serif and sans-serif fonts.
Right now, you can solve this using Opera's author/user mode capabilities. Go to View > Style > Manage modes and enable "My fonts and colors" in the author mode column. Then, set your desired font and size as the "Webpage normal text" font under Tools > Preferences > Advanced > Fonts. Now, all sites will use the same font.
I haven't actually tried the above, but I think it should work for you. I do understand now why you would want minimum font size as a SSP, but I'm not sure if it's something we'll support. Feel free to post in the MyOpera wishlist forum or the opera.wishlist newsgroup about it.
Minimum font size III
Thanks for replying. Tried that, but it leads to basically the same problem, where some sites are now too large, and if I then reduce the "Webpage normal text" size to compensate, then those sites are fine but others (like NYT) are too small again. It's a really tough road, which is why I think the approach of making an exception for certain sites is the only sure way of doing it. Eventually, I guess I'll have to go back tinkering with per-site CSS, which I almost had solved save for some line-spacing issues.
That doesn't make sense.
That doesn't make sense. All sites should be using the same exact font after my suggestion. Maybe you need to change the "CSS font-family" serif and sans-serif fonts' too. Just set them all to your favorite font.
ideas (Max)
Agreed. A per-page (window-level) setting is more specific than, and should override, a per-site setting.
I might disagree with the last part of this. Think of the use case. You're on a site where you have an SSP. On a particular page of that site, you find the SSP doesn't work for you, so you make the change in a window-level preference (WLP) setting. Now you go to another page in that site. Are you sure you don't want the SSP to apply there? I think you might want the SSP to apply, so perhaps the WLP should not be inherited if there is a relevant SSP.
But for a final answer as to what feels most natural in everyday use, there may have to be user testing of both the inherit-WLP and don't-inherit-WLP alternatives.
Bookmark specific prefs
I've always wanted to be able to specify the window specific preferences in bookmarks. Now when I select "Open all folder items" in certain bookmark folders I immediately go through the opened pages and set "No images" on each one manually. I don't want these to be SSPs, because when I open the same sites from other bookmarks, follow some link or go there manually then I want them to be set as "Show images".
I even think this feature would be very easy to implement.
That's certainly a good
That's certainly a good idea. The best place for it to get attention is probably the MyOpera Wishlist forum or the opera.wishlist newsgroup.
While not the same as SSPs, this would be another natural evolution of Opera's preference flexibility.
That's certainly a good
I tried that a long time ago, but only got replies that it was impossible without redesigning opera. Of course I didn't believe that. They probably got it mixed up with SSPs.
And since we've already done
And since we've already done that redesign, it should probably get better feedback this time. :)