Let's take a look at popup blocking because it's a really good example of poor UI design.
What's the problem?
Web sites are causing annoying dialogs.
What's the Mozilla solution?
Popup a dialog telling the user that the site wanted to popup a window.
What does the user have to do in either case in order to read the original page?
Close the window/dialog.
What if the user is interested in the content, but not right now?
Well, the modern approach to content that the user might want to read about later is to open it in a new
tab, or at least predownload it so that the user could read the page when the user wanted to.
How would one give the user a better experience than the annoying window/dialog?
Instead of popping up anything, and instead of supplying a dialog which lists what sites tried to open
dialogs, treat the pages which were going to be opened as proposed bookmarks. Any time a site tries to
open a window, a bookmark is created and placed in a magic folder (which could be emptied when the
browser quits). The location of the bookmark is the site the page tried to load. Description could be the
page title (if prefetching is configured for blocked pages) or "Page loaded by {pagetitle} at {time}".
Notes would include the url of the page that tried to load it. A small icon can appear in the status bar,
as with the current popup blocking system.
If the user wants to load the deferred (formerly 'blocked') page, then the user simply selects it from
bookmarks (it doesn't actually have to live in bookmarks, any rdf data source which can be manipulated
like bookmarks would work). Since it's a bookmark, the user could drag it to the current <browser>,
load it in a new tab, load it in a new window, or do whatever one might do to a bookmark.
For fun, these special bookmarks could actually appear in folders according to the site that loaded
them.
-History
+Today
+Yesterday
+...
+Last Week
+Bookmarks Root
-Suggested Pages (Deferred Pages | Blocked Links)
+modern.example.com
-classic.example.com
*Amazon - Pyramids
<http://classic.example.com/amazon/pyramids>