Programmier-Crashkurs für Journalisten

Online-Journalismus ist so viel mehr als nur Text, Bild, Foto, Audio oder Video. Erst wenn Medien kombiniert werden, ergeben sich Geschichten, wie sie nur im Web gezeigt und nicht in der Zeitung, im Fernsehen oder im Radio dargestellt werden können. Mit Content Management Systemen und Tools, die in Redaktionen eingesetzt werden, stößt man allerdings schnell an seine Grenzen, wenn man einzigartige, auf bestimmte Geschichten zugeschnittene Darstellungsformen haben will.

Journalisten müssen nicht zwingend selbst programmieren können. Allerdings sollten vor allem Online-Journalisten die Arbeit eines Programmierers so gut kennen wie der Fernsehredakteur die Arbeit eines Cutters kennt: Kurze Nachrichtenstücke können Fernsehredakteure selbst schneiden. Bei großen Reportagen sollte lieber der Cutter ans Werk.
Sprich: Bei größeren Datenjournalismus- und Multimedia-Projekten sollte man nicht auf Programmierer verzichten. Es ist aber hilfreich, schnell einen Datensatz selbst zu scrapen, eine API auszulesen oder eine interaktive Karte erstellen zu können. Oder zumindest zu wissen, was technisch möglich ist, um den Aufwand für eigene Format-Ideen realistisch einschätzen zu können.

Dieser Beitrag erklärt erst die Grundlagen und die Grundausstattung der Web-Entwicklung und bietet dann einen Überblick über aktuelle Web-Techniken und Frameworks, die man als Journalist zumindest einmal gehört haben sollte.

Grundlagen

Als erstes benötigt man Grundkenntnisse in der Auszeichnungssprache HTML, der Layoutsprache CSS und der clientseitigen Skriptsprache Javascript. Ob Datenvisualisierung, Multimedia-Reportage oder webbasierte Smartphone-App: Grundsätzlich basiert fast alles auf diesen drei Web-Techniken.

HTML(5)

HTML5-Logo

HTML5-Logo

Die Auszeichnungssprache Hypertext Markup Language (HTML) ist die Grundlage prinzipiell aller Webseiten im Netz. Man erstellt eine .html-Datei, schreibt etwas Code, lädt die Datei per FTP auf einen Webserver hoch und kann sie dann von dort von jedem Browser aus aufrufen.

Zwar kann man HTML einfach in jedem x-beliebigen Text-Editor schreiben. Komfortabler ist aber eine Entwicklungsumgebung. Zu empfehlen sind die einfachen, kostenlosen HTML-Editoren wie Phase oder Smultron (kostenlos). Häufig genutzt werden auch Sublime TextCoda und Espresso. Größere IDE (Integrierte Entwicklungsumgebungen) wie Komodo Edit oder Aptana (kostenlos) helfen unter anderem bei der Kontrolle und dem schnelleren Schreiben der Syntax, also der „Code-Grammatik“. Zusätzlich sollte man sich Tools wie Firebug oder Chrome Developer Tools und Code-Hosting-Dienste wie Github einrichten. Als eigene CMS können Drupal oder WordPress eingesetzt und individuell angepasst werden.

Erst 2014 will das World Wide Web Consortium (W3C), das sich für einheitliche Standards im Web einsetzt, HTML5 offiziell empfehlen. Faktisch kann man es aber schon jetzt benutzen. Ältere Browser haben aber Probleme damit. Für die muss man dann eigene Versionen oder abgespeckte Fallback-Varianten erstellen. Oder man fordert den Nutzer gleich zu Beginn auf, die neueste Version eines bestimmten Browsers zu installieren.

In HTML werden nur die Inhalte mit ihrer entsprechenden Auszeichnung geschrieben. Mit Tags wie <h1>, <p> oder <div> gibt man an, welcher Abschnitt Überschrift, welcher Fließtext und welcher eine Box sein soll. Das Layout wird später mit Cascading Stylesheets (CSS) festgelegt. Inhalt und Layout sollten immer voneinander unabhängig erstellt werden.

Einstieg und Tutorials:

CSS

CSS-Beispiel

CSS-Beispiel

Mit der Formatierungssprache Cascading Stylesheets (CSS) werden Layouts von HTML-Seiten unabhängig von der Funktionalität festgelegt. Derzeit wird CSS in der Version 2.1 vom W3C empfohlen. CSS3 kann aber noch einiges mehr – befindet sich aber derzeit noch in der Entwicklung. Teile der neuen Spezifikation werden aber schon von aktuellen Browsern unterstützt.

Die größten Neuerungen von CSS3 sind Elemente wie Animationen und Übergänge. Damit können Effekte mit Texten und anderen Objekten im Browser dargestellt werden, wie sie bisher nur etwa mit Flash möglich waren. Ein weiterer wichtiger Aspekt dabei ist Responsive Webdesign, einer Technik, Webseiten so zu gestalten, dass sie sich verschiedenen Endgeräten und deren Bildschirmgrößen anpassen.

Will man also einem HTML-Element wie einer <div id=“box“>-Box nun eine Layout-Eigenschaft wie einen roten Hintergrund zuweisen, so kann man das mittels Name-Wert-Zuweisung in einer eigenen .css-Datei, direkt an dem entsprechenden HTML-Element oder im HTML-Vorspann definieren. Also konkret: #box {  background-color: #cc0000; }

Einstieg und Tutorials:

Javascript

Javascript-Beispielcode

Javascript-Beispielcode

HTML-Seiten sind statisch. Um aber dynamische Webseiten zu erstellen – z.B. wenn sich ein Inhalt bei Klick auf einen Button ändern soll, benötigt man eine Skriptsprache. Es gibt serverseitige Skriptsprachen wie PHP, Python oder Ruby und clientseitige Skriptsprachen wie Javascript (Javascript wiederum ist auch serverseitig einsetzbar).

Javascript hat den Vorteil, dass es direkt vom Browser gelesen und ausgegeben werden kann. Auch ist Javascript recht einfach und es existieren dafür unzählige Javascript-Bibliotheken, also bereits programmierte Module, die im eigenen Code geladen und eingesetzt werden können. Diese bindet man im <head>- oder <body>-Bereich des HTML etwa so ein: <script src="processing-1.3.6.min.js"></script>.
Außerdem gibt es  Javascript-Frameworks wie jQueryPrototype, Backbone, Underscore oder Angular, die Programmierarbeit abnehmen. Nicht nur deswegen hat die Popularität und Relevanz von Javascript in letzter Zeit enorm zugenommen, da auch aufwendigste Anwendungen damit umgesetzt werden können.

Einstieg und Tutorials:

Text und Daten

Weltweit öffnen Unternehmen und Verwaltungen nach und nach ihre Datenbanken für die Öffentlichkeit. Dadurch entstehen immer größere Datenmengen, die in unterschiedlichen Formen zugänglich gemacht werden.

Im schlechtesten Fall werden die Daten im geschlossenen Portable Document Format (PDF) bereitgestellt. Beispiel: Fahrradunfälle in Berlin nach Straßen. Diese Dateien müssen umständlich mit entsprechender Software wie dem kostenpflichtigen Abby Finereader oder dem kostenlosen Tool Documentcloud umgewandelt werden. Besser ist es, wenn die Daten im Sinne des Open Data in maschinenlesbarer Form als Comma-Separated Values (CSV), Extensible Markup Language (XML), Javascript Object Notation (JSON), als Ressource Description Framework (RDF) oder zumindest als Excel-Tabelle zum Download bereitgestellt werden. Im besten Fall werden die Daten per Schnittstelle (API) veröffentlicht.

Web APIs

Ein Weg, dynamisch und in Echtzeit an Daten zu gelangen, ist der über eine Schnittstelle, einem Application Programming Interface (API). Über sie können Daten von Maschine zu Maschine ausgelesen und dann weiterverarbeitet werden. Es existieren mehrere Tausend solcher Web APIs im Netz. Es gibt APIs von sozialen Netzwerken wie Twitter oder Facebook über APIs von Städten wie Leipzig mit Verwaltungsdaten oder Verkehrsdaten von Verkehrsbetrieben wie dem VBB bis hin zu Nachrichten APIs, die so ihre Artikel nach außen hin öffnen wie die New York Times oder der Guardian.

JSON-Ausgabe der API-Anfrage https://api.twitter.com/1/followers/ids.json?cursor=-1&screen_name=digitalerwandel

JSON-Ausgabe der API-Anfrage aller Follower-IDs von @digitalerwandel http://bit.ly/JaZhR8

Prinzipiell funktionieren Web-APIs so, dass man durch die bestimmte Eingabe einer URL ein entsprechendes Ergebnis geliefert bekommt. Ein Beispiel: Die Eingabe der URL http://search.twitter.com/search.json?q=Stromausfall gibt sämtliche Tweets aus, die den Suchbegriff „Stromausfall“ enthalten (Update 08.10.2013: Twitter hat auf eine neue API-Version umgestellt. Ein ähnliches Beispiel wäre die API von Wikipedia). Die Ausgabe erfolgt in diesem (und in den meisten Fällen) als eine lange Zeichenkette im Format JSON. Diese müssen dann im Programmcode verarbeitet werden.

Diese Tweets können auch automatisiert in eine Datenbank geschrieben werden. So können sich Journalisten eigene Recherchedatenbanken zu verschiedenen Themen aufbauen. Für Mashups können verschiedene APIs miteinander kombiniert werden, was zu völlig neuen Erkenntnissen führen kann. Auch ist es für Journalisten sinnvoll, APIs zu eigenen Projekten anzubieten – etwa unter einer nichtkommerziellen Creative-Commons-Lizenz. So können Nutzer selbst eigene oder neue Erkenntnisse aus den Datensätzen ziehen.

Einstieg und Tutorials:

Web Scraping

Werden im Netz verfügbare Daten nicht in einem der oben genannten Formate oder eine API bereitgestellt, bleibt neben der händischen Auswertung nur, die Informationen auf Webseiten mit einem Programm auszulesen und – unter Beachtung der rechtlichen Hintergründe – weiterzuverarbeiten beziehungsweise in einer eigenen Datenbank abzuspeichern. Außerdem sind große Teile des Web überhaupt nicht indexiert, weil die Inhalte etwa hinter dynamischen Formularen oder Anmeldeschranken versteckt sind. Auch diese Daten können automatisiert ausgelesen und gespeichert werden. Dieser Vorgang wird als Web Scraping bezeichnet.

Mit einem Ruby-Skript wurden in diesem Beispiel alle Daten der abgehenden Flüge am 25. April um 9:45 vom Flughafen Schönefeld gescraped und in eine CSV-Datei gespeichert.

Mit einem Ruby-Skript wurden in diesem Beispiel Flugdaten gescrapt und in eine CSV-Datei gespeichert.

Es gibt viele Möglichkeiten, mithilfe freier Web-Technologien so an Daten von Webseiten zu gelangen. Grundsätzlich wird eine serverseitigen Skriptsprache wie PHP, Python, Perl oder Ruby benötigt, um einen eigenen Parser zu schreiben, der diese Arbeit entweder manuell oder per Cronjob in bestimmten Zeitfenstern verrichtet. Allerdings kann man auch clientseitig mit der Unterstützung von Node.js scrapen. Frameworks hierfür wären etwa Scrapy oder Node.io.

Die einfachste Vorgehensweise ist, die Inhalte der entsprechenden HTML- beziehungsweise XML- oder auch CSS beziehungsweise X-Path-Markup auszulesen. Dafür gibt es zahlreiche Bibliotheken für die oben genannten Skriptsprachen wie Nokogiri für Ruby. Sollen Daten hinter Formularen oder Suchfeldern gescrapt werden, so muss etwa die Ruby-Bibliothek Mechanize zusätzlich eingesetzt werden.

Die Aufbereitung der Daten – das so genannte Data Wrangling – erfolgt dann meist über Tools wie Data Wrangler, Google Refine oder Mr. Data Converter.

Einstieg und Tutorials:

Datenbanken

Da mit lokal abgespeicherten Daten wie im oberen Beispiel nicht viel angefangen werden kann, müssen sie online in Datenbanken gespeichert werden.

Die phpMyAdmin-Ansicht der MySQL-Datenbank dieses Blogs

Die phpMyAdmin-Ansicht der MySQL-Datenbank dieses Blogs

Dafür kommen zurzeit häufig proprietäre Tools wie etwa Spreadsheets oder Fusion Tables von Google zum Einsatz. Zugriff auf die Tabellen in Form einer relationalen Datenbank erhält man bei ersterem entweder über die eigene API oder zusätzliche Javascript-Bilbiotheken wie Tabletop.js.

Allerdings gibt es auch eine große Anzahl an Open-Source-Datenbanken. Die seit längerer Zeit am meisten genutzten sind die relationalen Datenbanken MySQL und Postgres. Der Grundaufbau bei der SQL-Datenbankabfragesprache SQL-Syntax. ist: SELECT spalte FROM tabelle WHERE bedingung. Ähnlich funktioniert das auch bei Google Fusion Tables.
Derzeit setzen sich auch vermehrt nicht-relationale Datenbanken durch. Der Grund: Im Gegensatz zu relationalen Datenbanken verfügen „NoSQL“ (Not only SQL)-Datenbanken über eine schemafreie Struktur, sind horizontal skalierbar und damit besser für große Datenmengen wie etwa in sozialen Netzwerken einsetzbar. Es existieren mehr als hundert solcher Datenbanken. Zu den bekanntesten Vertretern zählen MongoDB und CouchDB.

Einstieg und Tutorials:

Grafik und Animation

Während Elemente wie interaktive Grafiken und Animationen im Web lange Zeit vorwiegend mit Adobe Flash umgesetzt wurden, können gleichwertige Multimedia-Applikationen heute direkt im Browser mit freien Web-Technologien, Tools und Frameworks auf Basis von HTML5 umgesetzt werden. Sie sind so auf prinzipiell allen Endgeräten – auch iPhone und iPad – darstellbar.
Dabei haben sich zwei grundsätzliche Herangehensweisen durchgesetzt. Einerseits die Arbeit mit dem Grafikformat Scalable Vector Graphics (SVG) und andererseits mit dem HTML5-Canvas-Element.
Für beide Herangehensweisen existieren zahlreiche Bibliotheken und Frameworks, die einfach in den HTML-Code eingebunden werden und von dort aus angesteuert werden können. Eine für Journalisten relevante Auswahl wird im Folgenden vorgestellt.

SVG  / D3.js und Raphael.js

SVG ist kein neues Grafikformat. Da es aber erst seit kurzer Zeit von beinahe allen gängigen Browsern unterstützt wird, kommt es immer häufiger zum Einsatz. Mit SVG lassen sich zweidimensionale Vektorgrafiken direkt im Browser darstellen. Es wird also keine Grafik-Datei wie Portable Network Graphics (PNG) lediglich statisch eingebettet, sondern man schreibt SVG direkt in den Quellcode. Dieses DOM kann dann direkt per Javascript – etwa mit Event Handlern – manipuliert, also dynamisiert werden.

Die New York Times visualisiert mit d3.js Daten

SVG-Dateien bekommt man an vielen Stellen im Netz, wie etwa die Wahlkreise von Berlin auf einer Karte. Man kann die Elemente aber auch mit kostenlosen Tools wie Inkscape und SVG Edit selbst zeichnen und den Code davon direkt in den Programmcode übertragen.

Um aus diesen reinen Vektorgrafiken interaktive Infografiken zu erstellen, gibt es dann Frameworks wie d3.js oder Raphael.js.

D3 ist das Kürzel von Data-Driven Documents und ist ein Framework für Datenvisualisierung. Es bietet spezielle Funktionen für die Manipulation von DOM-Objekten auf Basis von Daten. D3 stammt von Protovis ab.

Raphael.js erleichtert vor allem das Zeichnen und Animieren von Vektorgrafiken. Mit gRaphael gibt es auch ein Framework speziell für die Erstellung von Diagrammen.

Einstieg und Tutorials:

Praxisbeispiele:

HTML5-Canvas / Processing.js

Das Canvas-Element in HTML5 erlaubt es, direkt im Code dynamisch zweidimensionale Bitmap-Grafiken zu erzeugen und diese pixelgenau zu manipulieren. Es ist nicht besonders komfortabel zu nutzen. Daher gibt es auch hierfür Frameworks wie Paper.js, die die Arbeit sehr vereinfachen. Hervorgehoben soll hier aber Processing.js.

Visualisierung mit Processing.js

Visualisierung mit Processing.js

Processing.js stammt von Processing, einer Open-Source-Programmiersprache und -entwicklungsumgebung für Visualisierungen und Animationen, ab. Die Javascript-Bibliothek erweitert das Canvas-Element um weitere Funktionen, wie die Möglichkeit, Formen und Animationen zu erstellen – und das direkt im HTML/Javascript-Code ohne den Einsatz von Plugins wie Flash oder Java. Auch kann hier mit SVG gearbeitet werden.

Einstieg und Tutorials:

Praxisbeispiele:

Web GL

Die Spezifikation Web Graphics Library (WebGL) ist kein offizieller Teil von HTML5, wird aber dennoch von den meisten aktuellen Browsern unterstützt. Der Internet Explorer unterstützt den Standard allerdings derzeit ebenso wenig wie das mobile Betriebssystem iOS. Allerdings soll die Unterstützung weiter ausgebaut werden.

Die Web-Doku „One Millionth Tower“ wurde auch mit WebGL umgesetzt

WebGL erweitert das Canvas-Element um die Möglichkeit, 3D-Grafiken direkt im Browser darzustellen. Eine weitere Besonderheit an WebGL ist, dass es hardwareunterstützt,  also direkt von deiner Grafikkarte läuft. Das ermöglicht etwa 3D-Spiele oder menschliche Modelle. Und etwas journalistischer ist die Darstellung von Achsen auf einer dreidimensionalen Weltkugel.
Infografiken kann so etwa eine dritte Achse hinzugefügt werden. So lassen sich aber auch Graphen und ihre Verbindungen in einem dreidimensionalen Raum darstellen. Realisiert wurde dieses Beispiel mit der Javascript-Bibliothek three.js. (Zweidimensionale Graphen lassen sich mit der Javascript-Bibliothek sigma.js darstellen.) Auch die Library C3DL bietet zusätzliche Funktionen für die Entwicklung mit WebGL.

Tutorials:

Praxisbeispiele:

Interaktive Karten

Karten lassen sich sehr leicht mit Tools wie Google Maps oder Google Fusion Tables erstellen. Dabei ist allerdings problematisch, dass, wie bei allen externen Tools, eigene Daten fremden Unternehmen übergeben werden. Wer diese aber bei sich behalten will, muss eine eigene Kartenlösung aufsetzen.

Interaktive Karten mit Kartograph.js erstellen

Interaktive Karten mit Kartograph.js erstellen

Das lässt sich etwa mit Openlayers, Modest Maps oder Mapstraction umsetzen. Dazu benötigt man noch einen Tilecache-Server und einen Map-Server wie Mapnik, Geoserver oder Mapserver. Außerdem müssen die Geodaten in Datenbanken abgespeichert werden. Dafür eignen sich besonders gut PostGIS zusammen mit PostgreSQL als Abfragesprache. Und dann benötigt man für seine Karte noch einen Straßenlayer. Den gibt es etwa bei Openstreetmap. Ein weiteres wichtiges Programm für die Verarbeitung von Daten auf Karten ist das Programm QGis.

Geodaten werden häufg als Keyhole Markup Language (KML) oder Shapefile bereitgestellt. So bietet das Land Nordrhein-Westfalen seine Wahlkreise als Shapefile an. Die Berliner Ortsteile werden als KML angeboten.

Darüber hinaus existieren zahlreiche Frameworks wie Kartograph.js, mit denen interaktive Karten erstellt werden können, oder OSM Buildings, mit dem sich Gebäude auf einer Karte dreidimensional darstellen lassen.

Einstieg und Tutorials:

Praxisbeispiele:

Timelines

Es gibt im Netz viele interaktive Zeitleisten-Tools wie Tiki-Toki oder Dipity. Allerdings stößt man mit denen schnell an seine gestalterischen Grenzen. Es existieren Frameworks, mit denen man Timelines leicht selbst erstellen kann.

LA Times nutzt Timesetter

Die LA Times nutzt das Tool Timeline Setter

Ein solches offenes Framework ist der Timeline-Setter des NewsApps-Teams von Propublica. Damit lassen sich schlanke Zeitleisten auf HTML-Basis erstellen. Unter anderem kann die Quelle ein Spreadsheet sein.
Auch Timeline.js erleichtert die Implementierung von verschienen Quellen wie Twitter, Youtube oder Facebook in eigene Zeitleisten.
Sehr interessant ist auch Timeflow, das die Darstellung von großen Datenmengen in unterschiedlichen Formaten erlaubt.
Anstatt der üblichen horizontalen Zeitleisten bietet das Timeline-Framework von WNYC eine vertikale Anordnung. Es zieht sich die Daten aus einer Spreadsheet-Vorlage.

Einstieg und Tutorials:

Praxisbeispiele:

Audio und Video

Das World Wide Web als Teil des Internet ist ein interaktives System, in dem Dokumente untereinander per Hyperlink verbunden sind. Es verändert sich derzeit vor allem dahingehend, dass Multimedia-Elemente wie Animation, Video oder Audio nativ eingebunden und vollständig in das Web integriert werden können – Stichwort: Hypervideo, Hyperaudio. Was früher nur etwa mit Plugins ging, kann heute direkt im HTML/Javascript-Code gemacht werden.

HTML5 Video- und Audio-Tag

Viele Nachrichtenseiten veröffentlichen auch 2012 noch multimediale Anwendungen mit Flash-, Silverlight- oder Java-Plugins beziehungsweise verzichten gänzlich auf den Einsatz von HTML5. Dabei bieten neben dem bereits beschriebenen <canvas>-Tag auch der <video>- und der <audio>-Tag großes Potenzial für multimediale Darstellungsformen.

Die nativen Kontrollbalken

Die nativen Kontrollbalken

Die native Einbindung von Medienelementen wie Audios und Videos bringt vor allem den Vorteil, dass sie mit HTML5-Befehlen per Javascript interaktiv gesteuert werden können. Es werden kontinuierlich Events geworfen, wie etwa „progress“ – bzw. der Eventhandler „onprogress“, das einen Wert für den Ladezustand ausgibt, oder „seeked“ – und der entsprechende Eventhandler „onseeked“, das ausgibt, wie oft im Video gespult wurde. Außerdem können noch Properties wie „currentTime“, das die aktuelle Zeit aus dem Audio oder Video ausgibt oder etwa „volume“ der das den Wert für die Lautstärkeeinstellung bereitstellt, genutzt werden. Das ermöglicht etwa direkte Verlinkungen in stetigen Multimedia-Elementen und die Interaktion mit anderen Medien.
Auch bieten Player wie Youtube oder Vimeo auf ihren Developers-Seiten eine solche Interaktions- und Individualisierungsmöglichkeit, wenn auch eingeschränkt, an.

Einstieg und Tutorials:

Praxisbeispiele:

Popcorn.js

Popcorn.js ist eine Javascript-Bibliothek, die Audio- und Videodateien zeitgesteuert mit Kontext aus dem Web anreichern kann. Sie bietet die Möglichkeit, Webinhalte vom reinen Text über Links bis hin zu Karten, Twitter-Feeds oder Text zeitgesteuert in und um Audio- oder Videoelemente herum darzustellen. So können sich Nutzer etwa durch die Zusatzinformationen tiefer mit dem Thema im Video befassen zu können. Popcorn.js „befreit“ also Multimedia-Elemente im Web – weg von etwa im Video durch die Schnittsoftware unwiederbringbar “eingebrannten” Elementen wie statische Bauchbinden.

Spart viel Programmcode: der Popcorn Maker

Spart viel Programmcode: der Popcorn Maker

Es stehen zahlreiche vorgefertigte Plugins zur Verfügung, die auch kombiniert werden können. Die Web-Technik wurde etwa bei dem Multimedia-Feature DDR-Flüsterwitze – Protest hinter vorgehaltener Hand vom Autor dieses Blogs, Julius Tröger, eingesetzt. In dem Beitrag Webinhalte in Webvideos darstellen – Popcorn.js für Journalisten auf diesem Blog gibt es dazu einen praxisnahen Erfahrungsbericht. Mit dem Popcorn Maker wird ein Tool angeboten, das wie ein Online-Schnittprogramm funktioniert und zum Video passenden Quellcode ausgibt.

Einstieg und Tutorials:

Praxisbeispiele:

Hyperaudio

Audio kann besser dargestellt werden, als in einem Embed-Player. Mit Hyperaudio wird Audio Teil des Netzes und im Sinne des Hypermedia vollständig ins Web integriert.

Hyperaudio - Ton mit interaktivem Transkript

Hyperaudio – Ton mit interaktivem Transkript

Es existieren bereits Projekte, bei denen etwa durch die Synchronisation von Audio und Transkripten Interviews völlig neu dargestellt werden. Dabei läuft neben dem Audio live ein Transkript mit, das auf Wunsch sogar angeklickt und an die entsprechende Stelle gesprungen werden kann. Weitere interessante Beispiele sind der Einsatz des Audiodienstes Soundcloud für Flash-freie Audio-Slideshows oder eine interaktive Radiosendung. Umgesetzt wird das unter anderem auch mit dem Framework Popcorn.js beziehungsweise dem offenen Player jPlayer. So können etwa in Kombination mit APIs wie der des Audiodienstes Soundcloud völlig neue Web-Formate erstellt werden.

Einstieg und Tutorials:

Praxisbeispiele:

SMIL Timesheet.js

Neben HTML5 – in der Kombination mit Frameworks wie Popcorn.js – gibt es eine weitere Möglichkeit, Multimedia-Elemente interaktiv, aufeinander abgestimmt, zeitbasiert und direkt im Web integriert darzustellen.

Timesheet.js

Mit HTML5, CSS3 und SMIL wurde eine klassische Radiosendung als Web-Audio-Dokumentation umgesetzt.

Die Synchronized Multimedia Integration Language gibt es bereits seit 1998. SMIL ist ein Web-Standard für die zeitsynchrone Einbindung, Steuerung und Integration multimedialer Inhalte. Allerdings wird es von keinem gängigen Browser unterstützt. Es gibts aber die Möglichkeit, SMIL-Elemente mit Javascript-Bibliotheken wie Timesheet.jsin HTML einzusetzen und wird daher auch für den journalistischen Einsatz interessant.

Denn: Nachrichten bauen sich eigentlich immer aus aus mehreren Medienelementen zusammen. Eigenen oder fremden. Mit Techniken wie SMIL können Roh-Audio- und Videomaterial, Grafiken, Animationen und Text sowie weitere Medienelemente wie Tweets oder Youtube-Videos im Quellcode zu einem Beitrag geschnitten werden. Durch die Beibehaltung der Original-Medien im Gegensatz zum in sich geschlossenen Multimedia-Element kann eine völlig neue journalistische Transparenz, Nutzerintegration, Wiederverwendbarkeit und Medienkombination geschaffen werden.

Einstieg und Tutorials:

Praxisbeispiele:

Fazit:

Web-Techniken ersetzen nicht das klassische journalistische Handwerk, sie ergänzen es.

„Wir brauchen mehr Entwickler im Newsroom und mehr Journalisten, die programmieren können.“ Die Interaktiv-Chefin der AP, Shazna Nessa, geht sogar noch einen Schritt weiter und sagt, man trenne ja auch nicht zwischen Journalismus und der Fähigkeit auf Computern schreiben zu können. Andere sind der Meinung, dass Programmieren Programmierern überlassen werden sollte.

Fest steht: Es sind interessante Zeiten, in denen viel experimentiert werden kann. Deutsche Verlage betreiben kaum Forschungseinrichtungen, wie sie etwa aus der Industrie bekannt sind. Experimente müssen also aus der Redaktion kommen. Mit einem konkreten, kleinen Projekt im Kopf sollte man einfach loslegen und dabei seine Fähigkeiten erweitern. Wer an seine Grenzen stößt, der kann sich für kleine Programmieraufgaben über Freelancer-Portale Spezialisten suchen.
Bei größeren Projekten sollte die Arbeit Programmierern überlassen werden. Die in diesem Beitrag gezeigten Web-Techniken und Frameworks sind nur ein subjektiver Ausschnitt von dem, was bei der Web-Entwicklung möglich ist. Einen tieferen Einblick in „Journo-Hacking“ findet man vor allem im Datadesk-Blog der LA Times, dem Entwickler-Blog der New York Times, dem News-Apps-Teams der Chicago Tribune und den  Propublica-Nerds.

Über Hinweise, Links, Korrekturen, Praxisbeispiele und Kritik würde ich mich in den Kommentaren, auf Facebook, Google Plus und Twitter sehr freuen.

Update (2. August 2012)

Die Drehscheibe, Fachmagazin für Lokaljournalismus, hat mich zu diesem Blogbeitrag interviewt. Ich habe ihnen den Beitrag als Online-Workshop zur Verfügung gestellt.

Weiterführende Links:

  • Pingback: Links oben: Ein Baukasten für alle Journalisten - UNIVERSALCODE()

  • Pingback: Lesezeichen: Webtechnik für den Journalismus, ein umfassender Überblick | Kultur2Punkt0()

  • Wolfgang

    Wow! Danke für diesen Überblick!

  • Marco Maas

    Tolle Zusammenstellung! Danke!

  • Ich bin zwar kein Journalist, aber dennoch vielen Dank.

  • nk

    „Please dont learn to code“ ist auch meine Auffassung. Klar ist, dass fächerübergreifend überall Programmierer toll wären. Dennoch ist Programmierung ein Fulltimejob und vor allem ein Fachgebiet, das man nicht eben nebenbei lernt. Das gilt auch für die oft als einfach klassifizierten Sprachen PHP oder Javascript (+ Anhängsel der Markups). Zwischen kennen und können besteht ein gewaltiger Unterschied, allein die Menge der genannten Methoden müsste das eigentlich klar machen. Ohne Erfahrung kann ein Anfänger allenfalls Code zusammenstümpern oder -kopieren und das ist sicher nicht die Intention dieser Initiative. „Jeder sollte Zeitungsautor werden“ wird ja auch niemand fordern. Oder schlimmer noch: Jeder sollte sich ein Grundwissen in Arbeiten des Elektrikers, des KFZ-Mechanikers aneignen… Schlechter wartbarer, nicht funktionierender, unsicherer Programmcode ist allgegenwärtig, genau wie der Anfänger, der beim ersten logischen Problem im Forum aufschlägt und „Wie mache ich“-Fragen stellt. Ganz ehrlich  – was soll das?

  • nk

    PS: Ein gut eingerichtetes CMS kann schon eine ganze Menge. Ihr System perfekt beherrschen zu lernen (und techn. Bedürfnisse formulieren zu können) , wäre ein sinnvolles Ziel für Journalisten. Zumal das thematisch auch viel näher an der eigenen Kernkompetenz liegt. Schließlich war das das Ziel der Entwicklung von CM-Systemen, die sich schon lange kaum mehr an Redakteur-Laien richten.

  • Jan Söfjer

    Na sicher muss man als
    Onlinejournalist fünf HTML-Tags kennen, einen YouTube-Einbinde-Code
    modifizieren können und ein Bild beschneiden können. Ein bisschen an
    Audio- und Videoclips rumschneiden zu können, kann auch nicht schaden. Und es ist richtig, dass es gut ist, wenn Online-Journalisten wissen, was technisch (ungefähr) möglich ist. Aber schon bei dies-und-das sollte-man-die-Grundlagen-beherrschen widerspreche ich. Bei Stylesheets, Java, Flash und Datenbanken hört es auf. Schon vor
    neun Jahren stand in „Onlinejournalisten in Deutschland“ in Media
    Perspektiven 10/2003:

    „Die Annahme eines interaktiven,
    technikzentrierten Onlinejournalismus, wie er noch Mitte der Neunziger
    Jahre häufig postuliert wurde, [muss] empirisch eher als Marginalie
    bewertet werden; die entsprechenden Tätigkeiten spielen für die meisten
    Onlinejournalisten eine untergeordnete oder gar keine Rolle. Jedoch gibt
    es ein Spezifikum des Onlinejournalismus, das ihn von anderen Bereichen
    abhebt und in gewisser Weise technikzentriert ist: Gemeint ist das
    Einpflegen oder Einkopieren von Webseiten.“

    Die Sache ist
    auch ganz einfach: Wenn künftige (Online-)Journalisten nennenswerte
    Zeit ihrer Ausbildung in IT oder Webdesign stecken, schrumpft in
    gleichem Maße ihre journalistische Ausbildung und Kompetenz. Wer zu
    einem Hybriden werden möchte, weil er sich gerne mit
    Online-Format-Entwicklung,
    Suchmaschinen-Optimierung oder Datenjournalismus beschäftigen möchte,
    soll das tun und die Jobchancen für ihn werden sich alles andere als
    verschlechtern, aber ein Voll(blut)-Journalist wird er so nicht.

    • Robert

       Kann ich nur so unterschreiben. Man sollte sihc mehr auf Recherche und das eigentliche Schreiben konzentrieren. Es ist ja häufig ein Problem, dass Journalisten sich mit mehr anderem Zeugs rumschlagen müsssen, als mit dem, was ihr eigentlicher Job ist.
      Stellt vernünftige Programmierer ein, aber lasst die Journalisten ihre Arbeit machen.

      • Das stimmt. Der Zeitdruck in Redaktionen ist sowieso groß genug.

        Aber das Web bietet doch auch neue Rechercheansätze (CAR, Datenjournalismus). Dort besteht noch viel Potenzial.

        Ich hoffe, mit diesem Beitrag bei dem einen oder anderen Interesse geweckt zu haben, um sich gleich für ein Projekt mit einem Entwickler zusammen zu tun.

        • Jan Söfjer

           Spannend kann das natürlich sein, wie ich bei einer Recherche über CAR bei der dpa gesehen habe (http://www.journalist.de/aktuelles/meldungen/datenjournalismus-sprich-mit-daten.html). Aber ich bezweifele, dass nun Nachwuchsjournalisten im großen Stil Datenbank-Recherche und Robot-Programmierung lernen sollten. Man muss schauen, wann und ob man solche Fähigkeiten überhaupt braucht. Wo ich es mir vorstellen kann: Bei politischen Journalisten, die sich mit Haushaltsplänen etc. beschäftigen. Kann man sich aber nur als Festangestellter Redakteur leisten, da mehr oder minder offene Datenbankrecherchen sehr zeitintensiv sind.

          • @julianschmidli

            Danke Julius für die bis dato vollständigste und relevanteste
            Auflistung der aktuellen Möglichkeiten der journalistischen Anwendung von
            Programmierung. Wenn ich so drüber scrolle, wird mir mal wieder bewusst, was
            alles möglich ist – und wie wenig ich davon kann. Aber so ist es mit jedem
            Werkzeugkasten: Nie benutzt man alle Werkzeuge, aber wenn man weiss, was alles
            mit ihnen möglich ist, findet man plötzlich Verwendung für sie. 

            So sollte es auch hiermit sein. So viel ist klar: Programmieren alleine macht
            keinen Journalisten. Was es zum Journalisten braucht, ist uns allen klar. Die
            Frage ist vielmehr: Wie kann ein Journalist diese Werkzeuge für seine Arbeit
            sinnvoll einsetzen? (Sinnvoll = im Rahmen der Ressourcen Zeit und Geld, im
            Verhältnis zum Outcome)

            Das muss jeder Journalist für sich selbst entscheiden. Aber dafür muss er sich
            damit beschäftigen. Dafür muss er von den Möglichkeiten wissen und sie
            zumindest einmal ausprobieren. Und, wenn es ihm sinnvoll erscheint, die nötigen
            Ressourcen dafür organisieren. Denn selbst wenn ein Journalist programmieren
            kann, heisst es noch lange nicht, dass man ihn lässt.

             

            Es macht keinen Sinn, darüber zu diskutieren, was ein Journalist
            können muss und was nicht – weil es tausend Arten des Journalismus gibt. Für
            den Redakteur einer Tageszeitung macht es wohl weniger Sinn als für einen
            Onlinejournalisten. Und auch für diesen ist es keine Pflicht, weil – das zeigt
            zumindest meine Erfahrung – wer nicht freiwillig lernen will, wie Coden und
            Programmieren funktioniert, hält es nicht lange durch. Dies gestehe ich allen
            Kritikern des „Programmier-Journalisten“ zu.

             

            Trotzdem bin ich der Meinung: Man kann nie genug wissen, wenn es
            um Programmieren, Coden, Datenjournalismus geht. Programmieren ist das neue
            Latein: Man lernt strukturiert denken. Ich merke das gerade selbst in meinem
            Alltag, der ich weder Latein noch Mathe mochte, und nun wochenlang damit
            beschäftigt bin, Datensätze zu generieren, zu formatieren, auszuwerten. Mit
            jedem Projekt werde ich effizienter, mit jedem Fehler kann ich meine eigenen
            Fähigkeiten besser einschätzen. Das ist eine zentrale journalistische Qualität:
            Wissen, wozu man selbst in der Lage ist und wo man gegebenenfalls Hilfe holen
            kann.

             

            Und genau darum geht’s doch hier. Dass man mit Hilfe von
            Technologie eine neue Qualität von Journalismus hinkriegt. Jeder so, wie es für
            ihn am sinnvollsten ist.

  • Vielen Dank für die sehr interessante Diskussion.

    Ich bin schon der Meinung, dass sich vor allem Online-Journalisten etwas stärker mit dem Web, in dem sie täglich arbeiten, auseinandersetzen sollten – und dazu gehört auch grundsätzliches Wissen über gängige Web-Techniken, das über das Kopieren von Embed-Codes hinausgeht.

    Im besten Fall sollten Journalisten aber tatsächlich nicht selbst programmieren, sondern direkt im Team mit Web-Entwicklern arbeiten, um gemeinsam webgerechte journalistische Formate zu erstellen.

    Dass sich etwa ein politischer Korrespondent auf völlig andere Dinge konzentrieren sollte, ist unumstritten.

    Was ist Ihre Meinung zu dem Thema?

  • Pingback: Linkwertig: Yahoo, Schweiz, Access, Google+ » netzwertig.com()

  • Pingback: Digitaler Wandel » Programmier-Crashkurs für Journalisten | www.flug-blatt.com()

  • Ochne

    LOL. „Crashkurs“ nennt sich das also, sehr nette Zusammenstellung. Gut gemacht.

    Um allerdings tatsächlich selbst was bauen zu können, sollte man schon „conversant“ mit Programmiersprachen sein, und das dauert.

    Auch sollte kritisch gesehen werden, dass hier Serverseite und Client in einen Topf geschmissen werden. Für größere Projekte (und ein Projekt, dass eigenen Code erfordert ist im Vergleich zum Redaktionalltag immer ein größeres Projekt) sollte man arbeitsteilig im Entwicklerteam arbeiten (DB und Server: Programmierer / Frontend und Interaktives: Web-Gestalter). 🙂

    Außerdem ist fraglich, ob Web GL und SVG überhaupt in Zukunft eine Rolle spielen werden, besonders simpel zu verwenden ist keins der beiden, und das ist ein Problem.

    • Danke.

      Ich denke, viele einfachen Projekte können clientseitig umgesetzt werden. So entstand etwa folgende Karte direkt in der Redaktion mit Redakteuren, die lediglich Grundkenntnissen in HTML, CSS und Javascript hatten: http://berlinergazette.de/interaktive-karte-berlinwahl-2011/

      Dagegen sind viele Techniken, die hier im Beitrag angesprochen werden, alles andere als simpel. Das stimmt. Ich habe sie dennoch erwähnt, weil es vielleicht hilft, die Kommunikation von (Online-)Redaktionen und IT zu verbessern.

  • Gast

    node.js ist übrigens serverseitiges Javascript.

    • Danke für den Hinweis. Habe ich korrigiert.
      War missverständlich. Ich wollte sagen, dass das eigentlich clientseitige Javascript mit node.js auf dem Server als serverseitigs Javascript ausgeführt werden kann.

  • irgendein Gast

     Danke. Schöne übersicht.
    Weitere Themen wären z.b. wie man Artikel aktuell halten kann. Bei News müssten anständige Journalisten drunterschreben welche Tippfehler oder Formulierungen verändert wurden.
    Bei „Tipps für den Umzug“ „Beschäftigungstherapien für lange Autofahrten“ „Weihnachts-Checkliste“ welche gelegentlich überarbeitet werden, wollen Leser auch nur sehen was sich seit letzten Weihnachten geändert hat. Auch Fortschreiben von Geschichten statt Einzelbrocken in News wäre mal interessant.

    Viele Reporter müssen das Verlags-CMS nutzen und hosten vermutlich eher selten selber. Trotzdem macht es natürlich Sinn zu wissen, was mit HTML/CSS ginge und wie/wo man billig hosten oder veröffentlichen kann. Übersichten über die Lizenzen wären also interessant.

    Vielleicht habe ich es überlesen aber interessant wären Feedback-Tools um z.b. Testleser Anmerkungen, Tippfehlerkorrekturen oder sogar Skizzen „Herum-Krickeln“ in Grafiken machen zu lassen um Dinge vielleicht eingängiger oder klarer darzusellen oder halt bessere Formulierungen vorzuschlagen.

    Norran in Schweden hat z.b. ein Open Newsdesk. Ein Katalog/Zoo/“Zengarden“ technischer Möglichkeiten wäre auch ein nettes Thema wenn auch nicht konkret Data-Journalismus.

    Als Privatperson wird man abgemahnt oder verklagt oder soll vielleicht für Sendezeiten EPG-Gebühr bezahlen wenn man Statistiken über TV-Programme machen will die irgendwem nicht passen. Sonst gäbe es schon längst viel mehr aufgedeckte Themen. Reportern ist der Identitätsschutz von Aufdeckungs-Programmierern vielleicht nicht ganz so wichtig.
    Der PlagWiki-Programmierer hat in ein paar Wochen lauffähige Software programmiert und ist somit besser als viele gescheiterte Zillionen-IT-Projekte deren Sourcecodes bis heute nicht (da Steuerfinanziert) freigegeben wurden. Schwimmt er in Geld und Aufträgen ?

    Die Meldeplattformen für Anonyme Meldungen sind oft nicht wirklich sicher wie der Wikipedia-Artikel auflistet.
    Fast jede deutsche (und ausländische) Bau- und Projekt-Firma wird sich die offengelegten Flughafendokumente ansehen um davon zu lernen. Da müssten tausende von Kommentaren von Ingenieuren, Controllern usw. einsammelbar sein. Wenn man sie schützen würde oder gar keine Identitätsdaten erfassen würde. Die Reporter haben kein Interesse an kritischen Themen. Dafür gibts ja eher oft nur Ärger. Auch daher ist Data-Journalismus vielen egal. Als Horst Schlämmer Bratwurst-Journalismus betreiben und von Vereinsfeiern und Festivitäten mit kostenloser Verköstigung zu berichten ist möglicherweise beliebter.

    Die Presse deckt bis heute ja nicht auf ob man als studierter Reporter davon leben kann und welches die Armuts-Studiengänge mit jahrelangem Praktikantentum sind, was ich als betroffener Programmierer gerne als Melde-App programmieren würde aber wegen Abmahnungen und Trivialpatenten nicht mache.
    Wenn man als Reporter nicht davon leben kann, ist man Repressalien möglicherweise ausgeliefert und das Thema Aufdeckung wird nur aus politischen Gründen von 5-10 Redaktionen bundesweit betrieben oder halt wenn ein Politiker jemanden betrunken überfahren hat und sowieso zurücktreten soll.
    Presse, Wirtschaft und Politik schieben sich gerne gegenseitig (pro Forma) die Schuld zu und wir Bürger müssen ständig bezahlen.

    Wenn ich Reporter wäre, würde ich offene Aufrufe starten und Data-Projekte crowdfunden lassen und meinen Namen als big Organizer drüberschreiben. Als nächste Stufe würde ich Ideen zum crowdfunden crowdsourcen lassen: Armuts-Studiengänge wurden genannt. Aber auch Armuts-Alters-Aufdeckungs-Apps und Renten-Kassen-Einnahmen dürften mit den richtigen 2-5 (vielleicht kostenpflichtigen, vielleicht kostenlosen) Statistiken vom Statistik-Amt oder Landes-Behörden ausrechenbar sein.
    Interessant wären Wikis für alle öffentlichen Daten. Ohne Impressums-Abmahnungen und geplante Linksteuer und Medien-Jugendschutz-Verordnung und vielleicht monatlich gegen Geld aufzufrischendes Jugenschutzsiegel könnte man sowas hier vielleicht mit geringeren Rechtskosten für ein paar Euros hosten. Vielleicht gibts ja bessere Länder dafür.

    Wenn Du etwas veröffentlichst, was jemand nicht will, hast Du ganz andere Probleme als die nächste HTML-Version.
    Eine Idee bestände also darin, offen als allererstes zuzugeben das man seine Datajournalism-Enthüllungen als arbeitssuchender Freischreiber nicht fortsetzt, wenn man eine Festanstellung zum Tariflohn kriegt. Dann kann jemand anders diese Ideen fortsetzen bis er eine Festanstellung kriegt. Dazu muss man sie vielleicht nur unter den richtigen Lizenzen öffentlich veröffentlichen damit der nächste arbeitslose Presse-Student freedom-lizensiert damit fortsetzen kann. Eine gute Fachschaft würde das als „unsere hungrige Studenten Data-Enthüller“-Projekt aufbauen und könnte dann die Durchschnittsgehältet ihrer festangestellten Studenten verkünden um die anderen Unis in Zugzwang zu bringen oder zuzugeben falls Journalismus zu viele Studenten ausbildet.

    Datajournalismus sollte damit anfangen, das man Wahlergebnisse und Sitzverteilungen so darstellt, das ich was damit anfangen kann. Inzwischen habe ich mir selber ein Script dafür geschrieben weil mich diese M$-ZDF-Grafiken oft verwirren. Wählerwanderungen usw. sind dort ganz gut gemacht. Aber die Sitze und Koalitions-Möglichkeiten kann man deutlich verständlicher darstellen.
    Auch Firmendaten u.ä. sind eher streßfrei. Heise schreibt die Quartalszahlen seit x Jahren bei den Quartals-Meldungen von IT-Firmen untereinander. Interessant wären in Online-Artikeln also Grafiken wo man die Konkurrenten usw. sieht. Es gibt also durchaus streßfreien Data-Journalismus.
    Auch das Outing der Schulden oder Parteispenden oder Wahlkostenerstattungen einer unbeliebten Partei und gegen Geld von den anderen Parteien per öffentlicher Preislisten als freier Journalist wäre eher streßfrei. Die CDU bezahlt einen also für wirksame Darstellung der SPD-Spenden und umgekehrt und man kann dann entsprechende Artikel auch noch an die Tagespresse oder Wochenzeitschriften verkaufen. Sowas halte ich nicht für unredlich so lange es keine Tariflohnpflicht und arme Diplom-Journalisten gibt. Irgendwer muss für neues Wissen schliesslich immer bezahlen. Sonst gibt es dieses Wissen nicht oder das Volk weiss es aber die Presse und Politik und Wirtschaft interessiert es nicht. Ich brauche jedes Jahr weniger Strom. Wieso also brauchen wir neue Strom-Masten ? Oder ist das die Investitions-Blase der CDU nach Grün mit deutschen Solarzellen und SPD mit Neuem Markt ?

    Damit ein weiteres Thema: Unterschiede Online und Print. Print ist die kurze Fastfood-Version für in der Mikrowelle, Online ist das Mehrgängemenü-Büffet-Tisch wie diese Chinesischen Restaurants im China wo auf dem Drehtisch die bestellten Sachen aufgetischt werden sobald die Küche sie fertig hat und jeder zugreifen kann.
    Online sind die langen besseren Artikel und nicht nur Bilderstrecken oder Videos fürs Ipad und großzügigerweise sogar noch der Print-Text ohne Besitz- und ohne Archivier-Möglichkeit. Das können und sollen ruhig auch wiederkehrende Texte als Erklärungen oder Templates (z.b. bei Firmenzahlen) oder fortgesetzte Zahlen und Grafiken sein. Bei Firmenzahlen wird in Print und in Online-Berichten Zahlen rausgepickt und vieles muss man nachfragen oder selber denken oder ausrechnen. Online hat genug Platz und könnte alle Zahlen relativ, und prozentual zum Vorjahr, zur Konkurrenz, zum letzten Quartal und zu den Erwartungen in Dollars und Euros und Yen usw.  (was man halt als Währung sehen will) darstellen ohne (wie bei Print und Online-News üblich) Teile weglassen zu müssen. Sowas kann auch Templatemäßig aussehen und speziell bei Breitbildschirmen (oder an Phones mit schmalem Screen oder Quer) kann man nette Darstellungen finden wo man in der Zeitung/Zeitschrift kein Platz für hat. 
    Worin  und wie man sich bei Online also positiv vom kurzen Print-Artikel zum gleichen Thema unterscheiden kann, wäre also auch mal solch eine Übersicht oder teil-moderiertes Crowdsourcing mit Referenzen auf reale Umsetzungen (gute und schlechte Beispiele wobei man ja nicht dranschreiben braucht, was die schlechten Beispiele sind) wert.

    Sberbank macht Crowdsourcing-Werbung. Da sagt eine Frau das man zwar die Daten hat, aber besser mal öffentlich fragen sollte was man daraus auswerten kann. Wichtig wären also auch Crowding-Tools um zu wissen was man sich überhaupt mal fragen sollte. Keiner zeichnet z.B. mal auf, wann Online-Werbung welche Pressegattung (Kostenlos-Zeitungen, Wochenzeitschriften, Tageszeitung, TV ist Platz 1) eingeholt hat oder wie viele Meter weiter die 400-Euro-Presse-Zusteller laufen müssen wenn Tageszeitungen jedes Jahr x% weniger Leser haben und wie viele 400-Euro-Jobs pro Monat in der Print-Krise verloren gehen. Solche simplen und auch grob beantwortbaren Fragen sollte man als Crowd-sourcete-Checkliste immer im Hinterkopf haben.
    Auch ask-crowding wäre wichtig: Armuts-Rente und Armuts-Studiengänge wurden schon genannt. Aber wie viel zahlt die Versicherung aus ? Oder wie viel Prozent der Hotelbeschreibung stimmen. Usw. könnte man per Umfragen (ohne „49 Cent – mobilfunk teurer“) ratz-fatz evtl über mehrere Redaktionen abgesprochen bundesweit herausfinden und statistisch stabil korrekt relevant belasbar seriös (wie auch immer die das nennen) den ehrlichsten Reiseanbieter wählen lassen… . Danach pro Reise-Ziel-Gebieten. Man sieht ja an der Punktwolke wo die Statistik auseinanderdriftet. Sowas können Redaktionen oder Freischreiberteams auch gemeinsam organisieren und individuelle Berichte schreiben.

    Und nochmal Lob für die gute Zusammenstellung.

    Sowas geht

  • Sehr schöne Zusammenfassung! Den Titel kann man auch erweitern: Nicht nur Journalisten sondern auch Medienmanager im Allgemeinen sollten mit solchen Begriffen vertraut sein. Gerade in „traditionellen“ Medienhäusern ist das ja nicht immer der Fall 🙂

  • Pingback: Linktipp: Programmier-Crashkurs für Journalisten | larsbudde.de()

  • Hach.
    Einerseits: Großartig, tolle Übersicht, dankeschön und ein Fleißkärtchen mit 5*****
    Andererseits: #hierkommssejazunix Aber ich teile es mir in Häppchen ein, bis Weihnachten bin ich durch ,)

  • Caddy

    Gute Zusammenfassung. Kleine Korrektur: Phase5 ist nur für Privatanwender und Schulen kostenlos. Steht so auch auf der verlinkten Homepage. Für kommerzielle Anwender (also auch Journalisten) kostet das Programm 47,60€.

  • Pingback: Links #5 « blog.matterne.eu()

  • Pingback: Programmier-Crashkurs für Journalisten()

  • Verbal

    Hausaufgaben gemacht! Sehr guter Artikel

  • Pingback: Worüber die Quäntchen so quatschen – der Wochenrückblick | quäntchen + glück()

  • Pingback: Linksammlung KW 29/2012 | daburnas Logbuch()

  • Pingback: Linkdump vom 25. Juli 2012 Links synapsenschnappsen()

  • Pingback: Ressources for Concepts, Graphics and Development()

  • Hans Autor

    Vielen, vielen Dank für die sehr gute und umfangreiche Zusammenstellung von Technologien und Werkzeugen. Zwar bin ich selbst in dem Bereich tätig, aber ein so reich verlinktes Dossier habe ich nicht zur Hand. Der Artikel hilft mir also sehr bei der Vorbereitung der nächsten Vorlesung für Studierende. Dafür nochmals tausend Dank

    Diese Vielfalt aber als Journalist und „Geschichtenaufbereiter“ zu verstehen oder sogar nur halbwegs zu beherrschen, ist ein ganz anderes Thema. „Programmieren“ – ganz gleich auf welcher Ebene – ist eine Denk- und Geisteshaltung, die man nur mühsehlig trainieren kann. Und jeder der verlinkten Projekte ist eine Herkulesaufgabe für ein Team, beinahe unmöglich aber für Einzelpersonen. Es sei denn, sie sind mit reichlich digitalem Talent geboren…

    Man kann in dem Bereich also meiner Meinung nach nur etwas Gutes erreichen mit (Genie) oder (Neugier & viel Zeit & Talent) oder (Vorwissen & Talent) oder (Beratung & Mitarbeitern). Und dann stellt sich die immer wieder ungelöste Frage nach der Vergütung. Im Internet…

  • Tkonx

    Auch von mir ein großes Lob für die tolle Zusammenstellung! Falls man selbst nicht die Lust hat sich die entsprechenden „Skills“ anzuarbeiten gibt es gute Alternativen, ich spreche hier z.B. von Outsourcing. Ich habe auf meinem neuen Blog ein paar entsprechende Artikel verfasst, wie man sich schnelle und vor allem günstige Abhilfe schaffen kann. Die URL ist http://www.programmiererfinden.de . Wer Lust und Laune hat kann ja mal draufschauen. Ich gebe hier detaillierte Anleitungen wie man bspw. einen indischen Programmierer über sogenannte Freelancer Plattformen anstellen kann. Gruß

  • Pingback: Kulturtechnik | ZAFUL()

  • Ihre Post ist sehr interessant. Vielen Dank, dass sie in einem Artikel alle diese wichtigen Punkte zu erleichtern, können wir unsere Forschungen auf dem Gebiet.

  • Pingback: Digitale NotizenMediennutzung und ein Programmier-Crashkurs |()

  • Pingback: asablog » Blog Archive » Warum wir mehr News-Nerds brauchen()

  • Pingback: Coding Lego #1 | Jonathan Sachse()

  • Pingback: Was Programmieren bedeutet › Jocialmedia-Blog()

  • Pingback: Link- und Leseliste Datenjournalismus | netzprotokolle von Claus Hesseling()

  • Pingback: SAP ERP HCM: Technische Grundlagen und Programmierung | INFOWEBLOG.NET()