oliverlorenz.com

[feed] [twitter] [xing] [linkedin] [github]

Dieser Blog ist nicht kaputt.

2016-01-02

Hamburg Bots - Teil 2

Es ist etwas ruhiger um die Bots geworden. Aber nur nach außen. Denn ich habe fast jeden Tag an dem Projekt gearbeitet, um das Projekt voran zu bringen und den Service näher Richtung Vervollständigung zu treiben.

Aktueller Stand

Zuerst die wichtigste Nachricht: Neben den U- und S-Bahnen habe nun auch Bots für alle Regionalbahnen im Bereich Hamburg angelegt, was verdammt viel Arbeit war. Euch stehen jetzt also 19 weitere Bots zur Verfügung, die ihr nach euren Bedürfnissen abonnieren könnt. Die vollständige Liste könnt ihr hier einsehen.

Liste aller Bots

Technisch ist hinter den Kulissen ebenfalls eine Menge passiert. Während die erste Version noch auf meinem kleinen Raspberry-Pi-Cluster lief, bin ich mittlerweile in die Cloud umgezogen, um die Ausfallsicherheit etwas zu erhöhen und die nötige Leistung für Node-Red bereitstellen zu können. Ich habe dabei auf IBM Bluemix Cloud gesetzt, da IBM an der Entwicklung von Node-Red aktiv beteiligt ist und One-Click-Installationen anbietet, was mir auch etwas Last von den Schultern nimmt. Außerdem läuft die Instanz zumindest in Europa.

Neben der Infrastruktur ist nicht nur die Anzahl der Bots gewachsen. Auch die Komplexität und der Aufwand hinter den Anforderungen steigen hinter jedem neuen Bot. Dazu gehört:

Komplexer sind auch die Anforderungen und die neu geplanten Features geworden. Euch möchte ich natürlich nur relevante Informationen über die Bots ausleiten. Deswegen habe ich das Kontext-Erkennungs-System hinter den Bots auf die nächste Ebene gehoben. Das hat aktuell noch nicht den starken Output zu euch da draußen, versetzt mich aber in die Lage demnächst mehr Informationen aus meinen Quellen herauszuholen und Relationen erkennen zu können. Ziel ist es, noch feingranularer zu werden. Das heißt noch mehr Möglichkeiten für euch, explizit Informationen zu abonnieren, die euch interessieren.

Änderung der Namen

Ich habe während des Erstellens der Neuen Bots das Namensschma der Bots umgestellt. Die Accountnamen beginnen nun alle mit bot_hh* was die Möglichkeiten der Ausweitung von Microserviced-Daten etwas allgemeiner hält und die Bots namentlich besser gruppiert.

Twitter - Motor und Bremse zugleich

Vor allem Twitter hat den ganzen Prozess extrem verlangsamt. Nach einer gewissen Anzahl von angelegten Accounts fordert Twitter eine Telefonnummer zur Verifizierung an. Etwas intransparent ist aber der Mechanismus dahinter. Oft kommen die Verifizierungs-SMS nicht an, oder man wird einfach gesperrt, weil man zu viele ungültige Versuche gebraucht hat, seine Nummer zu verifizieren. Außerdem scheint es eine maximale Anzahl von Accounts zu geben, die einer Telefonnummer zugeordnet werden kann.

Ich habe, bedingt durch die frustgetränkten Zwangspausen versucht mehr über diesen Mechanismus und seinen Regeln herauszufinden. Leider erfolglos. Wenn jemand dazu nähere Informationen hat, wäre ich sehr dankbar, wenn er/sie sich in den Kommentaren dazu melden würde.

Was kommen könnte

Das Thema liegt mir trotz der genannten Schwierigkeiten am Herzen. Die erste Welle der Feature-Wünsche konnte ich mit dem Einführen der Regionalbahnen hoffentlich abarbeiten.

Mein Ziel ist es natürlich auch noch die Hamburger Buslinien abzubilden. Das sind aber wohl weit über hundert. Vom Zeitplan her möchte ich dazu aber noch keine Aussage machen. Vermutlich wird das auch nicht nur ein Rollout.

Auch nicht zu vernachlässigen ist der Faktor, dass ich mir immer wieder neue SIM-Karten zulegen muss, um die intransparenten Twitter-Sperren zu umgehen. Das geht nach und nach auch ins Geld ;)

Zwischen-Fazit und Feedback

Ich bin immer noch überrascht, dass den Bots trotz fehlender Werbung immer noch jeden Tag neue Leute folgen. Es motiviert mich natürlich unglaublich, euch mit meinem kleinen Serivce wirklich einen Mehrwert zu bieten und ich würde mich freuen, wenn ihr die Bots weiter verbreitet. Redet mit euren Freunden darüber, wenn die Bahn mal wieder zu spät kommt.

Zum Schluss möchte ich natürlich noch fragen, welche Features ihr euch als nächstes wünscht. Buslinien? Andere Öffentliche Verkehrsmittel? Interessieren euch Informationen zu einzelnen Haltestellen? Ist Twitter die richtige Platform? Was nervt euch und was findet ihr gut?

Weitere Beiträge zu den Hamburg-Bots

HVV-Tweets Microserviced

Über Silvester konnte ich einem Projekt nachkommen, welches schon ewig in meiner Schublade lag. Die Code4Germany-Jungs haben mal zu mir gesagt, dass man sich bei Projekten vor allem über Dinge Gedanken machen soll, die einen echten Mehrwert für “normale” Menschen bieten. Und ich glaube, ich bin genau über so einen Fall gestolpert.

Motivation

Ich habe die HVV (Den Hamburger Nahverkehr) auf Twitter abonniert um immer über evtl. Zwischenfälle auf meinen üblichen Strecken infomiert zu sein. Twittert die HVV über irgendetwas, bekomme ich aktiv eine Popup-Meldung auf meinem Handy zu sehen. Ich bin sehr dankbar über diesen Service, aber eine Sache störte mich doch.

Wie viele Leute die morgens und abends zur Arbeit und zurück kommen wollen, interessieren mich nur wenige Linien. Leider kann man dem offiziellen Twitter-Client nicht beibringen, nur auf bestimmte Schlüsselworte zu reagieren. So werde ich bei der Arbeit immer wieder von Meldungen aus meiner Arbeit gerissen, die völlig irrelevant für mich sind.

Trotzdem sind die für mich relevanten Meldungen Gold wert, wenn es darauf ankommt. Die Quelle der Information ist also die Richtige, nur ist das Paket der Informationen zu groß geschnitten. Es sollte eine Möglichkeit geschaffen werden, dass ich als Nutzer wählen kann, was mich wirklich interessiert. Dabei ist eine Lösung entstanden, die glücklicherweise nicht nur in meinem Szenario funktioniert.

Die Lösung

Microservice them all!

Ich habe mittels NodeRed einige ausgewählte Twitter-Accounts abonniert, die mir als Datenquelle für Meldungen dienen.

NodeRed Configuration

Diese analysiere ich auf bestimmte Schlüsselwörter und retweete diese mit Linien-spezifischen Accounts, die ich angelegt habe. Für jede Linie eine. Hier die vollständige Liste der derzeit existierenden Accounts:

Nun ist es also möglich, jede Hamburger U- und S-Bahn-Linie einzeln auf Twitter zu abonnieren um sich damit ganz gezielt auf dem Laufenden zu halten. Unnütze Informationsflut Adé. Ich kann Mircoservices so langsam nicht mehr hören. Trotzdem bestätigt sich auch hier mal wieder, wie nützlich es ist, kleine Komponenten zu haben, die man einfach zusammenstecken kann.

Dazu muss ich noch sagen, dass der “Service” gerade erst live gegangen ist. Es ist nicht auszuschließen, dass sich der eine oder andere Bot noch merkwürdig verhält.

Mögliche Erweiterung und Feedback

Ich werde jetzt erstmal beobachten, wie das Ganze anläuft. Sollte es Bedarf geben, könnte man den Service auch auf Busse, Regionalbahnen und Fähren ausweiten. Außerdem könnte man auch gezielt auf Haltestellen reagieren und die Meldungen auf entsprechende Accounts verteilen.

Ich hoffe, ich konnte mit diesem Projekt einen kleinen Beitrag leisten, den Alltag in Hamburg wieder ein bisschen angenehmer zu machen. Ich freue mich sehr über Feedback und Anregungen :)

Weitere Beiträge zu den Hamburg-Bots