Smartvote ist eine Online-Wahlhilfe bei der anhand eines Fragebogens, zu verschiedenen politischen Themen, die Wählerinnen und Wähler ihre Position mit derjenigen von Kandidierenden und/oder Parteien vergleichen können.
Erste Herangehensweise
Nach einer ersten Einführung unserer Data Coaches in die Datengrundlage machten wir uns Gedanken zu möglichen Visualisierungen und interessanten Vergleichen. Nach erster Webrecherche wurde ein Vergleich von Parteien bzw. aggregierten Parteien-Antworten angestrebt. Dazu mussten wir uns Gedanken machen welche Informationen, für generelle Aussagen, relevant sind.
Die von den Data Coaches zur Verfügung gestellten Daten haben eine Vielzahl an Attributen. Diese musste gesichtet werden und eine Auswahl, der für die Visualisierung relevanten Attribute, musste getroffen werden. Die Visualisierung wurde mittels eines Snippets von Mike Bostock programmiert. Das Vorgehen hierzu wird unterhalb der Visualisierung beschrieben.
Die Daten von smartvote erhielten wir im gut strukturierten JSON-Format. Diese waren über Schnittstellen abrufbar und beinhalten verschiedene Informationen zu:
Datei | Download |
---|---|
Kandidierende | JSON File |
Fragen | JSON File |
Kategorien | JSON File |
Die Visualisierung stellt die Antworten der Parteien gesamthaft dar. Dank der Sortiermöglichkeiten und Filtermöglichkeiten kann man gezielte Fragen beantworten. Dennoch sehen wir einige Möglichkeiten die Applikation weiterzuentwickeln.
Interaktive Funktionen
Eine Weiterentwicklung der Applikation wäre eine Interaktive Funktion, die es bspw. erlaubt zu Raten welche Partei, wie geantwortet hat und dies dann mit der eigenen Schätzung zu vergleichen. Auch würde es interessant sein, so die eigenen Antworten auf die Fragen mit allen Parteien zu vergleichen.
Weitere Filtermöglichkeiten
Im Datensatz von smartvote sind viele Datenattribute zur Person aufgeführt. Nur wenige Kandidierende haben dabei all diese ausgefüllt. Es wäre bei grösserer Vollständigkeit der Daten jedoch spannend zu Vergleichen, ob diejenigen Personen welche bspw. Social Media Kanäle angegeben haben, anders antworten, als die ohne Angaben.
Einbinden weiterer Wahlen
Die Daten von smartvote sind sehr gut strukturiert. Es war immer Ziel die Visualisierung mit den Attributen der im JSON-Format vorhandenen Daten zu programmieren und eine dynamische Datentransformation zu ermöglichen. So kann man weitere Wahlen und Kandidierende der Visualisierung hinzufügen.
Vergleich mit Listen
Ein interessanter Ansatz wäre eine Gegenüberstellung der Antworten von Listen und Parteien. Die Gruppierung müsste dafür nicht nur nach Parteien erfolgen, sondern auch nach Listen. Dazu müsste die Listen-Schnittstelle neu hinzugefügt werden.
Zu Beginn anderer Themenbereich
Zu Beginn der Veranstaltung wählten wir einen anderen Themenbereich aus. Auf Grund weniger Kapazitäten des Data Coaches mussten wir uns neue Daten suchen. Dies führte zu einem grösseren Zeitverlust, da wir erst spät von diesem Kapazitätenengpass erfuhren. Diesen Zeitverlust mussten wir aufholen.
Wir wählten in einer zweiten Auswahl die Daten von smartvote. Die Datacoaches von smartvote konnten glücklicherweise sehr bald ein Gespräch mit uns führen und uns ihre Daten vorstellen.
Visualisierungsart sankey
Wir wählten zuerst eine andere Visualisierungsart. Die des sankey-Diagrammes. Diese Visualisierung eignete sich, gemäss Feedback von Matthias Stürmer, nicht zur Visualisierung der Antworten. Aus diesem Grund haben wir uns nach der Zwischenpräsentation für eine Visualisierung mittels Bar Chart entschieden.
Programmierung
Da wir beide wenig Erfahrung mit HTML, CSS, JS, Bootstrap und den d3js-Bibliotheken hatten, war es eine Herausforderung in dieser kurzen Zeit, die Daten dem Code Snippet zuzuordnen und weitere Funktionalitäten zu programmieren.
Einbinden der Visualisierung mittels iframe
Da das Code Snippet mitsamt den Fragenkategorien eine gewisse Höhe in Pixeln einnimmt, konnte nicht mit dem iframe gearbeitet werden. Das einbinden in ein HTML-File stellte einige Schwierigkeiten dar, welche wir offensichtich gut gelöst haben.
Dynamische Transformationen der Daten
Die Zuordnung der Daten zu dem Code Snippet haben wir damit begonnen jede einzelne Frage dem Snippet zuzuordnen. Bis die dynamische Datentransformation der Daten funktionierte, mussten wir viel Zeit investieren und viel herumtüfteln.
Name | Studiengang | Nebenfach/Vertiefung |
---|---|---|
Pfenninger Matthieu | Bachelor Betriebswirtschaftslehre | Informatik |
Andermatt Sandro | Master Betriebswirtschaftslehre | Wirtschaftsinformatik |
Website Stadtrat Bern
Stadtrat Bern
Wahlresultate Stadtrat Bern 2016
Wahlresultate
Smartvote Stadtratwahlen 2016
Smartvote Fragebogen
Impressum
Open Data Applikation 2017 von Matthieu Pfenninger und Sandro Andermatt
Data Coaches von smartvote Micheal Erne und Daniel Schwarz