missed this years railsconf?
Have you missed this years Railsconf in Las Vegas like we did?
Thankfully the incredible Gregg Pollack from Railsenvy has again made a 34 minutes long video and shows us all the cool speakers and topics we have missed: ;)
For more cool videos and ruby stuff head over to the railsenvy blog
Make email a better citizen of the modern HTTP world…
We’re currently adding some mail-in functionality to some web applications. You know like emailing stuff to an application which then does fancy things with it.
And honestly the code for this really sucks. It works… but I’m not very happy with our solution:
The mailserver is running on an extra machine so we connect via IMAP fetch the emails and parse the raw data. If everything is OK, the email is moved to a special backup folder.
There are some other solutions like Astrotrain which pipes the email to a script but these aren’t better…
So one question hits my head over and over again:
Why is this so hard? What did you mailserver developers do in the last fiveish years???!!! Did anything in the email world change?
Here is my wishlist for you:
- simple REST interface to the mailboxes (POST,GET, PUT, DELETE)
- JSON and XML representation of emails
- permalink for every email
- atom and rss feeds of mailboxes
- support for webhooks
- that means HTTP push notification for new emails
- OAuth Authentication(?)
- do only mail! stay focused! - no calendar and other stupid stuff
In short: Build an easy to use simple restful API for email which stupid web developers like I am can use to build awesome stuff upon.
This would make email a much better citizen in the modern HTTP web world.
Poken-Action im Railslove HQ
Das sind Voodoo Jan, Voodoo Tim, Biene Schorsch (von Salesking) und Alien Bumi…
P.S. Pokens gibt’s beim Pokenshop von Missionpoken
Marker-Cluster für die Google Map
Jeder der schon mal versucht hat viele Marker auf einer Google map anzuzeigen wird schnell ferststellen, dass das kein Spass macht. Zum einen sieht die Karte dann bei einem niedrigen Zoomlevel sehr unübersichtlich aus - man sieht eigentlich die Karte vor Marker nicht mehr- und zum anderen sinkt die Performance des Browsers bei vielen Markern starkt.
Jeder Marker besteht aus vielen einzelnen DOM-Elementen. Und bei mehreren Tausend Marken macht das Verarbeiten und Anzeigen dieser Vielzahl an DOM-Elementen dem Browser schwer zu schaffen.
Um dieses Problem zu lösen gibt es die Möglichkeit die Marker zu einzelnen Clustern zusammenzufügen. Ein guter Einstieg in dieses Thema ist der Blogpost von Gabriel Svennerberg zum Thema Handling Large Amounts of Markers in Google Maps. Hier werden verschiedene Methoden zum Clustern von Markern und vor allem ein Benchmark zur Ladezeit vorgestellt.
In den Kommentaren stösst man aber auf eine Lösung von Xiaoxi Wu im Google Geo Developers Blog. Hier werden die einzelnen DOM-Elemente in einen Cluster zusammengefasst, wenn er in einem vorgegebenem Range liegt. In einem Demo kann man entsprechende Speed-Tests mit diesem Verfahren ausprobieren. Das Laden von ca. 500 Markern dauert ca. 331 ms. was gegenüber dem Benchmark von Gabriel Svennerberg eine akzeptable Ladezeit ist.
Für unser #yai7d-Projekt “Boswell” mussten wir zusätzliche Modifikationen in das Skript einbauen um die einzelnen geclusterten Objekte auszulesen.
Der Post kommt mit einer kleinen Verzögerung durch die entstandenen Feiertage. Unser erstes #yai7d-Projekt ist aber abgeschlossen. Wir werden sehr bald dadrüber Bloggen!
Viel Spass beim Clustering!
Kickstarting a Rails project #yai7d
Die ersten Tage der “Boswell” Entwicklung waren bereits sehr produktiv. Die User stories waren für das Projekt schnell geschrieben und die ersten Interface Skizzen gezeichnet. Ich denke wir werden diese bestimmt nochmal in einem eignen Post veröffentlichen, jetzt aber erstmal zum initialen Rails Setup.
Seit Version 2.3 werden ja Applikations-Templates unterstützt, die das Setup sehr einfach und schnell machen und die langweilige Installations-Arbeit abnehmen (siehe auch unseren Post von damals)
Auf Github hat Jeremy McAnally einige Templates gesammelt. Interessant sind auch die 54 forks des Projektes.
Für unsere Projekte - und eben für die 7 Tage “Boswell” App - haben wir unser eigenes Template:
Ein einfaches rails -m http://gist.github.com/raw/39969/d70e0ff89f59afbaad84593003db27349118bbac/railslove.rb MyNextMySpace macht dann folgendes:
- Git repository anlegen und .gitignore füllen
- Gem Abhänigkeiten erstellen für: factory_girl, shoulda, will_paginate, mocha
- Plugins installieren: find_by_param, redirect_love, serialize_fu, limerick_rake, hoptoad_notifier, restful-authentication, annotate_models
- unnötige Dateien wie die index.html löschen
- Initializer z.B. für E-Mail und Hoptoad Konfiguration erstellen
- und benötigte Resourcen generieren
und damit Happy Coding! ;)



