Die Open-Data-Schatzkiste wurde geöffnet

Daten sind wertvoll

Daten sind das neue Gold. Das lässt sich durch den Datenhunger von Google, Facebook und der gesamten Werbe-Branche bestätigen. Nützliche, aus den Daten gewonnen Informationen sind Wissen und Wissen ist bekanntlich Macht.

Daten haben sich bereits in extremer Menge angehäuft und das Wachstum ist weiterhin exponential. Leider sind zu viele Informationen, welche für die Öffentlichkeit interessant sein könnten, aber unzugänglich. Das gilt vor allem auch für Daten von Behörden mit einem öffentlichen Interesse, beispielsweise von statistischen oder geographischen Ämtern. Für diese Daten hat der Steuerzahler bereits bezahlt und er hat ein Recht darauf diese zu nutzen. Oft sind diese Daten leider nur über Hürden und Umwege erhältlich. Entweder liegen sie in staubigen Aktenverzeichnisse oder sie sind als Download in einem nicht weiter verarbeitbarem Datenformat abrufbar oder die Nutzung ist gesetzlich nicht erlaubt. Open Data soll das ändern.

Open Data

Bei Open Data geht es darum Daten, welche vorher nicht zugänglich waren, sei es wegen der Form, dem fehlenden Zugang zu diesen Daten oder eines rechtlichen Verbotes, öffentlich zu machen. Ein Ordner mit statistischen Daten in einem Aktenschrank ist für die Öffentlichkeit unbrauchbar. Erst wenn die statistische Daten als Download bereitgestellt werden, kann Jedermann davon profitieren. Noch besser ist es, wenn ein Datenformat gewählt wird, der die Weiterverarbeitung erlaubt.

“Open data is data that can be freely used, shared and built-on by anyone, anywhere, for any purpose.”

Quelle: Laura James, CEO Open Knowledge Foundation, 3.10.2013

Vorteile der offenen Daten

Open Data schafft:

  • Transparenz
  • Innovation
  • Kosteneinsparungen
Quelle: Die Vorteile aus dem schweizerischen Open Data Manifest

Durch die erhöhte Transparenz kommt man eher zu neuen Erkenntnissen und Fehler werden schneller aufgedeckt. Die gewonnen Erkenntnisse schaffen Platz für Innovation und zum Teil massiven Kosteneinsparungen, wie ein Beispiel aus England zeigt.

“This is an exceptional example of Open Data being transformed into knowledge for everyone. It gives patients and GPs the tools they need to help realise big savings for the NHS – which is ultimately value for everyone.”

Quelle: Millions of Pounds in Prescription Savings Identified in Open Data by Innovative Startups

Grosse Datenmengen sind wie Goldminen mit versteckten Schätzen, die gefunden werden wollen. Mit den Daten lassen sich Visualisierungen erstellen, welche die Aussagekraft und Verständlichkeit der Daten erhöht (siehe Many Eyes von IBM oder die Visualisierung des Berner Budgets).

Wann sind Daten “offen”?

Daten gelten als offen wenn sie die Voraussetzungen der Definition des offenen Wissen erfüllen. Die Voraussetzungen bestehen aus elf Punkten welche den Zugang, die Nutzung und Integrität von Open Data beschreiben.

Open Data flower diagram

Bildquelle: Dr. Hans Rosling nutze dieses Bild in seinem TED Talk, und Tim Berners-Lee in seinen Slides

Daten ausgraben

Die technischen Vorraussetzungen (Punkt 4) von Open Data verlangen, dass Daten in einem offenen (im Gegensatz zu herstellerabhängigen / proprietären) Format als Download veröffentlicht werden. Beispiele für offene Datenformate sind JSON, XML und CSV. Bei CSV handelt es sich streng genommen nicht um einen Standard. Dies erklärt weshalb häufig unterschiedliche Trennzeichen für CSV-Attribute verwendet werden. Den Parsern zur Liebe sollte man sich auf Kommas einigen, schliesslich steht CSV für “Comma-Separated Values”.

Open-Data-Formate lassen sich mit einem Text-Editor öffnen und lesen. Word-Dokumente, Excel-Spreadsheets und PDFs sind ungeeignete Formate, da sie nicht wirklich offene Standards sind oder mit einem Texteditor öffnen lassen.

Tabellarische Daten auf seiner Website sollten auch als JSON, XML oder CSV (oder alle) verfügbar sein. Die Weiterverwendung der Daten sollte einfach gemacht werden.

Open Data können hürdenfrei, also ohne Authentifizierung, geographischer oder zeitlicher Einschränkung heruntergeladen werden.

Die Schweizerische Schatzkammer

Der Tagesanzeiger berichtete am 3. September 2013 über die Lancierung des Open-Data-Internetportals vom Bund. Endlich hat auch die Schweiz ein solches Datenportal. Staaten wie USA, Grossbritannien und Kenia praktizieren schon länger Open Data und habe bereits Datenportale. Bei den offenen Daten vom Staat, spricht man auch von Open Government Data (OGD). Mit diesen Daten lässt sich vieles machen, besonders in Kombination untereinander oder mit anderen Datenquellen.

Prominente Unterstützung

Die Open-Data-Bewegung kann auf prominente Unterstützung zählen. Sir Tim Berners Lee, der Erfinder des World Wide Webs beschreibt in seinem Artikel “Linked Data” und “Linked Open Data” und stellt eine Bewertungs-Schema für die Offenheit von Daten vor. Daten im Web sollen auch verlinkt werden können, genau wie Dokumente mit Hyperlinks verknüpft sind. Die notwendigen Schritte zu Open Data und Linked Open Data können von der 5-Sterne-Bewertung entnommen werden.

“This is for everyone #london2012 #oneweb #openingceremony @webfoundation @w3c”

Quelle: Tim Berners-Lee, Olympiade 2012 in London
5 star Linked Open Data on mug
Bildquelle

Fazit

Open Data lohnt sich. Für alle.

“You can give your data away now – and generate revenue and jobs, and even save money from the better information and decisions that will flow.”

Quelle: Neelie Kroes, Vize-Präsidentin der europäischen Kommission verantwortlich für die digitale Agenda, 12.12.2011

Diesen Monat und im November finden die von Open Data Zürich und OpenData.ch organisierten Open Data Zürich Hacknights 2013 statt. Als Open Data Enthusiast freue ich mich schon darauf.

Weblinks

jQuery Europe 2013, Tag 2

jquery-europe

Am 20 bis 22. Februar fand der europäische Ableger der jQuery Conference statt. Dieser Post besteht aus einer Zusammenfassung von Tag 2 der Konferenz. Die Zusammenfassung von Tag 1 wurde letzte Woche veröffentlicht. jQuery Mobile and Responsive Web Design – … Weiterlesen

One-Page-App mit viel Javascript

Die Performance im Frontend (View) ist wichtig. Bei einer Reaktionszeit von einer Sekunde hat der User noch das Gefühl, die Website reagiere unmittelbar. Die Aufmerksamkeit des Users sinkt mit der Sekunde, die dazu kommt.

Wie man die Performance bei AJAX-lastigen Website verbessern kann, zeige ich hier am Beispiel auf:

One-Page-App Beispiel

Beim Medela Locationfinder handelt es sich um eine one-page-app. One- oder Single-page-apps sind Webanwendungen, welche ohne Page Reloads (Seitenwechsel) auskommen und deren Anzeige nur mittels Javascript und DOM-Eingriffen verändert wird.

1594-single-page-app-locationfinder-thumb-500x214-1593.pngDie GUI des Locationfinders besteht aus drei Bereichen. Die Sucheingabe erfolgt über ein Formular mit Suchfeld und Filter (1.). Das Suchresultat wird als Google Map (3.) und einer Liste präsentiert (2.).

Keine Page Reloads

One-Page-Apps sind effizient, da Page Reloads durch asynchrone Sub-Requests (AJAX) ersetzt werden. Im Idealfall merkt der User gar nichts von den AJAX Abfragen zwischen View und Controller. Bei solchen Abfragen kann es jedoch schnell zu Performance Engpässen kommen, was vor allem bei älteren Browsern (z.B. IE6) zu Problemen führen kann.
Die Kommunikation kann optimiert werden, in dem das richtige Datenformat gewählt und die Menge der Daten reduziert wird. Bei AJAX Requests ist JSON das bevorzugte Format. JSON hat zwei Vorteile gegenüber XML:

  1. Es ist schlanker und
  2. lässt sich von Javascript schneller verarbeiten.

Rails kann zaubern

Ruby On Rails stellt Methoden für die Umwandlung von Model in JSON (to_json) und XML (to_xml) zur Verfügung. Dies funktioniert auch bei Assoziationen oder ganzen Objektgraphen.

Loading development environment (Rails 2.3.4)
>> l = Location.last
=> #<Location id: 1, name: "Apotheke im...

Vergleicht man die Menge der Daten bei der Ausgabe von JSON mit XML, so kann man den Unterschied erkennen. Nur 45% macht JSON von XML aus!

>> l.to_xml().size
=> 1814
>> l.to_json().size
=> 843

Der Vergleich bei 500 Suchtreffern (5 Suchen à 100 Treffern):
XML: 885.74 KB (1814 * 500 / 1024)
JSON: 411.62 KB (843 * 500 / 1024)

JSON reduziert den Datenverkehr um fast ein halbes MB und das bei nur fünf Suchen!

Die Zauberformel

Die Serialisierung des Models im Controller nach dem Builder Pattern ist mit Ruby On Rails einfach und schnell realisiert. Neben to_xml und to_json gibt es Umwandlungs-Methoden wie to_yaml, to_atom, to_feed, to_rss u.v.m, für die teilweise auch ein Plugin notwendig ist.

Fazit

Die View wird durch JSON im Zusammenhang mit AJAX schneller. Diesen Performance-Boost spürt der User direkt und steigert die Qualität der Software. Als Entwickler hat man mehr Spass an der Arbeit und kommt mit wenig Aufwand zu besseren Resultaten.

Write less, code more.

Ruby On Rails in 1.5 Tagen

In den letzten zwei Wochen haben wir uns intern ein paar Tage Zeit genommen, Ruby On Rails zu lernen. Christian, Daniel und Jean-Pierre haben ja schon Erfahrung und teilen sie auch.

Das Ziel: Eine Fotogalerie
Keine Präsentationsfolien, keine Kursunterlagen dafür zwei optimistische Ruby On Rails Gurus als Kursleiter mit dem Ziel eine Online Fotogalerie zu bauen.

1582-ruby-thumb-500x228-1581.jpg

Nach einer kurzen Einführung über die Basics zu Ruby On Rails wurden die Anforderungen der Fotogalerie definiert und unter den sechs Kursteilnehmern, bestehend aus Frontend und Software Engineeren verteilt. Zu den Eigenschaften der App gehören Social-Tagging, Thumbnail-Generierung, Multi-Image-Upload, Kommentarfunktion, die Ausgabe der EXIF-Daten, Paging und Suche.

Zeit für CSS und Unit Tests
Letztendlich kamen wir so gut voran, dass noch Zeit für Darstellungsoptimierungen mit CSS und Unit Testing übrig blieb. Ruby On Rails generiert einen grossen Teil der Tests selbst, sodass nur noch kleinere Anpassungen gemacht werden müssen.

Schnelle Resultate
Ruby On Rails spart Zeit und ermöglicht schnelle Resultate. Der Entwickler bleibt motiviert und hat Spass an seiner Arbeit.

1577-photos_namics_ror_kurs-thumb-500x289-1576.png

Vielen Dank an Christian Felder und Daniel Schlegel für diesen spannenden und äusserst produktiven Kurs.