Podcasting

nieuwe toepassing van het Internet...

Iedere jongen droomt ervan een eigen radiostation te hebben. Ik weet nog dat ik een kleine FM zender had verstopt bovenin ons oude winkelpand. Daar slingerde ik een zomer lang onder de naam Radio De Baby (afgeleid van de toen populaire groep The Babys) plaatjes de ether in. Volgens mij was de buurman in de schoenmakerij de enige luisteraar, omdat de zender al zijn andere zenders van de radio verdrong. Toen echter op een gegeven moment de antenne om was gewaaid en ik - bij het opnieuw plaatsen ervan - bijna van vier verdiepingen hoog naar beneden donderde, was de maat vol en overleed de baby.

Nu zijn zenders niet meer nodig. Je freubelt een eigen radioprogramma in elkaar en knalt een mp3-bestand op het internet. Dat heet met een mooi woord: podcasting.

Een vriend van me (Roelf met zijn Zoldercast.com) gelooft heilig in dit fenomeen. Hij voorspelt dat podcasting het einde betekent van de radio én dat op korte termijn de reclamegelden gaan verschuiven van radio naar podcasts. Ik heb daar wat twijfels en kanttekeningen bij.

Ik heb mij in de afgelopen week een beetje door de podcasts heen gesurft en ik ben er niet vrolijk van geworden. Wat een bagger! Gaat in deze wereld alles steeds sneller, gelikter en mooier... niet in de scene van de podcasters. Amateuristischer, trager en knulliger dan de 'uitzendingen' die ik nu heb gehoord, kun je ze bijna niet voorstellen. Het is niet om aan te horen!

Is PodCasting daarom gedoemd te mislukken? Oh nee, zeker niet! De integratie van radio/tv/internet gaat zeker door. Ik denk dan ook dat er voor een aantal vormen van podcasting wel degelijk markt is. Maar niet op de manier waarop het nu in de markt wordt gezet. De clou is om heel goed na te denken over de formule van het programma. Centraal staat content. Alles valt en staat bij de boodschap/formule van het programma. Laat ik een paar voorbeelden geven van podcasting waar volgens mij een markt voor is.

1. Onderscheidende muziekprogramma's.
Dat is niet eenvoudig door particulieren te realiseren, want Buma Stemra en Brein liggen op de loer... en dan begint hetzelfde gedonder á la de geheime zenders opnieuw. Ik zie wel kansen voor popgroepen om door middel van de eigen podcast in contact te blijven met de fans. Die worden aan het programma gebonden via exclusieve (live)opnames, nieuws over het komende album enzovoort. Een voorbeeld daarvan is The Kisspodcast.

2. Korte programma's rondom een thema.
Daarmee richt de maker zich op een specifiek publiek. Zeker als het thema's zijn die in de traditionele media onderbelicht blijven, is er een kans op succes. Te denken valt aan thema's als filosofie, politiek, milieu, religie, reizen, maar ook homoseksueel breien, Zuid Chinees kantklossen, nymfomaan valschermspringen enz. enz. De sky is the limit! In deze rubriek vallen ook de belangenorganisaties/bedrijven/politieke partijen die hun eigen informatie via podcasting onder het publiek gaan brengen. Én het is een markt voor commentatoren die regelmatig een vijf minuten column op het net slingeren.

3. Humor.
Een programma met humorcontent kan ook tijdelijk aanslaan. Probleem met humor is dat het een beperkte levensduur heeft. De podcasts in dit segment zullen geen eeuwig leven hebben.

Alle andere programma's die worden gemaakt uit de losse pols én onder het motto 'we zien wel hoe we het half uur volkrijgen', zijn zonder twijfel geweldig voor de makers... maar een drama om naar te luisteren. Ook die zullen blijven bestaan, maar vanzelf wegkwijnen in de enorme brei van het internet.

Om succesvol te zijn bij een groot publiek zal er een omslag moeten plaatsvinden in de manier van denken bij de huidige podcasters. De makers van de podcasts - die ik heb gehoord - dwingen je te luisteren naar stapels bagger in de hoop dat er wellicht nog iets interessants komt.

Ze denken nog heel erg 1989... Waarom een soort radioprogramma maken van een half uur of langer? Op die manier dwing je de luisteraars ook te luisteren naar zaken die helemaal niet interessant zijn. De kracht van Internet is dat je heel snel tot de kern van de informatie kan komen. Podcasters zetten wat dat betreft de klok achteruit. Ze denken op een oude 'radio' manier, terwijl ze een gouden medium in handen hebben waarmee je voor doelgroepen zeer interessante dingen kunt doen.

Podcasters redeneren op dit moment nog veel te veel vanuit zichzelf. Ze zouden de luisteraar centraal moeten stellen. Goede radio (en succesvolle piratenradio) wordt gemaakt met de luisteraar in het achterhoofd. Dat zouden podcasters ook moeten doen.

Als ik zou gaan podcasten (de kans is bijzonder klein), zou ik 'programma's' maken van maximaal 5 tot 10 minuten maken met een heel helder thema (en titel), zodat de bezoekers exact weten wat ze kunnen verwachten. Of... als het al een lang (zeg maar een soort radio)programma wordt, zou ik het in stukken knippen en die ook per onderwerp afzonderlijk aanbieden. Dat is veel consumentvriendelijker.

Ik voorspel nog grote ontwikkelingen in het podcasten. De nerds en freaks zullen plaats maken voor communicatiespecialisten die de luisteraar centraal stellen. De grote commercieel interessante podcasts worden dan ook niet meer meer op een zolderkamer gemaakt. Redacties gaan achter de schermen de programma's goed voorbereiden én er zullen gasten en commentatoren in de shows gaan optreden. Reclamemakers en marketeers gaan nieuwe vormen van sluikreclame ontwikkelen, omdat traditionele spotjes niet werken (worden versneld doorgespoeld). De grote - commercieel belangrijke - shows kunnen in zijn geheel of per onderwerp worden beluisterd. En door deze professionalisering lijken ze ineens erg op wat we nu al kennen... radioprogramma's.




Ook over dit onderwerp:
- Podcasting deeltje 2. Het vervolg

- Podcasting deeltje 3. Het lang verwachte Zoldergevecht.

- Podcasting deeltje 4. Keek op een bewogen week.

- Podcasting een jaar later. Optimisme verdampt.

© Harold Makaske 7 april 2005 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