Piwik Mobile nun im Mayflower Open Source Lab

Avatar von Thomas Steur

Was ist Piwik?
Piwik ist eine Open Source Alternative zu Google Analytics. Piwik lässt sich auf einem eigenen Server installieren und basiert vor allem auf PHP und MySQL.

http://piwik.org

Was ist Piwik Mobile?
Piwik Mobile ist eine native Anwendung für Android und iOS Geräte. Damit können die mit Piwik gesammelten Statistiken von überall und jederzeit aus abgerufen werden. Die Vision von Piwik Mobile ist es, die auf Desktop optimierte Browser-Variante von Piwik möglichst abzulösen. Nicht nur die gewohnten Funktionen sollen vorhanden sein, sondern auch ein ähnliches Look & Feel.
http://piwik.org/mobile

Was ist das Mayflower Open Souce Lab (OSL)?
Mayflower steht zu Open Source und fördert dies über verschiedene Wege. Das OSL bietet einen Pool für Open Source Projekte an denen Mitarbeiter von Mayflower arbeiten. Von der Firma zur Verfügung gestellt wird, falls benötigt, eine Integrationsumgebung, Wiki, Issue Tracker und mehr. Sogar das Arbeiten an den Projekten während der Arbeitszeit ist erlaubt, aber auch zeitlich begrenzt. Das OSL dient u.a. der Weiterbildung und der Entwicklungsförderung von innovativer Software.

Wie kam es dazu?
Die Idee zu Piwik Mobile entstand auf dem Mayflower Barcamp im Mai 2010. Dort können alle Mitarbeiter an Open Source Projekten ihrer Wahl arbeiten. Ein Kollege und ich hatten uns damals für eine Mobile App entschieden, da wir uns schon länger für Mobile Apps interessierten. Piwik setzen wir bei Mayflower selbst, wie auch in diversen Projekten ein. Einige Kollegen haben ebenfalls privat eine Piwik-Installation im Einsatz. Schnell war daher die Idee geboren, die Statistiken von unterwegs abrufen zu wollen. In 5 Manntagen hatten wir auf dem Barcamp einen voll funktionierenden Prototypen erstellt, welcher es ermöglichte, Statistiken abzurufen und dazu passende Graphen anzuzeigen. Den Prototypen hatten wir mit dem Titanium Mobile SDK erstellt.

Titanium ist ein Cross-Compiler welcher die Möglichkeit bietet, native Anwendungen für Android und iOS mit JavaScript zu erstellen. Die mit Titanium erstellten Anwendungen werden nicht nur schneller ausgeführt wie Web-Anwendungen, es stehen auch mehr Hardware-Funktionalitäten und native UI-Widgets zur Verfügung. Dazu generiert Titanium Java (Android) respektive Objective-C (iOS) Code. Dies waren die Gründe, warum wir Titanium auf dem Barcamp ausprobieren wollten.

Abgerufen werden die Statistiken über eine REST Schnittstelle die Piwik bereits mit sich brachte. Wie praktisch!


Screenshots des auf dem Barcamp entstandenen Prototypen

Wie ging es weiter?
Wir hatten Blut geleckt an diesem Projekt, wollten unbedingt daran weiter arbeiten und aus dem Prototyp möglichst schnell eine offizielle Piwik App machen. So können wir der Community am meisten zurück geben und erreichen die meisten User. Eine kommerzielle Version kam für uns nicht in Frage. Also nahmen wir mit dem Piwik Team Kontakt auf. Es stellte sich heraus, dass das Piwik Team zum gleichen Zeitpunkt sowieso eine Mobile App erstellen wollte und freute sich über unser Angebot. Von da an startete die Zusammenarbeit. Mayflower stellte uns zudem 10 weitere Manntage zur Verfügung, um an dem Projekt weiter zu arbeiten.

Nach der Definition der bereits genannten Vision, haben wir uns zusammen mit unserer Grafikerin Gedanken über das Layout und Design gemacht. Zum Vergleich haben wir die Anwendung auch noch als Web-Anwendung programmiert, uns letztlich aber für Titanium entschieden. Web-Anwendungen waren zu diesem Zeitpunkt noch zu langsam und Frameworks wie jQuery Mobile zudem noch im Funktionsumfang reduziert. Zudem hatten wir mit einem höheren Test-Aufwand gerechnet.

Seit dem ist nun etwas über ein Jahr vergangen. Wir haben währenddessen in unserer Freizeit intensiv daran weiter gearbeitet. Das Projekt enthält inzwischen 5060 Zeilen JavaScript Code, 4215 Zeilen Kommentare, 200 Commits, rund 1000 Änderungen und 24.000 Zeilen Änderungen. Wobei die reine Programmierung nur einen kleinen Teil des Gesamtprojektes ausmacht. Es kamen nicht nur viele neue Funktionalitäten hinzu. Auch das UI und die Usability haben sich stetig verbessert. Genauso hat sich auch unser Wissen in diesem Bereich weiter entwickelt. Inzwischen haben wir die App daher auf eine komplett neue Code-Basis gestellt. Um uns in das Thema einzuarbeiten, haben wir Bücher über die Themen "Mobile", "Mobile UI" und "Mobile Anwendungsentwicklung" verschlungen, sowie Konferenzen besucht. Das Resultat sind neben der App mehrere Vorträge (zum Beispiel Mobile Anwendungsentwicklung und Android/iPhone Apps mit Titanium), Fachartikel und ein Webinar.


Screenshots der aktuellen Piwik Mobile Version

Wieso Open Source?
Wir selbst sind seit jeher Freunde von Open Source und setzen Privat wie auch beruflich fast ausschließlich auf Open Source Produkte. Immer wieder haben wir uns dabei gefragt, was Leute dazu bewegt an Open Source Projekten zu arbeiten. Doch das wurde uns schnell klar:

  • Die Zusammenarbeit mit einem tollen Team und der Community
  • Das viele Feedback aus der Community
  • Die Möglichkeit an Themen zu arbeiten, die uns Privat interessieren und sonst im üblichen Arbeitstag nicht vorkommen
  • Wir schauten über den Tellerrand indem wir nicht nur programmierten, sondern auch das Produkt an sich entwickelten
  • Einsatz von weiteren Sprachen (Englisch)
  • Die freie Zeiteinteilung

Im Nachhinein war es die beste Entscheidung, das Projekt als offizielle App zu realisieren. Wir arbeiten nun in einem großen, internationalen Team. Funktionalitäten können wir optimal mit der auf Desktop optimierten Browser-Version abstimmen, um dem User ein bestmögliches Erlebnis zu bieten. Aktuell wird zum Beispiel das Rendern von Graphen direkt auf der Piwik Server Version implementiert und APIs werden speziell für den mobilen Client aufpoliert. Wenn sich die API verändert, können wir ebenfalls frühzeitig darauf reagieren.

Piwik wie auch Piwik Mobile stehen unter der GPLv3 Lizenz. Für technisch interessierte sind der Source Code, die Developer Seiten, Code Dokumentation und Tickets einsehbar. Aktuell wird die App bereits von mehr als 10% der Piwik User verwendet. Hier wollen wir noch weiter zulegen. Verfügbar ist die App in 40 Sprachen über den Android Market und Apple App Store.

Was wird sich durch das OSL ändern?
Direkt ändern wird sich nichts. Es steht uns dadurch aber noch mehr Zeit zur Verfügung, die wir in das Projekt investieren können. Geplant sind unter anderem:

  • Native BlackBerry Anwendung
  • Eine speziell angepasste iPad Version
  • Eine mobile Web-Anwendung für Geräte wie Windows Mobile
  • Mehr Developer Dokumentation
  • Die Anpassung von neuen Piwik Server Funktionen an die Mobile App
  • Nightly Builds
  • Automatisierte UI Tests

Vielen Dank an Mayflower für die Unterstützung.

Avatar von Thomas Steur

Kommentare

Eine Antwort zu „Piwik Mobile nun im Mayflower Open Source Lab“

  1. Ich hab etwa zeitgleich eine Web-App entwickelt. Dann kam irgendwann Piwik Mobile raus und ich hab die Entwicklung eingestellt. In diesem Jahr habe ich diese Entscheidung bereut: Die offizielle App kann in meinen Aufen zu viel und damit nichts richtig. Also hab ich die Entwicklung vor drei Monaten wieder aufgenommen: http://www.wendtswelt.de/2011/03/piwik-iphone-reloaded/

    Mittlerweile bietet mir die Marke Eigenbau fast alles, was ich unterwegs brauche. Über Feedback würde ich mich auf jeden Fall freuen!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert


Für das Handling unseres Newsletters nutzen wir den Dienst HubSpot. Mehr Informationen, insbesondere auch zu Deinem Widerrufsrecht, kannst Du jederzeit unserer Datenschutzerklärung entnehmen.