Ok, so we've seen how to make a bad manager.
What does a good manager look like for a system which can have thousands of sites organized into a hierarchy?
Surprisingly enough my answer is an explorer. Two panes, one listing servers (possibly in a tree) and the second listing objects with their properties (by default in a details view). This enables users to see all related items at once and manage them collectively.
So what would it look like?
Here's a simplistic flat server view:
.___________________________________________________________________________________________________________. |o Manage Cookies _= X| +-----------------------------------------------------------------------------------------------------------+ |Hosts [view all |v] [sort |v] | Name ^| Value | Site | Date Set | Expires |v| |------------------------------+--------------+--------------+----------------------+----------+------------- |[bugzilla.mozilla.org] |^|Cookie Rules |White Listed | *.mozilla.org | 10/1/2003| Never |^| |[evil.mozilla.org] |H|Cookie Rules |Black Listed | evil.mozilla.org | 10/1/2003| Never |H| |[www.mozilla.org] |H|Login_cookie | timeless@... | bugzilla.mozilla.org | Today | 1/1/2005 |H| | www.yahoo.com |H|Run_once | Mozilla1.5 | www.mozilla.org | 10/1/2003| 1/1/2005 |H| | www.zdnet.com |H| | | | | |H| |____________________________|V|______________|______________|______________________|__________|__________|V|And here's a tree view:
.___________________________________________________________________________________________________________. |o Manage Cookies _= X| +-----------------------------------------------------------------------------------------------------------+ |Hosts [view tree|v] [sort |v] | Name ^| Value | Site | Date Set | Expires |v| |------------------------------+--------------+--------------+----------------------+----------+------------- |-All |^|Cookie Rules |White Listed | *.mozilla.org | 10/1/2003| Never |^| |[-mozilla.org] |H|Cookie Rules |Black Listed | evil.mozilla.org | 10/1/2003| Never |H| | *bugzilla |H|Login_cookie | timeless@... | bugzilla.mozilla.org | Today | 1/1/2005 |H| | *evil |H|Run_once | Mozilla1.5 | www.mozilla.org | 10/1/2003| 1/1/2005 |H| | *www |H| | | | | |H| | +yahoo.com |H| | | | | |H| | +zdnet.com |H| | | | | |H| |____________________________|V|______________|______________|______________________|__________|__________|V|Ideally the interface would expose a find feature but I'm not going to spec that here for the time being, simply being able to sort and key navigate the server list would be a vast improvement.
So what could you do from a manager? You should be able to move hosts into or out of white or black lists. You should be able to delete any item, change most of its fields, and possibly add your own values.
Could one manager be used to manage more than one type of object at the same time? Yes, in fact the sample already does that (cookie values and permission lists are two different types of things). The toolbar could easily allow the user to show/hide types (cookies, cache objects, images, history, *whatever*).
Yes, there are a few things to consider:
.___________________________________________________________________________. |o Manage Cookies _= X| +---------------------------------------------------------------------------+ |[ All |v][Cookies|v] Find: [ |v] Wizard Cut Copy Paste Del| +---------------------------------------------------------------------------+ |Hosts | Name ^| Value | Site |v| +---------------------------------------------------------------------------+
The wizard button would bring up a wizard to help the user make a rule. The wizard would let the user copy a rule from another site in addition to writing a rule from scratch. As long as this window is just cookies, the rule would be for whitelist / blacklist / expiration of cookies. If this manager ever supported images, it would support ... whitelisting and blacklisting images. If this manager supported popups, it would support whitelisting and blacklisting them (this would be an interim thing, I'd much rather have the rules be tied to my proposal for popups as suggested sites, at which point the wizard could offer rules like file bookmarks into some folder, in addition to allowing some sites to pop up windows). Adding support for cache to this manager wizard is left as an exercise for the future.