Kategorien
In eigener Sache

WordPress Facebook Plugin: FB Connect Javascript entfernen

Um meine Blogbeiträge sowohl auf meiner Facebook Fanseite als auch meinem eigenen Profil parallel zu veröffentlichen nutze ich das WordPress Facebook Plugin. Da ich in meinem Blog keiner der zusätzlichen Features wie „Like Buttons“ oder andere Dinge, die Facebook Connect erfordern nutze, lädt deren Javascript vollkommen umsonst und ist auch ein kleines Datenleck, das gestopft werden möchte.

Damit es nicht mehr geladen wird habe ich in der functions.php meines Themes folgendes ans Ende geschrieben:

// FB Plugin connect killer
function kill_fb_connect() {
wp_deregister_script( 'facebook-jssdk' );
}
function kill_fb_dns_prefetch() {
remove_action( 'wp_head', array( 'Facebook_Loader', 'dns_prefetch_js_sdk' ), 1 );
}

add_action( ‚wp_print_scripts‘, ‚kill_fb_connect‘ );
add_action( ‚wp_head‘, ‚kill_fb_dns_prefetch‘, 0 );

Vielleicht hilft es jemandem … mindestens jedoch mir, wenn ich wieder vergessen habe wie das geht nachdem ich das nächste Mal das Theme gewechselt habe ;-)

Kategorien
Nur mal so

HTML/Javascript Anwendungen auf dem Desktop?

Hat sich da draußen schon mal jemand gedacht, dass es doch super wäre wenn man eine Desktop-Anwendung ebenso einfach wie eine Webseite erstellen könnte? Vermutlich ja, sonst gäbe es ja kein Adobe Air oder Titanium Desktop. Beide Systeme binden einen Browser (Webkit) ein und darin laufendes Javascript kann dann über eine API auf gewisse Dinge vom System zugreifen. Das ganze natürlich weitestgehend plattformunabhängig (Win/Mac/Lin).

Meiner Erfahrung nach sind damit erstellte Anwendungen nicht merklich langsamer als native Anwendungen. Das mag zum einen an der eher simpleren Art dieser Anwendungen liegen und zum anderen an den mittlerweile recht schnellen Javascript Engines bzw. noch schnelleren Rechnern. Wobei eine Fullscreen Google Maps Karte mit beiden System eine ziemlich ruckelige Angelegenheit ist :/

Der Zugriff auf das System beschränkt sich auch auf das Wesentliche. Dinge wie z.B. Bluetooth Verbindungen aufbauen oder Zugriff auf andere Schnittstellen muss man sich dazuprogrammieren, aber immerhin kann man das ja.

Der Trend scheint jedenfalls zu immer App-artigeren (nicht abartigeren ;-)) Webseiten zu gehen und viele Browser bieten schon einige Schnittstellen ins System und können Anwendungen auch offline ausführen. Braucht man also so etwas wie Air überhaupt noch? Für die Schnittstellenkommunikation, die es noch nicht gibt, könnte man z.B. ein Browserplugin zur Verfügung stellen und es hätte den Vorteil, dass man keine Updateprozedur für die eigentliche Anwendung braucht, da sie ja immer aktuell aus dem Netz geladen wird, so fern verfügbar. Und in Chrome kann man für Webseiten sogar Desktop Verknüpfungen anlegen und sie so im eigenen Fenster starten. Kaum ein Unterschied zu einem normalen Programm.

Was meint ihr?! Sind Webanwendungen so weit? Sollte man Software -- auch Software, die man offline verwenden möchte -- nur noch so entwickeln? Für HTML/CSS findet man jedenfalls genügend Leute, die damit was anstellen können und denen Programmieren „irgendwie zu heftig“ ist :-)

Ein anderer Aspekt der ganzen Sache ist wie oben schon geschrieben die Plattformunabhängigkeit. Wie man bei normalen Webseiten zwischen mobilen Besuchern (iPhone usw.) und Desktopbesuchern unterscheiden kann und ihnen verschiedene Versionen zeigt, könnte man das auch bei Anwendungen machen. So könnte der gleiche HTML/Javascript Code wie auf dem Desktop mittels Tools wie PhoneGap dann auch auf verschiedenen Smartphones laufen und auch dort auf das System zugreifen.

Plattformunabhängigkeit durch Javascript … pardon ECMAScript. Wer hätte es gedacht …

Nachtrag:
httpvhd://www.youtube.com/watch?v=22vicDlzmkI
(Ein Spiel, das mittels Adobe Air auf mehreren Plattformen läuft, allerdings wohl Flash. Dennoch beeindruckend.)

Kategorien
Geeky In eigener Sache Wordpress

Event-Tracking mit Google Analytics

Seit einiger Zeit bietet Google Analytics ein paar wirklich nette zusätzliche Funktionen an.

  • Integration der Adsense Statistiken direkt in Analytics:
    Funktioniert halbwegs und war überfällig (schnellere Freischaltung mit Bewerbung unter „interest form“ in diesem Inside Adsense Artikel)
  • Visualisieren:
    Vierdimensionale Graphen über die Zeit. Woot! Zwei Achsen, die Größe des Kreises und seine Farbe lassen sich beliebigen Metriken zuordnen
  • Erweiterte Segmente:
    Damit kann man die angezeigte Datenmenge unterteilen, mittels benutzerdefinierter Segmente sogar fast beliebig. So kann man dann jeden Report statt für alle Besuche z.B. nur für Besuche mit dem iPhone oder einem bestimmten Referrer sehen. Nett.
  • Benutzerdefinierte Berichterstellung:
    Mindestens ebenso nett wie die Segmentierung. Ermöglicht Berichte, die so nicht von Google angeboten werden, z.B. durchschnittliche Besuchsdauer und Seiten/Besuch pro Tageszeit
  • Website-Suche:
    In den Einstellungen einen Suchparameter hinterlegen und schon zeichnet Analytics die Blog internen Suchen auf. Praktisch.
  • Ereignis-Tracking/Event-Tracking:
    Statt wie bisher irgendwelche Ereignisse (z.B. Klick auf externe Links) auf eine URL zu mappen und dann als Pageview an Analytics zu schicken, kann man das jetzt als Event mit Zusatzinformationen anlegen
Kategorien
Geeky Nur mal so

Southside 2008 – Requiem for a Tower

Hab mir mal die Mühe gemacht die Webcambilder, die es vom Southside Festival gibt, zu zwei Filmen zusammenzuschneiden. Die beiden Videos fangen um 12 Uhr am 13.6. an und gehen bis um 12 Uhr am 25.6. und zeigen den Aufbau, das Festival und dessen Abbau. Youtube ändert ja leider immer die Framerate, aber was soll’s … funktioniert. Ist auch gleichzeitig ein Test für die Youtube JavaScript Player API. Auch das funktioniert, man muss bei WordPress nur aufpassen, dass man im Javascriptcode keine Leerzeilen stehen hat, sonst wird der Code in Absätze unterteilt, was natürlich Unsinn ist.

Viel Spaß beim Zeitrafferguggen!

Beide Videos gleichzeitig starten (falls sie wegen unterschiedlicher Ladezeiten nicht gleichzeitig starten, einfach während dem Abspielen nochmal auf den Link drücken)

P.S.: Der Soundtrack ist „Requiem for a Tower“, das eigentlich zum Film Requiem for a Dream gehört, aber für einen Herr der Ringe Trailer nochmal neu aufgenommen wurde. Fand ich ganz passend, da die Webcam ja auf einem Tower steht ;-)

Kategorien
In eigener Sache

Deutschland Weltmeister 2006

Weil Deutschland ja bekanntlich dieses Jahr Fußballweltmeister wird und weil draußen alle schon seit Wochen Flagge zeigen, macht dieses Blog das jetzt auch (Flagge links oben). Das Tolle an der einfach zu merkenden Aufschrift („Deutschland Weltmeister 2006“)? Sie ist zeitlos ;-)

Zum einfachen Kopieren hier die Links auf die beiden verwendeten Bilder: deutschland_wmbanner_2006.gif deutschland_wmbanner_2006_trans.gif

Dazu noch das Javascript, das man am besten irgendwo nach dem body-tag ins HTML einfügt (URLs eventuell austauschen):

<script type="text/javascript">
	document.write('<style>div.deutschlandWM06 { position:absolute;left:0px;top:0px;overflow:visible;width:180px;height:180px;background:transparent url("http://www.sebbi.de/images/deutschland_wmbanner_2006.gif") no-repeat;margin:0;padding:0;z-index:99999999;border:none;float:none;}</style>'
	+ '<div class="deutschlandWM06"><img src="http://www.sebbi.de/images/deutschland_wmbanner_2006_trans.gif" width="180" height="180" border="0" usemap="#deutschlandWM06" style="border:0;"/></div>'
	+ '<map name="deutschlandWM06"><area shape="poly" coords="180,0,0,180,0,134,134,0" href="http://www.sebbi.de/archives/2006/06/26/deutschland-weltmeister-2006/"></area></map>'
	);		
</script>

Oder alternativ als reines HTML:

<style>div.deutschlandWM06 { position:absolute;left:0px;top:0px;overflow:visible;width:180px;height:180px;background:transparent url("http://www.sebbi.de/images/deutschland_wmbanner_2006.gif") no-repeat;margin:0;padding:0;z-index:99999999;border:none;float:none;}</style>
<div class="deutschlandWM06"><img src="http://www.sebbi.de/images/deutschland_wmbanner_2006_trans.gif" width="180" height="180" border="0" usemap="#deutschlandWM06" style="border:0;"/></div>
<map name="deutschlandWM06"><area shape="poly" coords="180,0,0,180,0,134,134,0" href="http://www.sebbi.de/archives/2006/06/26/deutschland-weltmeister-2006/"></area></map>

Berlin, Berlin! Wir fahren nach Berlin! :twisted: