Submission: de film van Ayaan Hirsi Ali

Hoe de vorm een boodschap begraaft...

Gisteravond heb ik met verbazing naar de film van Ayaan Hirsi Ali zitten kijken.

Voordat ik iets over de film zeg eerst een algemene opmerking. Ik vond het heel merkwaardig dat ze enkele malen zei dat ze het tot 2007 haar taak vindt om op te komen voor de rechten van onderdrukte moslimvrouwen. Ik begrijp wel dat haar parlementaire mandaat in dat jaar afloopt, maar als je op alle mogelijke manieren meent een boodschap te moeten uitdragen, dan stopt je daar toch niet mee zodra je niet meer in het parlement zit? Het kwam op mij niet sterk over en wekte een beetje de suggestie alsof ze nu al weet dat ze in 2007 niet meer herkozen wil worden.

Dan haar film 'submission'.

Er zijn twee zaken waar ik me erg aan stoorde, omdat die de goede bedoelingen van de film volkomen in de weg staan:

1. De 'blote' dame. Dat is niet anders uit te leggen als een provocatie van de moslimwereld. Dat heeft niet alleen met het moslim geloof te maken. Als in Zuid-Europa of Latijns-Amerika een non op dergelijke wijze wordt neergezet, dan ziet men dat daar ook als provocatie. Wij moeten eens ophouden te denken dat de wereld net zo vrijzinnig is als Nederland. In veel landen is het tonen van naakte mannen en/of vrouwen volkomen taboe. Daar ligt lang niet altijd direct een geloof aan ten grondslag.

Wat ik mij afvraag is of Hirsi Ali nou werkelijk de illusie heeft dat dit filmpje in de moslim wereld wordt uitgezonden. De tekst reduceert die kans al tot minder dan één procent, maar de 'blote' vrouw heeft die laatste 0.999 procent ook nog vernietigd. Had ze de vrouw in een witte jurk gezet, dan was er ook een contrast met de werkelijkheid gecreëerd, zonder deze provocatie.

2. Het feit dat Hirsi Ali aan het begin van de film zelf enkele heilige teksten uitsprak, is niet alleen dom, maar wederom een onnodig punt voor discussie. Ze heeft openlijk de religie de rug toe gekeerd en spreekt dan wel voor de doelgroep heilige teksten uit. Dat wordt natuurlijk gezien als een provocatie.

Waarom speelt ze overigens überhaupt zelf deze rol in de film? Waarom blijft niet helemaal op de achtergrond? Ze weet dat ze als boodschapper niet serieus wordt genomen en wordt gezien als een vijand van de islam (dat merkt ze de hele dag). Door zelf te participeren op een dergelijke wijze verplaats je de discussie van waar het werkelijk om gaat - de vrouwenonderdrukking - naar volkomen niet relevante zaken als haar eigen rol in de film. Daar is niet over nagedacht en het komt op mij erg narcistisch over.

De film zal zeker met de meest goede bedoelingen zijn gemaakt, maar de productie is super naïef en het resultaat schiet zijn doel helemaal voorbij. De vorm overvleugelt de inhoud en draait de boodschap de nek om.

Als je een boodschap wil overbrengen moet je de taal spreken van je doelgroep. Ik heb ooit een mooi voorbeeld gehoord tijdens een werkbezoek aan Nutricia. Hun chocomelk - de enige echte - werd maar niet verkocht in het Midden-Oosten. Waarom niet? Omdat het logo (hand met daarin glas chocomelk) niet deugde. In het oude beeldmerk werd het glas met de linkerhand vastgehouden en dat is in de moslimwereld onrein. Toen het logo werd aanpepast, was het product niet aan te slepen.

Helaas is het voor Ayaan Hirsi Ali te laat om met een aangepaste toon haar positie in de discussie nog te redden. Als ze het uiteindelijke doel van haar boodschap - de emancipatie van vrouwen - echt belangrijk vindt dan zou ze zich uit de openlijke discussie terug moeten trekken en op de achtergrond gaan opereren. De publieke discussie over dit belangrijke onderwerp moet zakelijk blijven. Na de uitspraken over de (perverse) profeet Mohammed - hoe genuanceerd ook - stond ze al op de buitenlijn van het speelveld. Met deze film heeft ze zich definitief buiten de discussie-arena geplaatst. Soms staat de boodschapper de communicatie van de bericht in de weg en dat is bij Ayaan meer dan duidelijk. Dat verdient dit onderwerp niet!

NASCHRIFT
Ondertussen besteedde ook Nova aandacht aan de film. Dat heeft de uitgangspositie van de film er niet beter op gemaakt. Op de vraag of hij hoopt dat de film ook in het Midden-Oosten wordt vertoond, meldde Theo van Gogh dat hij de film gaat aanbieden aan Aljazeera, maar... die zender moet er wel voor betalen.

Dat is wel erg cynisch. Of je maakt je druk over de vrouwenonderdrukking en zorgt dat je film zoveel mogelijk wordt gezien (zet hem bijvoorbeeld op het internet met een Arabische vertaling) óf je maakt een commerciële film en presenteert die ook als zodanig. Het is echter stuitend om de publiciteit te zoeken met zo'n belangrijk onderwerp, terwijl je je ondertussen wel laat leiden door het principe 'verbeter de wereld, begin bij mijn portemonnee'. Dan geef je alle tegenstanders een stok in handen om iedere inhoudelijke discussie verder dood te slaan.

© Harold Makaske 30 augustus 2004 to allow skipping count when used in template (ie to not count on click in main page) V1.4 - Fixed ignoe same IP count problem V1.5 - Added views_log table and changed plugin performance to check for unique visits by IP address. [gRegor] - Added option to set the length of time before re-counting hits from the same IP address (default: 2 hours) [gRegor] V1.6 - Added plugin menu to display all view count, w/ counter reset function - Delete view counter and log for deleted item V1.7 - use sql_query V1.8 - Admin page enhancement to preserve order and sort info v1.9 - Added item title in admin menu v1.9.1 - ignore draft in admin menu */ class NP_Views extends NucleusPlugin { // Note: I never run this plugin on 2.0 and have no idea whether it // wil work on <2.5. A user can simply chnage it to return // '200' and see if it works (likely will). I will gladly // change the min version to 2.0 and add the sql_table fix // upon such report. 8) function getMinNucleusVersion() { return '250'; } function getName() { return 'Views'; } function getAuthor() { return 'Rodrigo Moraes | Edmond Hui (admun) | gRegor Morrill'; } function getURL() { return 'http://www.tipos.com.br'; } function getVersion() { return '1.9.1'; } function getDescription() { return 'This plugin counts how many times an entry has been displayed.'; } function getEventList() { return array('PostAddItem', 'QuickMenu', 'PostDeleteItem'); } function supportsFeature($what) { switch($what) { case 'SqlTablePrefix': return 1; default: return 0; } } function getTableList() { return array( sql_table('plugin_views'), sql_table('plugin_views_log') ); } function install() { sql_query('CREATE TABLE IF NOT EXISTS ' . sql_table('plugin_views') . ' (id int(11) NOT NULL default "0", views int(15) NOT NULL default "0")'); sql_query('CREATE TABLE IF NOT EXISTS ' . sql_table('plugin_views_log') . ' (id int(11) NOT NULL auto_increment, ip varchar(20) NOT NULL default "", itemid int(11) NOT NULL default "0", viewtime varchar(32) NOT NULL default "", PRIMARY KEY (id) )'); $this->createOption('silent','Silent mode - No #Display shown in Item (still need to add the skinVar, for use with MostViewed)','yesno','no'); $this->createOption('deletetables','Delete this plugin\'s table and data when uninstalling?','yesno','yes'); $this->createOption('timespan', 'Hours to wait before re-counting visitors', 'text', '2'); } function unInstall() { if ($this->getOption('deletetables') == 'yes') { sql_query('DROP TABLE ' . sql_table('plugin_views') ); sql_query('DROP TABLE ' . sql_table('plugin_views_log') ); } } function hasAdminArea() { return 1; } /** * Adds an entry to the 'Quick Menu' on the Nucleus administration pages. * The entry will link to the commentcontrol admin page */ function event_QuickMenu(&$data) { global $member; if (!($member->isLoggedIn() && $member->isAdmin())) return; array_push( $data['options'], array( 'title' => 'View Counts', 'url' => $this->getAdminURL(), 'tooltip' => 'See the view count of all items' ) ); } function doTemplateVar(&$item, $input) { $itemid = $item->itemid; $remote_ip = ServerVar('REMOTE_ADDR'); $timespan = $this->getOption('timespan') * 3600; $now = time(); // get the current Views count $query = "SELECT views FROM " . sql_table('plugin_views') . " WHERE id=" . $itemid; $result = sql_query($query); $row = mysql_fetch_object($result); $views = intval($row->views); // Only do count updates if "skipcount" is not set if ($input != 'skipcount') { // This takes care of previous items if (mysql_num_rows($result) == 0) { $query = "INSERT INTO " . sql_table('plugin_views') . " (id, views) VALUES('$itemid', '1')"; sql_query($query); //$views = 0; } // end if // Check the views_log table to see if this IP has a viewtime for this item $query = "SELECT viewtime FROM " . sql_table('plugin_views_log') . " WHERE ip='" . $remote_ip . "' AND itemid=" . $itemid; $result = sql_query($query); // No views from this IP in the past X hours, so update the Views count if (mysql_num_rows($result) == 0) { $views++; $this->_updateViewsCount($itemid, $views); $this->_addViewsLog($itemid, $remote_ip, $now); } // end if else { $viewtime = mysql_result($result, 0, 'viewtime'); // It's been longer than X hours, so recount if (($now - $timespan) > $viewtime) { $views++; $this->_updateViewsCount($itemid, $views); $this->_updateViewsLog($itemid, $remote_ip, $now); } } // end else } // end if // Clear logs that are more than X hours old $time = $now - $timespan; $query = "DELETE FROM " . sql_table('plugin_views_log') . " WHERE (viewtime < $time)"; sql_query($query); if ($this->getOption('silent') == 'no') { echo $views; } // end if } function event_PostAddItem($data) { $itemid = $data['itemid']; $query = "INSERT INTO " . sql_table('plugin_views') . " (id, views) VALUES('$itemid', '0')"; sql_query($query); } function event_PostDeleteItem($data) { $itemid = $data['itemid']; $query = "DELETE FROM " . sql_table('plugin_views') . " WHERE id=". $itemid; sql_query($query); $query = "DELETE FROM " . sql_table('plugin_views_log') . " WHERE itemid=". $itemid; sql_query($query); } function _updateViewsCount($itemid, $views) { // update the Views table with the new count $query = "UPDATE " . sql_table('plugin_views') . " SET views='$views' WHERE id=$itemid"; sql_query($query); } function _addViewsLog($itemid, $ip, $time) { // add IP and itemid to views_log table so it won't be recounted for X hours $query = "INSERT INTO " . sql_table('plugin_views_log') . " (ip, itemid, viewtime) VALUES ('$ip', '$itemid', '$time')"; sql_query($query); } function _updateViewsLog($itemid, $ip, $time) { // update the views_log viewtime so it won't be recounted for X hours $query = "UPDATE " . sql_table('plugin_views_log') . " SET viewtime='$time' WHERE ip='$ip'"; sql_query($query); } function doAction($actionType) { global $CONF, $member; if (!($member->isLoggedIn() && $member->isAdmin())) return 'Sorry. not allowed'; if ($actionType == 'resetview'){ $id = requestVar('id'); $query = "UPDATE " . sql_table('plugin_views') . " SET views=0 WHERE id=$id"; sql_query($query); } else if ($actionType == 'resetallview') { $query = "UPDATE " . sql_table('plugin_views') . " SET views=0"; sql_query($query); } $order = requestVar('order'); $sort = requestVar('sort'); header('Location: ' . $CONF['PluginURL'] . 'views/index.php?sort=' . $sort . '&order='.$order); } } ?> - Hoofdstuk: 5. Losse gedachten