Seth Godin’s Show And Tell

Wieder einmal ein wunderbarer Artikel von Seth Godin, der uns vor Augen führt, das die Religiösität im Marketing allgegenwärtig ist. Wir lieben, kaufen und wünschen uns Produkte, weil wir glauben. Wir glauben dem coolen, älteren, sympathischen Herren mit dem Apfel, der immer so tolle Vorführungen hält. Wir glauben an die Kraft der teuren Fussballschuhe mit dem Haken oder den drei Streifen. Wir glauben an Deutschland sucht den Superpopstar. Wir glauben, dass Geiz geil ist und manche glauben auch daran, dass Herr Cruise in seinem neuesten Film tatsächlich alle Stunts selbst ausgeführt hat und kaufen sich eine Eintrittskarte. Wir glauben an den wirklich sicheren Komfort in dem Auto mit dem Stern. Wir glauben, so eine Wii könnte einen wirklich wieder in die Goldgräberzeit des Atari 2600 zurückversetzen. Wir glauben auch daran, mit der neuen Kamera werden die Bilder wie in der Werbung. Wir kaufen keine Produkte, wir kaufen Geschichten. Wunderbar unglaublich.

Veröffentlicht unter Unsortiert | Hinterlasse einen Kommentar

Endlich: oliverschwarz.org wieder in meiner Hand

Nach fast 1,5 Jahren habe ich meine Lieblingsdomäne oliverschwarz.org wieder in meiner Hand. Bei einem zwangsweise gesteuerten Übergang von einem Provider zum anderen (Auslagerung von Privatkunden), wurde der .org-KK nicht richtig durchgeführt, es gab für mich keinen Ansprechpartner beim alten Provider, zwischenzeitlich hatte ich selbst nicht die Zeit, mich drum zu kümmern, so zogen die Tage ins Land (Kurzes Lob: Am Ende ging alles aber ganz schnell und reibungslos, danke VPServer, danke netclusive)Jetzt ist aber wieder alles gut und ich überlege mir schon die ersten Einsatzzwecke für das Schätzchen. Ich denke, ich werde hasematzel.de von allem Technischen trennen (damit meine Pumpels nicht immer mit diesem blöden CE-ESS-ESS und dem JavaScript konfrontiert werden), sprich: Technik und Web kommen auf oliverschwarz.org, Privates und der ganze Spass läuft weiter hier.Bleibt nur zu entscheiden, welches Werkzeug ich einsetze. SimpleLog macht mich schon an, mein Provider bietet mir aber nicht das erforderliche Ruby on Rails. Alp ist gerade auf Serendipity umgestiegen und auch für mich würde es mal Zeit, das vielbeachtete Blog-Werkzeug von meinen Testsystemen in eine Produktivumgebung zu bringen. Manuela Hoffmann nutzt die ExpressionEngine. Da fällt die Wahl schwer.Naja, Kommt Zeit, kommt Werkzeug.

Veröffentlicht unter Unsortiert | Hinterlasse einen Kommentar

Mein eigener kleiner Beitrag zu Google Code und der PHP-Windows Völkerverständigung (oder: Excel aus PHP generieren)

Zwei Dinge haben mich schon lange genervt: Excel aus PHP generieren und ich habe kein eigenes Code-Projekt, obwohl ich an manchen Tagen 15 Stunden im vi hänge. Sprach’s und schlug beide Fliegen mit einer Klappe. Google Code ist Googles Sourceforge (oder fooforge oder barforge oder was-auch-immer-forge). Neben den ganzen (offenen) Entwicklungen bei Google, enthält es auch ein “Projekt Hosting” – jeder kann dort seine Projekte hosten, entwickeln, sich darüber austauschen etc. Neben einem pro Projekt verfügbaren Subversion gibt es ein kleines Wiki, ein paar editierbare Seiten, ein winziges Ticketsystem und …äh… 100 MB Speicherplatz.

Die Crux mit Excel

Excel-Dokumente aus PHP generieren ist schmerzhaft. Terabyte-grosse Bibliotheken bieten alles bis zum letzten Graphen, funktionieren am Ende aber nur leidlich gut. Klar, PHP = UNIX (pssst, ich hoffe, das hört kein PHPler hier), Excel = Windows, ergo PHP & Excel = nicht gut. Dabei ist alles, was ich normalerweise in Excel packen will, wirklich überschaubar: Ein zweidimensionales Array und Feierabend. Damit kann man meterweise unterschiedliche Anforderungen erfüllen.Ich habe mich nun schon wirklich oft umgesehen, die eine oder andere Bibliothek getestet und wieder verworfen. In der letzten Zeit nutze ich massiv (auf Rat von Martin) den MySQL Query Browser. Fantastisches Ding. Vor allem, wenn ich den einen oder anderen Dump generiere und als “Excel-Dokument” speichere, nutzt der Query Browser das Microsoft Open XML-Format für Microsoft Excel 2003. Excel öffnet das Ding daraufhin ohne Probleme für Leib, Leben oder Rechner.Nachdem die Glühbirne hell genug geleuchtet hat, kann ich nun endlich mein eigenes, winziges Codeprojekt veröffentlich: php-excel, eine wirklich kleine Klasse (in PHP5), um eine Excel-Datei aus einem zweidimensionalen Array zu erzeugen und diese per header() an den Browser auszuliefern.Im Wiki gibt es dazu bereits eine kleine Anleitung und eine frühe (aber voll funktionsfähige) Version kann man sich aus dem Subversion Repository Browser laden.

Nochmal zurück zu code.google.com

Gefällt mir prinzipiell sehr gut (ja, ja, ich kenne auch die witzigen Suchergebnisse für dummy+code usw.). TortoiseSVN auf einem Windows-Bock einzurichten und mit code.google.com ans Laufen zu bringen, war wirklich kein Aufwand (Tipp: Das Passwort zu eurem SVN ist NICHT euer GMail-Passwort ;). Vielleicht schreibe ich dazu nochmal einen Artikel.Wahrscheinlich habe ich wieder mal das Rad erfunden, ist mir aber egal, die anderen Räder waren mir zu schwer und rollen konnten die auch nicht richtig. Kommentare, Verbesserungswünsche oder -ratschläge und vor allem Testberichte gerne hier in den Kommentaren oder unter den issues auf der Projektseite.

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

jQuery-Plugins: Tabs und History

Das Mini-JavaScript-Framework jQuery erfreut sich bei mir bei überschaubaren Applikationen einer immer grösseren Beliebtheit. Über das URL-Parameter-Plugin hatte ich ja schon berichtet. Jetzt habe ich zwei weitere Plugins entdeckt, welche die Arbeit an Applikationen massiv erleichtern.Zum ersten gibt es ein unaufdingliches Tabs-Plugin. Unaufdringlich, weil die Funktion an sich über Ankerlinks schon die erwarteten Resultate bringt und ich über ein Inhaltsverzeichnis zu den jeweiligen Listen oder Objekten komme. Ist JavaScript aktiviert (die sogenannte Hijax-Technologie), übernimmt jQuery das Einsortieren in Tabs, so dass ich per Klick auf den Ankerlink den Inhalt des jeweiligen Tabs zu sehen bekomme. Eine Erläuterung findet man auf der Plugin-Seite und im dazugehörigen Blogeintrag.Das zweite Plugin ist ein “Kolumbus-Ei” (zumindest für mich), denn es bietet eine History-Funktion als jQuery-Modul. In meinem Beitrag Unaufdringliches Scrollen in großen Webseiten wurde schon diskutiert, wie denn bei der Übernahme von Daten per JavaScript oder sogar AJAX (und den damit verbundenen Änderungen auf Webseiten ohne visuellen Ladevorgang) die History-Funktion des Browsers getriggert werden kann, so dass der Zurück-Knopf weiterhin seine Funktion erfüllt.Genau dieses Problem scheint das Plugin History zu lösen (ich habe es noch nicht wirklich getestet).Was es heutzutage alles gibt, ts ts ;)

Veröffentlicht unter Unsortiert | Verschlagwortet mit , , | Hinterlasse einen Kommentar

Das Problem mit Caching in AJAX-Requests

Während ich hier gerade massiv in die AJAX- und jQuery-Welt abtauche, stosse ich bei der gesteigerten Komplexität meiner Applikationen vermehrt auf kaum reproduzierbare Caching-Probleme. Besonders bei komplett interaktiven Elementen (mehrere AJAX-Elemente einer Webseite, die bei Aktion geändert oder gesteuert werden), ergeben sich zuweilen lustige Cache-Artefakte. Mit Firebug kommt man dem Problem, aber nicht der Ursache auf die Schliche. Auch der Indianer ist nach entsprechender Um-Konfiguration nicht in der Lage, diesen Makel aufzulösen. Seltsamerweise scheint der Browser/Client selbst zu entscheiden, wann er auf den Cache zugreift und wann nicht, auch wenn ich ihn explizit (nach allen Regeln der Kunst) anweise, das nicht zu tun.AJAX-BuchcoverDie Lösung ist denkbar einfach (“Doh”-einfach – das hätte ich selbst wissen können, hmpf). Der Mitautor eines meiner liebsten AJAX-Bücher weiss Rat: Bei der Abfrage an einen bestimmten AJAX-Handler wird einfach eine zufällig generierte Zahl als GET-Parameter angehangen. Update: Dirk weist darauf hin, das mein vormalig verwendetes Date() nicht zufällig genug ist, ich habe deshalb den Code noch einmal angepasst (Danke ;). Für jQuery kann das so aussehen:$('#pawn').load (    "ajax-myajaxhandler.php?d="+Math.random() * 100000,    {        param: "param"    },    function ()    {        reloadUI(elem1,elem2,elem3);    });Klappt prima :) Any comments?

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

Kommentare in Weblogs per Chat – ein Versuch von Garrett Dimon

Neben einem wirklich ansprechendem Re-design (siehe dazu auch Garretts Artikel Designing for content) hat Garrett die Kommentarfunktion in seinem Blog versuchsweise abgeschaltet und stattdessen einen offenen Campfire-Chat aufgesetzt. In einem aktuellen Artikel fasst er die Erfahrungen und die festgestellten Vor- und Nachteile zusammen.Im Prinzip ist der offene Chat keine schlechte Idee – aber als Kommentarersatz? Eine Stärke der Kommentare in Blogs ist die Darstellung der Herkunft der Kommentarautoren, auf die zumindest ich gerne mal klicke, um mir mehr Informationen über den Mann hinter der Meinung zu holen. Das tue ich nicht nur in meinem Blog, sondern in allen Blogs, die ich so lese. So bin ich schon oft über eine lesenswerte Publikation gestolpert, die direkt den Weg in meinen Feedreader gefunden hat. Das – neben vielen anderen Dingen – fällt in einem Chat flach. Andererseits habe ich im Chat eine viel direktere Rückmeldung (falls der Blogbesitzer mal da ist – ein weiterer Schwachpunkt) und eventuell eine ansprechende Diskussion.Auf die bin ich aber vielleicht gar nicht scharf, weil ich nur schnell rein und raus will (ja, ja, wie die …), Artikel lesen, Kommentar schreiben und wieder weg. Zugegebenermaßen fällt es mir auch oft schwer, meine Kommentare zu verfolgen. Ich schreibe zwar nicht oft welche, aber bei den wenigen verliere ich ja schon nach 5 Tagen den Überblick, geschweige denn, dass ich eine Diskussion noch einmal nachhalte.Das erinnert mich an die späten 90er, als mir/uns Firmen den “Direkt-Service-Chat” anbieten wollten – am besten noch mit vorgeschaltetem Avatar, der aussiebt, bis dann tatsächlich ein armer Servicemitarbeiter Rede und Antwort im Browserfenster stehen muss. Meist waren diese Chats mit horrendem, technologischem Aufwand versehen und entsprechend bepreist. In kleinen Firmenstrukturen mag dies dagegen durchaus Sinn machen, ich befürworte den direkten Servicekontakt und eine direkte, menschliche Auseinandersetzung mit Kundenbedarfen.Wo war ich?Ah, ja. Ziemlich vom Thema abgekommen, aber egal. Also, “Chat statt Kommentare”, oder vielleicht ergänzend zu …? Schreib’ mir doch mal einer seine Meinung :)

Veröffentlicht unter Unsortiert | 2 Kommentare

Highrise von 37signals, oder: Kratzen, wo es juckt.

Seth Godin sagt, wir sind am Ende der Zeit, wo es ausreicht zu äussern, dass ein Produkt bemerkenswert ist. Um erfolgreich zu sein, muss ein Produkt auch bemerkenswert sein. Das sind – nach Seths Aussage – die Produkte, die eine Lösung für etwas bieten, die vorher nicht – oder nicht in dieser Form – verfügbar war.Ganz in der Tradition “kratzen, wo es juckt” stellt 37signals also den nächsten Rückenkratzer vor: Highrise, ein Kontaktmanager, der etwas mehr kann, als nur E-Mailadressen speichern. Wie immer entsteht diese Applikation aus persönlichem Bedarf. Sehr interessant.

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

Windows Vista hat eigentlich gar nichts mit”Wow!”zu tun

Eine riesige Marketingwelle zum neuen Microsoft-Betriebssystem überschwemmt derzeit auch den deutschsprachigen Raum. Mal abgesehen davon, dass das Ding im Moment komplett an mir vorbei geht (bei Microsoft-Produkten bin ich kein early adopter), begegnet mir Vista doch überall. Wunderbar allerdings die Antizipation und Begeisterung der “Offiziellen”, die man einem Foto in Seth Godins Blog bewundern kann (gefunden bei Simon Willison).Wow-PraesentationenDa schreit die Mimik geradezu vor Überzeugung.

Veröffentlicht unter Unsortiert | 1 Kommentar

URL-Parameter mit jQuery-Plugin auslesen

Bei der Gestaltung von AJAX-Anwendungen, die weiterhin auf den Einsatz von Skriptsprachen (wie PHP) angewiesen sind, ist es oft notwendig, Zugriff aus beiden Sprachen auf globale Informationen, wie z. B. URL-Parameter (oder $_GET-Parameter) zu haben. Schon letztes Jahr (Schande über mich) hat Mathias Bank ein kleines jQuery-Plugin geschrieben, das Entwicklern diesen Zugriff ermöglicht. Grossartig und Danke dafür.Also, Vorhang auf für $.getURLParam();.

Veröffentlicht unter Unsortiert | Verschlagwortet mit , , | Hinterlasse einen Kommentar

WriteRoom für Windows: Dark Room

Writeroom ist eine existenzielle Textverarbeitung für den Mac. Sinn der Software ist es, den Schreiber nicht durch Icons, Menüs, Schriftartenauswahl oder ähnlichem vom Schreiben abzulenken. Jetzt gibt es einen Klon, der unter Windows läuft: Dark Room.Dark Room ScreenshotPrima, eigentlich habe ich darauf schon länger gewartet. Damit es läuft, braucht Dark Room das .NET-Framework 2.0. Jetzt steht einer ausgewachsenen Karriere als Nachwuchs-Schriftsteller nichts mehr im Wege.

Veröffentlicht unter Unsortiert | 3 Kommentare