Goabase Partys im Mushroom Magazine...

Backend
4 May '14 ·

Goabase Partys im Mushroom Magazine...

...und was so dahintersteckt. Ein kleiner Einblick, wie die Partys im Mushroom Magazine landen - mit einem Ausblick, wohin die Reise gehen kann.
Der ein oder andere hat es vielleicht schon mitbekommen - seit etwa drei Wochen werden die öffentlichen Partys der Goabase zeitgleich auf Mushroom Magazine gezeigt.

Dazu benutzt der Mushroom eine Technik, die jedem offen steht, der Partys der Goabase auf seiner Webseite oder sonstwie öffentlich anzeigen möchte.

Die Zusammenarbeit hat Spaß gemacht und auch die besagte Technik voran gebracht.

Achtung, ab hier wird es nun technisch erklärt! Wem das alles böhmische Dörfer sind: Einfach wegklicken, ihr verpasst nichts!

In den letzten Wochen ist viel Zeit in die Entwicklung einer REST-API geflossen, mit der aktuelle Partydaten auf Websites, in Smartphone-Apps, als Win8-Kacheln, mit Wordpress-Plugins oder selbstgeschriebenem Javascript/jQuery verarbeitet und dargestellt werden können. Dazu stehen die kompletten Goabase-Suchfunktionen zur Verfügung. Damit das alles aber sauber läuft, war einiges zu tun.

Zeitzonen
Vorrausetzung für eine korrekte API ist, dass in allen Partys eine Zeitzone eingetragen wird. Diese gibt die Zeitabweichung zur UTC (früher Greenwich) an.

Denn ohne korrekte Zeitabweichung könnte es sein, dass jemand vor Ort (in Goa, Thailand, Brasilien) in der Smartphone-App eine falsche Partyzeit sieht - und die Goabase somit für untauglich hält.

Da hier bisher keine Zeitzonen gespeichert waren, musste die Arbeit nachgeholt werden. Es wurde die komplette Datenbank von geonames.org (4GB) als Grundlage genommen, um für alle Länder die Zeitzone nach dem Muster "Asia/Bangkok" oder "Europe/Berlin" zu finden (geonames.org hat leider nicht so eine einfache Tabelle).

Das klappt dann auch für fast alle Länder - bis auf Brasilien, Mexiko, USA, Australien und Russland. Für diese Länder (außer USA - was soll da gehen, New York oder Los Angeles?) wird erstmal eine Standard-Zeitzone eingetragen. Zusätzlich wird nach dem Prinzip "Gürtel und Hosenträger" anhand der Party-Geodaten versucht, die korrekte Zeitzone zu ermitteln. Dafür gibt es nun wiederum eine aus geonames.org kondensierte Datenbank (340MB) mit 4,4 Mio. Lat-/Lon-Werten und deren Zeitzonen.

Am Ende haben nun 66.300 Partys (von 67.700) ihre korrekte Zeitzone bekommen (bei den anderen fehlten Lat/Lon). Beim Neueintrag einer Party wird jetzt die richtige Zeitzone rausgefischt und eingetragen. Und wenn jemand (eines Tages) per App eine Party sieht, wird sie auch die richtige Uhrzeit haben.


Der Stand der Dinge
Die REST-API liefert in JSON und ist gut genug, um sie euch hier vorstellen zu können.

Es gibt eine PDF-Doku (deutsch), die alles wesentliche erklärt. Auf Anfrage wird diese gerne zugesendet (aktuell ist noch unklar, ob es einen API-Key geben wird). Eine Übersetzung und kompletter Wechsel auf Englisch wird kommen. Dazu wird es jQuery-Beispiele geben, wie man mit ein paar Zeilen Code eine bestimmte Party, die eigenen Partys oder auch die eines öffentlichen Partytimers auf seiner Website selbstgestaltet anzeigt (siehe Mushroom ).

Nebenbei: Kurz vor Fertigstellung sehe ich, dass Kollegen aus Schweden für ihre Website auch sowas machen.

Wozu das ganze? (nicht mehr so technisch)
Vernetzung von Websites ohne die großen Netzwerke. Doch noch wichtiger:

Smartphone-Apps! Denn mit dieser ganzen Technik ist es endlich einfach, eine App mit Partydaten zu füttern. Ideen gibt es schon, ganz simple, aufs wesentliche reduziert: Wo ist die nächste Party? Mehr nicht, keine Anmeldung, keine Auswertung oder mehr Rechte als nötig.

Leider fehlt mir das Know-How um das in drei Tagen fertig zu machen - und für ein mehrwöchiges learning-by-doing hätte ich gerne ein paar Sachen weniger auf der To-Do...

Daher, am Ende noch ein Aufruf an die da draußen, die das können: Vielleicht habt ihr Lust, eine Goabase-App zu coden? Wenn ja, einfach anschreiben, es würde mich sehr freuen!
8y 7m
#1
Budweister
Go!!!;)
8y 7m
#2
amalesh
ne, schach! ;)
8y 6m
#3
happygoanaut
Schach matt, ja ;-)
8y 6m
#4
Princeza Sunca
liquidate :-)