Personal image filter



Note: ''This document is a submission to the Wikimedia Foundation Board of Trustees regarding the management of controversial content. It does not describe any project currently under development by the Foundation. It has been created by the request of the Board to help better frame understanding of the technologies required.''

This document describes a proposed system for management of controversial content. This document is a proposal. It does not describe an ideal system; rather, it describes a system that could be developed with minimal effort.

This document and the technology described applies only to multimedia content (images, video, and audio). Text documents and pages are not included or considered.

Flagging Mechanism
Flagging content as being controversial is handled by placing the content within one or more sub-categories of a global "Controversial Content" category. These sub-categories are will be automatically recognized by the system as being content that can be potentially hidden.

For example, a wiki's "Controversial Content" category could contain the following sub-categories: "Sexually Explicit", "Graphic Violence", "Medical", and "Other Controversial Content".

Images illustrative of sexual techniques would obviously be placed in the "Sexually Explicit" sub-category while images of Mohammed could be placed in "Other Controversial Content" (or even "Images of Mohammed").

Content can be placed within multiple categories. For example, a graphical depiction of an aborted fetus could be placed in both "Medical" and "Other Controversial Content" (or any number of additional categories).

Per-Wiki Default Content Hiding
It may be desirable for individual wikis to draw consensus to auto-hide certain types of content by default for all users.

Ideally, an administrative interface could be developed to allow wikis to easily define a set of auto-hidden categories. However, in a minimal sense, these categories can be defined in the wiki's LocalSettings.php file as an array ($wgAutoHiddenContentCategories).

Show/Hide Decision Tree
If a piece of content is within any category that is marked as "hide" by the user (either through preferences or by default flagging), the content will be hidden. Only one of the content flags need be set to "hide" for this to happen.

Display Preferences
Users will be able to set their show/hide preferences on individual content categories. They will not be able to set permanent preferences on individual content items. For logged in users these preferences will be stored in a database; for anonymous users the preference will be stored in a cookie.

Access to this preference set should be available through both the user's preferences system (as a tab) and as a javascript dialog (accessed through the image itself). Anonymous users will not have access to the preferences tab.

Additionally, for logged-in users, a link can be placed in the Toolbox to access the content settings.

Interface Behavior
This section concerns itself only with content that is placed within controversial content categories. These controls and behaviors will not exist for content that does not fit that criteria (e.g., the bulk of all content).

"Shown" Content Behavior
For content that is shown by default (either through a user's filter settings or by wiki-wide preferences), the content is displayed with a small control beneath it to allow the user to hide the content temporarily.

The control is greyed out until it is hovered over. When hovered over, the control gains color and a tooltip appears that displays the categories that this image is included in.

If clicked, the image is shrouded, the "hide" control is removed, and a notice that the content has been hidden is displayed.

For Discussion: There arises a point: should all images in that image's category be hidden? If so, is this "permanent" or is it short lived? If it is permanent, it is an auto-save, and it will be for all images within those categories. This is a potential user confusion area.

Hovering over the words "filter settings" will display the categories that the image falls into that are possibly hidable.

Note that for anonymous users, if the content is displayed, no categories are going to be marked as "hidden". Ergo, the default status of "shown" or "hidden" will not appear. For logged in users, the status of each category matched will be displayed next to the category. Example images are for anonymous users.

The following controls are included in the content shroud:


 * Show Image - this redisplays the image and the hide control.
 * Filter Settings - this activates the filter settings dialog (see below)

"Hidden" Content Behavior
For content that is hidden on load (either by user settings or by wiki-wide preference), the image shroud will already be in place. This shroud is identical to a "forced action" shroud with the following exceptions:


 * The filter hovers display the show/hide state of individual categories.

The reason that the filter state is displayed here is because at least one of the filters is being matched - even for anonymous users.

The behavior is otherwise unchanged.

Filter Settings Dialog
This dialog behaves slightly different for anonymous users and for logged in users.

All users will be given the filter settings dialog The filter settings dialog will default to emphasise the filters applicable to the specific content item (shown at the top).

Below that, the user will be able to edit additional content filters (all others). Note that the interface can comfortably support around 10-12 filters before becoming unweildy (this limitation also exists for anonymous user cookie preference).

For each category of content, a "Show/Hide" control is displayed. Since checkboxes could be easily misunderstood (does checking it mean that it is hidden or shown?), a toggle control is used that explicitly states what the behavior will be regarding the individual categories.

Anonymous Users
Anonymous users will be informed that they are not logged in and that their filter preferences may expire (e.g., the cookie may get deleted). There will be a prompt for them to log in.