Mat-O-Wahl - Eine W-O-M Alternative

Der Mat-O-Wahl ist ein Programm (mehr ein Framework) zum Vergleichen von Parteipositionen mit der eigenen Meinung. Er kann frei kopiert und verändert werden, damit jedermann schnell und einfach selbst Umfragen zu politischen Themen gestalten kann.

Ausprobieren (DE)

Try It (EN)

Der MatOWahl (MOW) orientiert sich am WahlOMat (auch: "Smartvote" in der Schweiz, "Electoral Compass" in den USA oder "StemWijzer" in den Niederlanden). Dieser wird in Deutschland von der "Bundeszentrale für politische Bildung" (bpb) herausgegeben. Der originale Wahl-O-Mat ist urheberrechtlich geschützt und technisch recht komplex, was den Einsatz im "kleinen Rahmen" erschwert. Andere "Wahl-O-Mat"-Alternativen arbeiten zumeist servergestützt (z.B. PHP, MySQL) und erfordern noch mehr technisches Wissen. Deshalb entstand der MatOWahl als Alternative.

Einsatzbereiche können z.B. lokale Wahlen wie Bürgermeisterwahlen, Bürgerschaftswahlen, Stadtratswahlen, Kreisratswahlen, Kommunalwahlen oder Landratswahlen sein. Aber auch Volksabstimmungen und studentische Wahlen wie Fachschaftsratswahlen, Studentenparlamentswahlen (StuPa-Wahl) oder Studentenratswahlen (Stura-Wahl).

Mat-o-Wahl Obsthausen
Allgemeines Beispiel: Wahlen in Obsthausen - 6 Fragen, 4 Parteien

Was kann der Mat-O-Wahl (noch) nicht?

  • Warnung, wenn man zu selten Stellung bezieht

Was können beide?

Abfrage

  • Abfrage von Thesen / Meinungen
  • Auswahl zwischen Zustimmung / Ablehnung / Enthaltung und Überspringen
  • Zurückgehen zur vorherigen Frage / Springen zwischen den Fragen
  • Gewichtung von einzelnen Thesen

Ergebnisanzeige

  • Anzahl der übereinstimmungen
  • Text der einzelnen Thesen
  • Text der Parteiantworten
  • Sortierung der Ergebnisse nach Übereinstimmung
  • Einzelauswahl von Parteien für die Ergebnisliste

Was kann der Mat-O-Wahl besser?

  • Einfachere Administration mittels CSV-Dateien und Textdateien
  • Sofortige Darstellung aller gewählten Parteipositionen in der Ergebnisliste (vgl. Urteil des Verwaltungsgericht Köln zur Europawahl 2019 ;) )
  • Optionale Vor-Abfrage zur Lieblingspartei (beta, siehe Bahn-O-Mat)
  • Kein großes, technisches Verständnis nötig
  • Anpassung an eigene Designs
  • Freie Lizenz (GPL) für eigene Verbesserungen oder Veränderungen

Allgemeines

Die Wahl-O-Mat-Redaktion zur Bundestagswahl 2009 bestand aus rund 20 Personen, welche die Parteiprogramme miteinander verglichen haben und daraus die Fragen formulierten. Zur Europawahl 2014 wurden die Fragebögen von 25 Jungwählern erarbeitet. Ihnen zur Seite stehen jeweils verschiedene Wissenschaftler um eine hohe Qualität zu gewährleisten.

Mitstreiter

Um die richtigen Fragen zu finden, empfiehlt es sich, solch ein Projekt nicht allein durchzuziehen, sondern die Last auf mehrere Schultern zu verteilen. Vertreter von Presse, interessierte Bürger aber auch Politiker wären z.B. eine solide Basis dafür.

Fragenauswahl

Auch sollte man auf eine breite Vielfalt der Fragen achten. Auf lokaler Ebene sollte sich z.B. nicht jede Frage um das neue Feuerwehrhaus, die Einsatzzeiten der Feuerwehr und die Finanzierung des Feuerwehrfests drehen. Ebenso wichtig wären Kinderbetreuung, Schulen, Mieten, Straßenbau, Industrie, Umweltschutz und Tourismus.

Fragensystem

Außerdem müssen die Fragen mit "stimme zu" / "stimme nicht zu" beantwortet werden können. Die Frage "Was halten Sie vom Flughafenausbau?" lässt sich also weder mit dem Wahl-O-Mat noch mit dem Mat-O-Wahl beantworten.
Richtig müsste es heißen: "Die Stadt soll den Flughafen ausbauen" oder "Die Stadt soll den Flughafen nicht ausbauen". Beide Fragen lassen sich nun beantworten.

Bilder

Viele Bilder sind urheberrechtlich geschützt. Wenn Sie ein Parteilogo oder ein Kandidatenfoto benutzen, achten Sie darauf die Besitzer um Erlaubnis zu fragen. Bilder für die freie Benutzung sind oft an einer CreativeCommons-Lizenz (z.B. CC:BY oder CC:BY-SA) zu erkennen.

Allgemeine Hinweise

Allgemein

Alle wichtigen Einstellungen werden in einer Textdatei namens "definition.js" im Verzeichnis "/data" gemacht. Diese kann mit einem Texteditor (Notepad, Wordpad, ...) bearbeitet werden.
Hier kann man Kontaktinformationen für das Impressum angeben und erklärende Texte wer und was gewählt wird. Viel wichtiger ist jedoch die Möglichkeit, Angaben zu den Parteien und der Datei mit den Fragen zu machen.

Hinweis zu CSV-Dateien

Alle Fragen und Parteipositionen sind in einfachen CSV-Dateien abgespeichert. Das sind normale Textdateien, die man sowohl mit einem Texteditor (z.B. Notepad, Wordpad, ...) als auch mit einer Tabellenkalkulation (MS Excel, OO Calc, ...) bearbeiten kann. Die Spalten sind voneinander mit einem einfachen Trennzeichen, z.B. ein Komma oder ein Semikolon, getrennt. Die Namen dieser CSV-Dateien kann man selbst in der "definition.js"-Datei angeben.

Beispiel einer CSV-Datei

Ansicht einer kommagetrennten CSV-Datei im Texteditor ...

Flughafenausbau ,"Der Flughafen soll ausgebaut werden."
Gymnasium, Das Alfred E. Neumann Gymnasium soll geschlossen werden.
Radweg,Der Bau des Radwegs in den Märchenwald ist wichtiger als die Sanierung der Altstadt-Sackgasse.    
"Schulden" , Die Stadt soll keine neuen Schulden mehr aufnehmen.

... und in der Tabellenkalkulation (Excel, Calc, ...)

Flughafenausbau Der Flughafen soll ausgebaut werden.
Gymnasium Das Alfred E. Neumann Gymnasium soll geschlossen werden.
Radweg Der Bau des Radwegs in den Märchenwald ist wichtiger als die Sanierung der Altstadt-Sackgasse.
Schulden Die Stadt soll keine neuen Schulden mehr aufnehmen.

Details und Beispiel

Notation

Alle Texte (also alle Werte außer den Zahlen) müssen mit Anführungszeichen umschlossen werden. Listen müssen außerdem voneinander mit einem Komma getrennt werden. z.B.: "Partei1, Vorname2 Name2, Kandidat3".
Achten Sie bitte auch darauf, immer die gleiche Reihenfolge einzuhalten.

Bei den Dateinamen sollte man keine Leerzeichen und Sonderzeichen wie Umlaute oder ß verwenden und man muss außerdem auf Groß- und Kleinschreibung achten! Eine "datei.txt" ist keine "Datei.txt".

Einstellungen am Beispiel Obsthausen

Mat-O-Wahl öffnen - Definition.js öffnen

Allgemeine Einstellungen

Variable Wert Beschreibung
fileQuestions Fragen.csv Die Datei mit den Fragen an die Parteien. In diesem Fall gibt es sechs Fragen. Die erste Spalte der CSV-Datei enthält eine Kurzzusammenfassung der Frage, die zweite Spalte enthält die eigentliche Frage.
arPartyFiles Apfelpartei.csv Bananenpartei.csv Citronenpartei.csv Neutrale.csv Eine Liste mit Dateien der Parteipositionen.
In diesem Fall gibt es vier Parteien, die zu jeder der sechs Fragen geantwortet haben. Die erste Spalte der CSV-Datei enthält die Position der Partei in Form einer Zahl. -1 steht für "stimme nicht zu", 0 für "Enthaltung" und 1 für "stimme zu". Die zweite Spalte enthält eine ausformulierte Begründung der Position.
arPartyNamesShort, arPartyNamesLong, arPartyLogosImg, intPartyLogosImgWidth, intPartyLogosImgHeight, arPartyInternet ... Listen mit den Parteinamen in kurzer und langer Form, eine Liste mit Bildern zu den Parteilogos und eine Liste mit Links zu den Parteiseiten im Internet. Außerdem kann man die Bildgröße für die Ergebnisliste angeben.
intPartyDefaultShow 3

Diese Variable wird ab Version 0.3 (11/2018) nicht mehr benötigt.

Anzahl der Parteien, die beim Einblenden der detaillierten Ergebnisliste sofort angezeigt werden sollen. Im Beispiel werden die ersten drei von den vier vorhanden Parteien angezeigt. Um alle Parteien anzeigen zu lassen, gibt man eine 0 ein.
heading1, heading2, explainingText ... Texte mit Überschriften und einer kurzen Erklärung zur Wahl.
imprintEditorialNames, imprintEditorialEmail ... (optional) Texte mit Namen und E-Mailadresse der Redaktion für das Impressum.
imprintTechnicsNames, imprintTechnicsEmail ... (optional) Texte mit Namen und E-Mailadresse der technischen Leitung für das Impressum.
imprintPictures ... (optional) Besitzer der Bildrechte an Kandidatenfotos oder Parteilogos für das Impressum.
imprintPrivacyUrl ... (optional) Link zu einer Datenschutzerklärung für das Impressum.

Wenn Sie eine Einstellung frei lassen wollen, löschen Sie bitte nicht die ganze Zeile, sondern nur den Inhalt. Ein Wert ohne Datenschutzerklärung sieht z.B. so aus: var imprintPrivacyUrl = "";

Erweiterte Einstellungen

Variable Wert Beschreibung
separator ";" oder "," Das Trennzeichen mit welchem die CSV-Dateien voneinander getrennt sind. Microsoft Excel speichert zumeist mit Semikolon und OpenOffice Calc mit Komma ab. Alle CSV-Dateien müssen das gleiche Trennzeichen benutzen.
design ... Eine StyleSheet-Datei (CSS) mit Formatvorlagen

Profi-Einstellungen

Variable Wert Beschreibung
statsRecord true oder 1, false oder 0 (optional - für Experten) Bietet die Möglichkeit die Ergebnisse des Nutzers an einen Server zu senden. Dafür muss jedoch eine Datenschutzerklärung vorhanden sein und der Nutzer muss der Übermittlung seiner Daten aktiv zustimmen ("OptIn-Verfahren").
statsServer http://localhost/Test/vote.php (optional - für Experten) Die Adresse und der Name des Skripts, welche die Daten empfängt. Es werden zwei Variablen übertragen - mowpersonal und mowparties.
"mowpersonal" enthält die persönliche Auswahl des Nutzers in der Form Zustimmung/Ablehnung/Enthaltung/Übersprungen. Also z.B.: 1,-1,0,99
"mowparties" enthält die Anzahl der Übereinstimmungen mit den Parteien in der angegebenen Reihenfolge, z.B. 5,1,0,2
Ein Aufruf für 6 Fragen und 4 Parteien könnte dann also so aussehen: /vote.php?mowpersonal=1,1,-1,1,0,-1&mowparties=1.5,2,4,3.5

Testen der Einstellungen

Im Stammverzeichnis befindet sich eine QUICKTEST.HTML-Datei. Diese prüft die wichtigsten Einstellungen und sagt Ihnen, ob es einen schwerwiegenden Fehler in der Konfiguration gibt.

Der Mat-O-Wahl funktioniert (theoretisch) nicht beim Starten von lokaler Festplatte aus. Dies liegt am Sicherheits-Konzept aller modernen Browser. Diese verbieten das Ausführen von lokalen Dateien.
"Lokal" bedeutet die interne Festplatte oder SSD, die externe USB-Festplatte oder auch ein USB-Stick. Der Browser öffnet diese Dateien intern mit dem "file://"-Protokoll.

Der Mat-O-Wahl läuft aber:

  • auf einem internen Webserver, wie Apache, nginx oder mit einem einfachen localhost-Aufruf, z.B. in Java oder python (http(s)://-Protokoll)
  • auf einem externen Webserver / Webspace Ihrer Wahl (http(s)://-Protokoll)
  • auf der lokalen Festplatte mit Google Chrome / Chromium mit dem Startparameter --allow-file-access-from-files
  • auf der lokalen Festplatte mit Mozilla Firefox mit der Einstellungen (Adresszeile about:config) browser.tabs.remote.separateFileUriProcess = true

Beschreibung / Version Free Premium
Funktionen gemäß Beschreibung (Abfrage, Ergebnisanzeige, Administration mittels CSV-Dateien, …) Ja
1-n Installationen erlaubt Ja
Eigene Anpassungen erlaubt Ja
Veröffentlichung erlaubt Ja
Geeignet für Privatpersonen, Vereine, Geschäftspersonen / Firmen, Universitäten / Hochschulen, Forschungseinrichtungen, sonstige
Lizenz GPL - GNU General Public License Version 3 (Kurzfassung)
E-Mail-Support o Nach Feierabend, Familie und Freunden: ja Ja
Remote Desktop Support x Nein Ja, nach Vereinbarung
Persönlicher Support vor Ort o Zu einem Feierabendbier im Raum Leipzig möglich Ja, nach Vereinbarung
Preis 0,00 €/$ (frei / kostenlos) Tagessatz nach Vereinbarung (zzgl. Reisekosten). Keine Ausweisung der MwSt. möglich.
Für Anwender Download Mat-O-Wahl (ZIP)
Für Anwender und Entwickler PDF-Anleitung
Für Entwickler Quelltext auf GitHub

mathias . steudtner (a) gmx . net

www.medienvilla.com, Leipzig