Was habe ich eigentlich heute vor einem Jahr gemacht?

Weißt du noch, was du Ende Februar letzten Jahres so gemacht hast? Manche Menschen führen Tagebücher, um sich später erinnern zu können, was sie an bestimmten Tagen denn so getrieben haben. Ich mache das nicht. Mir fehlt die Motivation, mich jeden Tag hinzusetzen und ein paar Sätze über das Geschehene zu schreiben. Was ich aber täglich verwende ist foursquare – der Dienst, bei dem man sich bei gerade besuchten Orten einchecken kann. Prinzipiell sind dort also zumindest die Informationen verfügbar, welche Orte ich an vergangenen Tagen besuchte habe. Besser als gar nichts. foursquare bietet außerdem die Möglichkeit, die gesamte Checkin History als .ics-File zu exportieren, die dann in den eigenen Kalender eingebunden werden kann.

Die foursquare Feeds in verschiedenen Formaten.

Wenn du – wie ich – Google Calendar benutzt, musst du nur auf den GCAL-Link klicken, damit deine vergangenen Checkins in den Kalender importiert werden. Du kannst nun schnell und unkompliziert nachsehen, was du letzten Sommer gemacht hast. Ich war beispielsweise in Stockholm:

Die foursquare Checkin History im Google Calendar.

Die foursquare Checkins können einen detaillierten Tagebucheintrag zwar nicht ersetzen, die Möglichkeit nachzusehen wo ich in diesem Moment vor ein oder zwei Jahren war finde ich aber trotzdem interessant. Ganz ausgeblendet wird hier natürlich der Datenschutzaspekt – schließlich weiß auch foursquare welche Orte du letzten Sommer besucht hast. Allerdings kannst du die Checkin History ohnehin nur anzeigen lassen, wenn du foursquare bereits benutzt und in dem Fall sollte dir diese Tatsache auch bewusst sein. Neu hinzu kommt jedoch, dass bei Verwendung des Google Calenders auch Google Zugriff auf deine Checkin-Informationen hat.

 

Tutorial: Wie mache ich mein WordPress Blog Retina ready?

Was im Smartphone- und Tablet-Bereich seit längerem üblich ist setzt sich langsam aber sicher auch bei Laptops durch: Die Verwendung von hochauflösenden Displays – beispielsweise beim Retina MacBook Pro und beim Chromebook Pixel. Dank der Mehrzahl an Pixeln wirken Schriften und Vektorgrafiken auf solchen Geräten um einiges schärfer. Allerdings stechen Rasterbilder, die in einer vorgegebenen Auflösung vorliegen und bei der Hochskalierung unscharf werden, noch stärker heraus. Einige Webseiten liefern deshalb für solche Geräte die Bilder mit der vierfachen Pixelanzahl aus, wodurch die gesamte Webseite das hochauflösende Display optimal nutzt. In diesem Tutorial zeige ich dir einen einfachen Weg, wie du dein WordPress Setup Retina ready (also bereit für high-dpi Bildschirme) machen kannst.

Da du hier dein WordPress veränderst (neues Plugin, etc.) sei darauf hingewiesen, dass dies auf eigene Gefahr geschieht. Am besten ist es, die Änderungen zuerst an einer Kopie des Live-Setups auszuprobieren. Falls dir das zu viel Aufwand ist, solltest du zumindest vorher ein Backup erstellen.

Kleine Änderung mit großer Wirkung auf entsprechenden Geräten: Hochauflösende Bilder auf Webseiten.
Kleine Änderung mit großer Wirkung auf entsprechenden Geräten:
Hochauflösende Bilder auf Webseiten.

 

Schritt 1: Plugin installieren und konfigurieren

Zuerst solltest du das WP Retina 2x Plugin installieren. Dieses sorgt dafür, dass Devices mit high-dpi Bildschirmen die hochauflösenden Bilddateien vom Server bekommen und Bilder, die du in deine Blogbeiträge hochlädst, automatisch auch in der höheren Auflösung erstellt werden. Da außerdem alle Thumbnailbilder in der doppelten Größe erstellt werden, solltest du bedenken, dass sich der Speicherplatzbedarf deines Blogs beträchtlich erhöhen wird.

Nun wird das Plugin unter Einstellungen → WP Retina 2x konfiguriert.

WP Retina 2x Einstellungen: Grundlagen.

Unter Grundlagen solltest du bei den „Unbrauchbaren Größen“ jene auswählen, die du nicht in Verwendung hast. Ich füge Bilder in meine Posts beispielsweise nur als Thumbnail oder Large ein. Ich habe daher die Medium-Größe deaktiviert, wodurch ein wenig zusätzlicher Speicherplatzbedarf gespart wird. Automatisch erstellen sollte jedenfalls ausgewählt sein, außer du willst nur einzelne Bilder in hoher Auflösung zur Verfügung stellen.

WP Retina 2x Einstellungen: Erweitert.

Bei den Erweiterten Einstellungen gilt es die richtige Methode auszuwählen, mit der entschieden wird, ob ein Gerät das normale oder das hochauflösende Bild bekommt. Außerdem kann die Qualität der erzeugten Bilder konfiguriert werden – 90 ist ein ausreichend guter Wert.

Die benutzerseitige Methode mit Retina.js ist die einfache und fehlerunanfällige Variante. Dabei fragt ein Script nach dem Laden der Seite für jedes Bild den Server, ob eine hochauflösende Version vorhanden ist und ersetzt das ursprüngliche Bild damit. Dies hat den Nachteil, dass erstens eine Verzögerung entsteht, bis das hochauflösende Bild geladen wurde und zweitens insgesamt zwei Dateien geladen werden müssen. Außerdem muss für jede Grafik eine Anfrage an den Server geschickt werden. Wenn dein Blog  ein CDN (z.B. Cloudflare) oder ein anderes Caching-System benutzt, ist diese Methode möglicherweise die bessere Wahl.

Bei der serverseitigen Methode mit Retina-Images wird ein Cookie gesetzt, mit dem der Server entscheidet, ob die hochauflösende oder die normale Version eines Bildes gesendet werden soll. Der große Vorteil: Es wird nur eine Bilddatei übertragen und nicht für jedes Bild eine zusätzliche Anfrage an den Server geschickt. Nachteilig ist, dass der Server durch das PHP-Script, das sich um die Auslieferung der richtigen Bilddatei kümmert, zusätzlich belastet wird. Außerdem werden die Bilder beim ersten Aufruf immer in der normalen Auflösung übertragen, da das Cookie erst gesetzt werden muss.

Bei meinem Blog habe ich mich für Retina-Images entschieden, da ich es insgesamt für effizienter halte. Außerdem funktioniert diese Variante in meinem Fall auch mit aktiviertem Cache-Plugin (W3 Total Cache). Dabei habe ich WP Retina 2x so angepasst, dass das gesetzte Cookie länger als nur eine Session gespeichert wird – ansonsten würden bei jedem erneuten Aufruf wieder zuerst die normalen Bilder ausgeliefert. Das entsprechend angepasste Script funktioniert mit WP Retina 2x Version 1.6.2 und muss im Plugin-Unterordner js (Pfad: /wp-content/plugins/wp-retina-2x/js/) auf deinem Server abgelegt werden. Am besten probierst du beide Methoden auf deinem Blog aus und entscheidest dich dann welche dir mehr zusagt.

Da die hochauflösenden Bilder vier mal so viele Pixel beinhalten, sind die Dateien natürlich um einiges größer. Gerade bei mobilen Geräten (Smartphones und Tablets) kann das die Ladezeit beeinträchtigen. Sollte das bei dir ein Problem sein, kannst du für diese Devices die Auslieferung der hochauflösenden Grafiken unter „Ignore Mobile“ deaktivieren.

 

Schritt 2: Bereits hochgeladene Bilder anpassen

Zukünftige Bilder werden nun automatisch auch in einer hochauflösenden Version erstellt – sofern das ursprüngliche Bild eine entsprechend geeignete Größe aufweist. Im Menüpunkt Medien → Retina ist für alle Bilddateien aufgelistet, ob es bereits eine Retina-Version gibt. Ist das ursprüngliche Bild zu klein, wird dies ebenfalls als Warnung angezeigt. Hier kannst du außerdem für einzelne Bilder die hochauflösenden Versionen generieren, oder für alle auf einmal. Klicke dazu links oben auf Generieren und warte bis zur Fertigstellung. Wie oben schon erwähnt wird dadurch um einiges mehr Speicherplatz auf deinem Server beansprucht.

WP Retina 2x: Medien Retina Dashboard.

 

Schritt 3: Testen und Theme-Bilder anpassen

Teste dein Blog nun auf einem Gerät mit hoher Bildschirmauflösung. Alternativ kannst du auf einem normalen Device Firefox verwenden und auf 200% zoomen. Firefox verhält sich dann nach einem Refresh der Seite so, als würde es sich um ein Retina-Device handeln. Deine hochgeladenen Bilder sollten nun in neuer Pracht erstrahlen. Wie du aber wahrscheinlich bemerken wirst, sind trotzdem noch einige Bilder unscharf. Das liegt daran, dass dein Theme in den meisten Fällen nicht Retina ready ist – also keine Bilder mit doppelt so hoher Auflösung mitliefert. Du kannst allerdings selbst nach alternativen/gleichwertigen hochauflösenden Grafiken im Internet suchen und diese im Theme ersetzen (wobei du natürlich sicherstellen musst, dass die Bildlizenz eine Verwendung erlaubt). Gut machbar ist das beispielsweise bei Social Icons, von denen es einige hochauflösende Sets gibt.

Hast du passende Bilder gefunden, kannst du die normalauflösende Version in dein Theme einbinden. Der hochauflösenden Bilddatei, die in X- und Y-Richtung jeweils doppelt so viele Pixel groß sein sollte, fügst du vor der Dateinamenserweiterung ein „@2x“ hinzu (Beispiel: <dateiname>@2x.jpg) und lädst sie in den selben Ordner hoch. Den Rest erledigt das WP Retina 2x Plugin für dich. Du solltest allerdings darauf achten, im HTML-Code bzw. im CSS-Stylesheet die Größe des normalauflösenden Bildes anzugeben, da die Grafik sonst auf die doppelte Größe gestreckt wird.

 

Fertig!

Wenn du alles richtig gemacht hast ist dein Blog nun Retina ready und du brauchst dich um nichts mehr zu kümmern. Sollten die meistgenutzten Browser irgendwann das „srcset“ Bildattribut unterstützen, solltest du auf diese Methode in den WP Retina 2x Einstellungen wechseln, weil damit keine zusätzlichen Ressourcen am Server bzw. am Client verbraucht werden. Bis es soweit ist dürfte aber noch einige Zeit vergehen – WebKit unterstützt das Attribut seit Kurzem, was immerhin ein erster Schritt in die richtige Richtung ist.

 

Warum Verkehrsbetriebe die Fahrplan- und Echtzeitdaten freigeben sollten

Die Wiener Linien haben die Freigabe der Fahrplandaten für Google Maps bereits vor einigen Jahren wieder zurückgenommen. Derzeit gibt es die Möglichkeit mittels der App „Qando“ Fahrplan- und Echtzeitdaten aller Linien abzurufen. Bisher hat mich das nie gestört, da Google Maps die gleiche Funktionalität geboten hätte – natürlich mit dem Vorteil ins System integriert zu sein. Seit ich auf meinem Handy Android 4.1 „Jelly Bean“ installiert habe steht mir auch Google Now zur Verfügung. Dieser Dienst analysiert das Verhalten des Nutzers und stellt je nach Situation passende Infos in Form von Karten bereit – beispielsweise das aktuelle Wetter oder einen Währungsumrechner, sofern man sich in einem anderen Land befindet. In der aktuellsten Version scannt Google Now auf Wunsch sogar die E-Mails auf Flug- und Hotelbuchungen, Details zu Paketsendungen, Veranstaltungen, Restaurantreservierungen, etc. und zeigt die entsprechenden Infos zu den passenden Zeiten an – ein sehr praktisches Tool, das in Zukunft sicher noch ausgebaut und verfeinert wird.

Die Fahrzeit-Karte ist für mich eine der nützlichsten: Google Now lernt an welchem Tag zu welcher Zeit man für gewöhnlich eine Fahrt antritt, beispielsweise zur Arbeit oder zur Uni, aber auch Besuche bei Freunden werden erkannt. Ist man unterwegs wird einem die Fahrzeit nach Hause angezeigt, sofern dies für Google Now relevant erscheint. Außerdem weiß der Dienst von Kalendereinträgen mit Ortsangabe und anderen Quellen wann Fahrten anfallen. Bevor es notwendig wird aufzubrechen zeigt Google Now für all diese Fahrten eine Karte an. Selbst Verkehrsinfos werden berücksichtigt – so wird man bei Verzögerungen beispielsweise auf eine alternative Route hingewiesen. Einstellen kann man auch, ob man die Fahrten mit dem Auto, zu Fuß oder mit öffentlichen Verkehrsmitteln antreten will. Da ich in Wien meist die Öffis benutze, will ich natürlich auch meine Wege dafür angezeigt bekommen. Statt „Qando“ öffnen zu müssen würde ein Klick auf die Google Now Karte genügen. Wie ich schon erwähnt habe sind die Fahrplandaten der Wiener Linien in Google Maps jedoch nicht verfügbar. Begründet wird dies damit, dass beim Abruf von Echtzeitdaten von anderen Firmen „möglicherweise kriminelle Energie frei werden könnte“ und es Probleme bei den Gesprächen mit Google, der technischen Umsetzung bzw. der rechtlichen Lage gibt (derStandard.at, 12.7.2012). Bald könnte sich die Situation aber ändern: Im Jänner findet das 1. Create Camp der Wiener Linien statt, wo erstmals Echtzeitdaten für die Dauer des Events freigegeben werden. Im Zuge dieses barcamps wird die „neue Echtzeitplattform“ verwendet, die hoffentlich bald für die Allgemeinheit zur Verfügung steht, denn mit Einbindung der Öffi-Daten wäre Google Now für viele erst wirklich praktisch. Derzeit werden als Ersatz für die Öffifahrten alle Wege und Fahrzeiten zu Fuß angezeigt, was in den meisten Fällen eher unpraktikabel ist. Generell wäre es wünschenswert, dass Verkehrsbetriebe diesen Service anbieten – derzeit sind es noch die wenigsten Städte in Europa, die mehr als den Transit-Layer (Anzeige von Haltestellen) in Google Maps integriert haben. Auch für Touristinnen und Touristen wäre die Verfügbarkeit dieser Daten eine Erleichterung, denn so müsste man sich nicht für jede Stadt eine eigene App – sofern überhaupt vorhanden – herunterladen.

 

Pipe – Filesharing über Facebook

Pipe: Ansicht nach Start der App.Pipe ist eine Facebook App, die es ermöglicht Dateien sehr einfach mit Freunden auszutauschen. Derzeit kann pro Datentransfer nur eine einzelne Datei mit einer maximalen Größe von 1GB übertragen werden – die Uploadgeschwindigkeit stieg bei meinem Test nie über 300KB/s, obwohl die Leitung mehr hergegeben hätte. Die Übertragung selbst wird über das in Adobe Flash integrierte RTMFP (Real Time Media Flow Protocol) abgewickelt. Dieses Protokoll stellt eine direkte Verbindung zwischen den beiden Teilnehmern her, sodass im Normalfall keine Daten auf fremden Servern gespeichert werden – nur in Ausnahmefällen wird die Datei laut Pipe auf einem Server zur Übertragung zwischengespeichert. Dies ist sicher ein Vorteil, denn andere Dienste zur Dateiübertragung haben oft fragwürdige Klauseln in ihren Nutzungsbedingungen.

Aufmerksam geworden bin ich auf diesen neuen Dienst durch einen Artikel auf Golem.de – dort ist auch eine Seite verlinkt, wo Golem-Lesern einige Invites für den Dienst zur Verfügung stehen, denn derzeit ist Pipe noch nicht für die Allgemeinheit zugänglich. Alternativ kann man Freunde, die Pipe bereits verwenden, bitten eine Datei zu senden, wodurch man ebenfalls Zugriff auf den Dienst bekommt. Als nächstes muss die App in Facebook hinzugefügt werden – wobei auch einige zusätzliche Genehmigungen erteilt werden müssen, damit Pipe funktioniert:

Pipe: Zusätzliche erforderliche Genehmigungen für die Benutzung.

Die Dateiübertragung an sich ist sehr einfach gestaltet, wie die folgende Bilderserie anschaulich macht:

Pipe: Die empfangende Person muss ausgewählt werden. Pipe: Eine Datei kann auf das namensgebende Rohr gedroppt werden. Alternativ öffnet sich nach einem Klick ein Fenster zur Auswahl der Datei. Pipe: Verwendet die andere Person die App gerade nicht, kann eine Benachrichtigung gesendet werden…
Pipe: … anschließend wird auf das Öffnen der App beim Gegenüber gewartet. Pipe: Anschließend startet die Übertragung. Pipe: Beide Seiten sehen dabei den Fortschritt. Das Fenster muss zur Übertragung offen bleiben.
Pipe: Nach erfolgreicher Übertragung kann sofort die nächste Datei ausgewählt werden. Pipe: Beim ersten Versuch konnte die gesendete ZIP-Datei vom Empfänger nicht geöffnet werden. Beim Versuch einer erneuten Übertragung wurde eine Fehlermeldung angezeigt.

Fazit: Meine erste Dateiübertragung mit Fabian Pimminger ist leider gescheitert, eine weitere Übertragung war nicht möglich. Diese Fehler dürften aber Einzelfälle sein, die während der Invite-only-Phase noch behoben werden – beim Golem.de Test traten solche Probleme schließlich nicht auf.
Da Facebook sehr weit verbreitet ist, wird durch Pipe die Dateiübertragung sehr erleichtert, denn es müssen keine „fremden“ Webseiten aufgerufen werden. Ein weiterer Pluspunkt ist die sehr einfach gestaltete Bedienung der App. Diese zwei Punkte dürften Pipe auch zum Erfolg verhelfen – ich kann mir jedenfalls vorstellen, es weiterhin zu verwenden, sollten solche Fehler wie bei meinem Test in Zukunft nicht mehr vorkommen.