Ein neues Gesicht für Hasematzel.de

Wie man sehen kann, hat sich ein bisschen was verändert. Hasematzel.de hat ein neues Gesicht. Es werden noch einige kleinere Sachen zu erledigen sein und es gibt eine Menge Beiträge aufzuräumen und zu kategorisieren. Hier die wichtigsten Neuerungen:

  • Tags werden wieder durch Kategorien ersetzt
  • Per AJAX werden meine del.icio.us-Bookmarks geladen
  • Wesentlich schlichteres Design und einen ausführlichen Bereich am Ende der Seite
  • Keine Kommentare in der Seitenleiste (Vielleicht kommen die ja mal wieder)

Jetzt werden erstmal Tags und Kategorien “harmonisiert” :)

Veröffentlicht unter Unsortiert | 4 Kommentare

Der Kaffeeautomat im Intranet

Jeder kennt den Kaffeeautomat im zweiten Stock. Kein Mitarbeiter mag die Plörre tatsächlich, aber dennoch wird der Weg durch das Treppenhaus gerne in Kauf genommen und das Warten am Automaten zum gemeinsamen Plausch genutzt. Bei sehr klassisch strukturierten Unternehmen mag dieser Marktplatz als notwendiges Übel in Kauf genommen werden, helle Köpfe haben das Kommunikationspotenzial längst erkannt. Keine anberaumte und sorgfältig geplante Besprechung vermag diese Art der ungezwungenen Produktivität zu erreichen – denn neben dem üblichen Tratsch über die erste Liga und den Film von gestern kommen auch firmen- und projektinterne Themen auf den Stehtisch. Firmeninternes Networking Zwopunktnull.So nimmt auch Siemens das Thema Blogs im Bereich Corporate Communication in die Hand. Oliver Gassner berichtet auf Fischmarkt.de als Kongressblogger von der Konferenz. Olivers Beitrag ist sehr informativ und zeigt für mich, dass Blogs mit kleinem Budget einen wichtigen Drive in Firmenkulturen bringen können. Dabei geht es nicht nur um das Firmenimage oder Produkte (wie bei den Opel-Blogs), sondern um das direkte Miteinander und den Informationsaustausch in der Firma. Siemens nähert sich den Blogs pragmatisch. Während andere Firmen den Verlust von Arbeitszeit und Kapazitäten befürchten, sieht man bei Siemens den Informationsaustausch als Gewinn.Der fischmarkt ist eine ergiebige Quellen für das sogenannte Corporate Blogging. Spannende Ansätze und Entwicklungen für Blogs. Ich weiss nicht warum gerade jetzt (denn im Prinzip war ich mir darüber immer schon sicher), aber ich habe den Eindruck, dass Blogs gerade aus der Subkultur zum Establishment wandern.

Veröffentlicht unter Unsortiert | Hinterlasse einen Kommentar

Google Ping Service

Google erweitert seinen Service um eine weitere (für Blogger nicht unwichtige) Spielerei: Den Google Blogsearch Ping Service. Wie Google im offiziellen Google Blog verlauten läßt, kann man die Google Blogsearch nun anpingen, womit eine höhere Aktualisierungsrate und eine verbesserte Indizierungsqualität angestrebt wird. Mehr dazu gibt’s in der Google Blog Search FAQ.Sehr interessant. Indirekt tritt man damit zumindest auf Basis der inhaltlichen Qualität in Konkurrenz zu Diensten wie technorati, wenn auch technorati weitere Funktionen im Portfolio hat.

Veröffentlicht unter Unsortiert | 1 Kommentar

mootools – JavaScript-Bibliothek zum Anfassen

Die Jungs von mad4milk legen moo.fx auf, ein extrem kleines JavaScript-Framework, mit einer Menge netter Spielereien für Webseiten und -applikationen. moo.fx baut dabei auf einer komprimierten prototype-Bibliothek auf. In der Vergangenheit stolperte man immer über die zwar vorhandene, aber reichlich lückenhafte Dokumentation und war gezwungen, ein gehöriges Maß an experimenteller Bereitschaft an den Tag zu legen, um das Ding richtig einzusetzen.Jetzt wurde mootools veröffentlicht, eine Webseite, die neben einer verbesserten Dokumentation auch einen grandiosen Downloader anbietet, in dem die Pakete gewählt und Abhängigkeiten überprüft werden, so dass man sich aus den durchschnittlich 1-2 KB grossen Scripten exakt den Umfang zusammenstellen kann, den man für den geplanten Einsatz braucht.

Screenshot mootools

Vor dem Download kann man selbst über die Komprimierungsrate entscheiden (nettes Feature). Die Bibliothek selbst ist (zumindest nach Eigenaussage) auf dem Safari, dem IE 6 und 7, Opera und Camino getestet. Wer von umfangreichen Frameworks die Nase voll hat oder für eine 4 KB-Seite nicht einfach 27 KB und mehr an JS-Framework laden will oder wer nur ganz bestimmte Funktionen einsetzen möchte ohne dazu komplette Frameworks zu initialisieren, sollte sich mootools dringend einmal ansehen.

Veröffentlicht unter Unsortiert | 1 Kommentar

Berater

Über den Beitrag in Martin Rölls E-Business-Weblog bin ich auf den Beitrag “Neues in Sachen Breisgaumilch” gestossen und habe mich dazu hinreissen lassen, Hrn. Hubers Vorgehensweise in den von ihm beschriebenen Ereignissen zu kritisieren.Ich habe versucht, Hrn. Huber darauf hinzuweisen, wie wichtig Integrität und Loyalität in der Geschäftsbeziehung von Unternehmen und Beratern ist. Obwohl nicht konstruktiv zum Thema “Milchvertrieb”, wollte ich doch sachlich kritisieren, was mir – neben Spott und Beleidigung – nicht viel einbrachte. Leider bin ich nun offensichtlich von der Kommentarfunktion in Hrn. Hubers Weblog ausgesperrt, was mir nichts anderes übrigläßt, als meine Antwort hier als Trackback zu verfassen. Das letzte Posting von Hrn. Huber lautete:

Ja, Herr Hasematzel – vielleicht habe ich Sie auch nicht erkannt in ihrem Genius, denn nur Sie können ja die Banalität des Internets und dessen Technik deuten. Sorry, wenn ich das übersah.

Meine Antwort also hier:

Diese Fähigkeit maße ich mir nicht an, aber über Möglichkeiten, Risiken und Auswirkung von Technologien (und damit reduziere ich das Thema “Weblog” auf Technologien) behaupte ich von mir, ganz gut im Thema zu sein. Wenn Sie mich beleidigen möchten, können Sie das gerne tun.Das ändert nichts an der Art und Weise, wie Sie offensichtlich mit Kunden und Gesprächsinformationen umgehen (nämlich öffentlich), was mein ursprünglicher Kritikpunkt war – lassen Sie uns also das Schlachtfeld nicht ausweiten. Ich habe versucht, Ihnen verständlich zu machen, dass Unternehmen u. U. sensibel von Ihrer Vorgehensweise berührt sein könnten und ich behaupte zusätzlich, dass ein Imageverlust Ihrerseits durch diese Aktion in den Bereich des Möglichen rückt.Manche Unternehmen interessiert nicht nur die finanzielle Stabilität eines Unternehmenspartners, sondern auch dessen Integrität.

Ursache meiner Kritik (um es für den Leser zusammenzufassen) war die Tatsache, dass Herr Huber den Dialog einer missglückten Akquise mit einer Firma öffentlich in seinem Blog behandelt und ihn somit zum Gegenstand des öffentlichen Interesses, als auch einer Diskussion macht. Im Verlauf regt sich Hr. Huber in den Kommentaren auf seinen Eintrag darüber auf, wie missmutig und unkonstruktiv denn deren Inhalte wären.”Es gibt ein paar einfache Regeln, die – solltest Du sie beachten – Dir ein langes Leben bescheren werden.” (na, na, welcher Film?) Spass beiseite: In Partnerschaftsbeziehungen von Unternehmen haben öffentliche Blogs nichts zu suchen, wenn die Inhalte auch nur ansatzweise vertraulich sind. Dazu gehören für mich Aussagen wie “…Das Unternehmen steht bekanntlich mit dem Rücken zur Wand…” oder “…Gut, ihre Entscheidung – vielleicht schaffen die es ja mit Cost-Cutting auch. Fuhrpark weg, Produktionsstätten schliessen, etc. – am Ende dann eine Fusion….”. Bitte lest den gesamten Artikel, um euch ein Bild zu machen.Leider konnte ich Hrn. Huber diese Kritik nicht nahebringen, sodem also hier das “manuelle” Kommentar

Veröffentlicht unter Unsortiert | 10 Kommentare

Office Pr0n

Als bekennenden Arbeitsplatz-Fetischist machen mich die Bilder des neuen Büros von Todd Dominey massiv an. Mehr gibt’s auf Flickr hier, hier und hier. Todd ist einigen älteren Bloggern vielleicht noch von seinem Blog What Do I know bekannt (gefunden bei Cameron Moll).

Veröffentlicht unter Unsortiert | Hinterlasse einen Kommentar

Savage frei zum Download erhältlich

Die Savage-Demo sorgte damals für ein paar abwechslungsreiche Multiplayer-Nächte. Der für mich sehr gelungene Spagat zwischen Echtzeit-Strategie und Shooter (und sogar ein wenig RPG) überraschte mit fesselnden Schlachten auf den wenigen erreichbaren Servern. Ich verlor das Spiel aus den Augen, hatte schliesslich (wenn ich mich mal daran erinnerte) Zweifel, ob es überhaupt erschienen war. Savage2 ist nun schon länger in der Entwicklung und im Zuge des bevorstehenden Releases hat die Firma den etwas in die Jahre gekommenen ersten Teil Savage: The Battle for Newerth kurzerhand zum Download freigegeben.Was soll ich sagen? Ich bin entzückt! Grandioser Schachzug der Firma, grandioses Spiel, grandios müde werde ich am Montag sein.Die Grafik des Spiels wirkt etwas altbacken, vergleichen kann man es ungefähr mit Battlefield 1942 (denke ich). Wer sowas als Manko ansieht, wird sicherlich durch den unglaublich abwechslungsreichen Spielverlauf entschädigt. Der Charme des Spieles ist dabei die Einfachheit. Einzig die rudimentärsten Elemente der beiden Genres kommen zum Einsatz, der Rest ist abhängig von den 64 Spielern, die in einem Match aufeinandertreffen können. Die Waffenauswahl ist recht beschränkt und recht gut balanciert, die Maps sind zeitweise etwas zu “klassisch”, aber dennoch mehr als ausreichend.Im Spiel selbst existieren zwei Rassen (ich habe soviel gespielt, dass ich noch keine Zeit hatte, mich mit der Hintergrundgeschichte zu befassen): Menschen und Tiere. Beide Rassen sind mit ein paar wenigen Spezialfähigkeiten gesegnet, Menschen können Schläge blocken, Tiere können mehrere Meter weit springen. Abgerundet werden Waffen und Fähigkeiten durch mittlerweile typische Spielelemente, die zusätzlich noch dem Rollenspiel entnommen sind. Macht man sich für sein Team bezahlt, z. B. durch Töten der Gegner, duch Bau von Gebäuden oder den Abbau von Resourcen, steigt man bis zu 9 Leveln auf (dann winkt eine Komplettrüstung). Der gewählte Commander sieht das Spiel dabei in der RTS-Draufsicht. Er “befehligt” die Spieler, die gut daran tun, auf die Kommandos zu reagieren, denn einzig der Commander besitzt eine Komplettübersicht über das Spielgeschehen und sollte tunlichst am besten über die nächsten Spielzüge entscheiden können. Der Commander ordnet den Abbau von Resourcen an, läßt Gebäude bauen und Technologien erforschen. Ist genug Gold da, kann er auch einzelne Spieler “promoten” – ihnen vorab ein Level schenken, so dass stärkere Waffen, Rüstungen oder mehr Lebensenergie zur Verfügung steht. Stirbt man, spawnt man an einem der eroberten Stützpunkte der Map.Eine recht kleine aber eingeschworene Gemeinde kümmert sich dabei liebevoll um die Weiterentwicklung und teilweise sogar um das Bugfixing (was für ein Spiel ;). So finden sich in der Community entwickelte Zusatzbibliotheken, die installiert werden müssen, bevor ich einige der Server betreten darf. U. a. gibt es eine Art “Punkbuster” zum verhindern von Cheats und eine Lösung für das im ungepatchten Originalzustand des Spiels so häufige “Steckenbleiben” zwischen Gebäuden. Eine Menge Infos für Einsteiger finden sich im übrigen z. B. auf den Seiten des Evolved Clans.Viel Spass!

Veröffentlicht unter Unsortiert | Hinterlasse einen Kommentar

Kleiner Hinweis zu Webservices mit NuSOAP

NuSOAP ist schon eine feine Bibliothek für PHP4. Sehr praktisch. Scott Nichol kümmert sich derzeit liebevoll um eine regelmäßige Weiterentwicklung, ich hatte auch bereits schon einmal darüber geschrieben: SOAP, WSDL-Erzeugung und Proxymethoden frei Haus.Ab und an bin ich selber daran hängengeblieben: Hat die entgegennehmende Seite (oder sendende Seite) ein anderes Charset, hapert’s mit der Funktion. Man freut sich über folgende Fehlermeldung im Debug-String:Charset from HTTP Content-Type matches encoding from XML declarationFür alle die, die darüber stolpern, gibt es Hilfe:$soapclient = &new soapclient($this->soapurl);$soapclient->soap_defencoding = "UTF-8"Der Trick mit der in der Doku zumindest als public deklarierten Eigenschaft steht auch im Fliesstext in der Einführung, hätte ich auf früher drauf kommen können ;)

Veröffentlicht unter Unsortiert | Hinterlasse einen Kommentar

Unaufdringliches Scrollen in großen Webseiten

Bei der Verwendung von JavaScript in einer Webseite ist es nach wie vor wichtig, dass man die mächtige Scriptsprache “unobtrusive” (engl.: unaufdringlich) einsetzt. Das bedeutet, dass die eingebundenen Funktionen nur aufgerufen und genutzt werden, wenn der Browser dies unterstützt. Kann der Browser JavaScript nicht verwenden, kommen stattdessen die standardmäßig vorhandenen HTML-Funktionen zum Einsatz. So wird gewährleistet, dass die Benutzung der Seite mit als auch ohne clientseitigem Scripting funktioniert.Normalerweise präpariert man in diesem Sinne zunächst die HTML-Funktionen und lädt die gewünschten JavaScript-Funktionen über den Eventhandler onload dazu. Die Webseite wird dadurch zunächst vom Browser normal geladen, erst nach Abschluss des Ladevorgangs werden die JavaScript-Funktionen hinzugefügt, welche nachträglich einige Standardfunktionen (z. B. Hyperlinks) ergänzen oder ersetzen. Jeremy Keith hat diesem Thema in seinem (hervorragenden) Buch Dom Scripting ganze Kapitel gewidmet. In einem Beispiel-Abschnitt seines Buches beschreibt er unter anderem diese Unaufdringlichkeit.

Der Anwendungsfall

Beim Redesign der Webseite der Kölner Agentur mediastyles, beschlossen wir zum einen, die gesamten Informationen auf einer Seite abzubilden und zum anderen, die freie, unaufdringliche Diashow lightbox2 von Lokesh Dhakar zu verwenden. Lightbox2 öffnet – sofern JavaScript aktiviert oder verfügbar ist – verlinkte Bilder in einer Ebene oberhalb des Inhalts und blendet die Webseite mit einem halb-transparenten Layer aus. Die Bibliothek ist sogar in der Lage, automatisiert Diashows zu erzeugen, wenn die Links zu den Bildern entsprechend attributiert sind. Ist JavaScript nicht verwendbar, werden die Bilder wie gewohnt im Browserfenster angezeigt. Den Effekt kann man mit den Beispielen auf der offiziellen Webseite nachvollziehen.Lightbox2 verwendet dazu die in letzter Zeit oft erwähnten JavaScript-Bibliotheken, bzw. -Frameworks prototype und script.aculo.us, um die entsprechenden Bild- und Diashoweffekte zu erzeugen. Während prototype als sogenanntes Framework (man mag über diesen Titel streiten) ergänzende Funktionen zum Standardumfang von JavaScript bereitstellt, enthält script.aculo.us eine Vielzahl von Effekten, die – je nachdem – die Verwendung einer Webseite oder einer Web-Applikation durch bestimmte Visualisierungen vereinfachen.Unter anderem gibt es in der Bibliothek script.aculo.us einen Scrolleffekt, der das herkömmliche Anspringen eines Ankerlinks durch ein langsames Scrolling ergänzt. Da nun die mediastyles-Webseite sehr gross war, empfanden wir diese Art Scrolling als eine unterstützende Massnahme bei der Navigation durch die Seite. Der Usability-Aspekt mag diskutierbar bleiben, aber den Effekt an sich empfanden wir als sehr angenehm, da die Bewegung durch die Seite für den Benutzer nachvollziehbar wurde. Effect.ScrollTo erwartet als Parameter die #id des anzuspringenden Elementes.

Die Umsetzung

Es wurde also geplant, zunächst normale Ankerlinks zu verwenden (…a href=”#objektid…). Nach Laden des Dokumentes und bei vorhandener JavaScript-Unterstützung seitens des Browsers sollte ein onload-Handler eine JavaScript-Funktion aufrufen, die das normale Sprungverhalten, durch den Scrolleffekt ergänzt. Um die Ankerlinks per JavaScript ansprechen zu können, wurden sie alle mit der Klasse “softscroll” versehen. prototype führt unter anderem das Äquivalent zur nativen JavaScript-Funktion getElementsByID für Klassen ein: getElementsByClassName – so blieb das selbstgebastelte Klettern durch einen Array von Links auf der Suche nach den korrekten Klassen schon einmal aus – sehr hilfreich.Der Funktionsablauf in der Theorie:

  1. Sicherheitscheck zur Fehlervermeidung (Prüfung ob die benötigte Funktion zur Verfügung steht)
  2. Alle mit der Klasse “softscroll” versehenen Links in einen Array lesen
  3. Den Array durchlaufen
  4. In der Schleife für jeden Link einen onclick-Eventhandler hinzufügen, der den Effekt aufruft und als Parameter den vormaligen Wert des Ankerlinks verwendet

Jetzt an das Eingemachte:Zunächst wollten wir prüfen, ob überhaupt ein mit “softscroll”-attributierter Link da ist, um ggf. ohne Fehlermeldung abbrechen zu können, gleichfalls wird überprüft, ob der Browser das DOM unterstützt:

function loadSoftScroll (){if (!document.getElementsByClassName('softscroll')) {return false;}}

Nun werden die Links in den Array “links” gelesen:

function loadSoftScroll (){if (!document.getElementsByClassName('softscroll')) {return false;}var links = document.getElementsByClassName('softscroll');}

Es folgt der Aufbau der Schleife und darin die Erzeugung eines onclick-Handlers für die Links:

function loadSoftScroll (){if (!document.getElementsByClassName('softscroll')) {return false;}var links = document.getElementsByClassName('softscroll');for (var i = 0; i < links.length; i++) {links[i].onclick = function () {}}}

Schliesslich muss noch der Anker aus dem Link gezogen (Browser ergänzen dort den gesamten URL) und der Effekt hinzugefügt werden:

function loadSoftScroll (){if (!document.getElementsByClassName('softscroll')) {        return false;}var links = document.getElementsByClassName('softscroll');for (var i = 0; i < links.length; i++) {links[i].onclick = function (){var parts = this.href.split('#');new Effect.ScrollTo(parts[1]);return false;}}}

Ein onload-Handler sorgt für den Abruf der Funktion:

window.onload = function (){loadSoftScroll ();}

Das wär’s, klappt prima :) Alle Ankerlinks (die auch ohne JavaScript funktionieren) werden nach Laden des Dokumentes mit dem script.aculo.us-Scrolleffekt versehen, so dass dem Benutzer beim Navigieren durch eine große Seite veranschaulicht wird, wohin und wie weit er sich denn gerade bewegt. Der Effekt kann auf der mediastyles-Webseite angesehen und ausprobiert werden.

Weitere Links (Update: 11. März 2007)

Viel Spass beim Basteln!

Veröffentlicht unter Unsortiert | Verschlagwortet mit , , | 17 Kommentare

Testbild

TestbildOhne Worte

Veröffentlicht unter Unsortiert | Hinterlasse einen Kommentar