tiny little gizmos

Please, release me…

Neulich standen wir bei einem größeren PHP Projekt, das auf dem Zend-Framework basiert, vor der Aufgabe, die Systeme so einzurichten, daß eine flexible Releaseplanung möglich wurde. Die übliche Trennung in Live, Staging und Developmentsystem und das SVN Repository reichten nicht mehr aus, weil die Anforderungen gestiegen waren.

Die oberste Priorität bei dem Projekt ist Stabilität. Gleichzeitig hagelt es aber ununterbrochen Sonderwünsche von verschiedenen Fachabteilungen. Der einfache entwickeln-testen-livestellen Workflow genügt so nicht. Was ist also zu tun?

Wir entschieden uns, das Projekt grundsätzlich in einen Entwicklungszweig (devel) und einen stabilen Produktionszweig (stable) zu teilen. Dementsprechend gibt es für den Stable-Branch die übliche Devel-Staging-Live Umgebung. In diesem Zweig werden ausschlißelich Bugfixes gepflegt, während Funktionsänderungen und Ergänzungen ausschließlich in dem Devel-Zweig vorgenommen werden, in dem jeder Entwickler einen eigenen Arbeitsbereich hat.

Das ist zwar schon besser, löst aber noch nicht die Problematik mit den Anforderungen der Fachabteilungen, die häufig nicht auf ein neues Major Release warten wollen oder können. Also haben wir die bisherige Applikation in Fachanwendungen und gemeinsam genutzte Basisfunktionen geteilt. Nun stellte sich die Frage, wie man das bei einer Zend FW-basierten Anwendung macht und wie die Versionsverwaltung dafür aussehen kann. Schließlich liegen alle Controller in einem Verzeichnis, alle Models in einem Verzeichnis und alle Views ebenfalls in einem Verzeichnis.

Refactoring
Die Lösung ist, alle Controller einer Fachanwendung in ein eigenes Unterverzeichnis zu packen und dasselbe mit den Models und den Views zu tun. Dementsprechend ändert sich selbstverständlich die Benamung von Dateien, Klassen und URLs. Ein fiktives Beispiel:

Der Controller ‘Abrechnung‘ gehört zur Fachanwendung ‘Bestellungen’. Nun lag also bisher im Verzeichnis ‘application/controllers/‘ die Datei ‘AbrechnungController.php‘ mit der Klasse ‘AbrechnungController‘. Die URL lautete dementsprechend ‘http://servername/abrechnung/‘.

Nach dem Umbau liegt die Datei ‘AbrechnungController.php‘ in dem Verzeichnis ‘application/controllers/Bestellungen‘ und die Klasse heißt nunmehr ‘Bestellungen_AbrechnungController‘. Die URL ist daher nun ‘http://servername/bestellungen_abrechnung/‘.

Versionskontrolle
Da nun die einzelnen Applikationteile getrennt sind, können sie jeweils in separate Subversion Repositories gepflegt werden. Genauer gesagt, gibt es weiterhin nur eines, das aber wie folgt eingerichtet wird: Im Repository gibt es für jeden Applikationsteil (Basis und Fachanwendungen) ein eigenes Unterverzeichnis. Innerhalb dieses Unterverzeichnisses folgt die üblich Einteilung in ‘trunk’ (Hauptzweig), ‘branches’ (Release) und ‘tags’. Das sieht dann ungefähr so aus:

repos/
    base/
        branches/
        tags/
        trunk/
    bestellungen/
        branches/
        tags/
        trunk/
    rechnungswesen/
        branches/
        tags/
        trunk/

Ein Release ist nun ein Branch von ‘base’ in das bestimmte Releases der jeweiligen Fachaanwendungen per svn:external eingebunden wird. Es ist also bspw. möglich, eine Version 1.2 mit ‘Bestellungen 0.7’ und ‘Rechnungswesen 1.4’ zusammenzustellen.

In den nächsten Wochen wird sich zeigen, ob die Praxis hält, was wir uns in der Theorie so schön ausgedacht haben.

Steampunk bei Clockworker

Ich bin vor ‘ner Stunde über diesen wirklich sehr liebevoll gemachten Blog (http://clockworker.de/cw/) zum Thema Steampunk gestolpert. Seitdem stöbere ich durch die Artikel und bin begeistert. Klasse Bilder, seltsame Maschinen, schräge Videos und hin und wieder auch mal ‘ne attraktive Frau. Ich finde diese Genre einfach toll.

chill

Ahhhh, 4 Tage frei.

So langsam verblasst der gestrige Strassenwahnsinn. Um 17:15 Feierabend in Hamburg – um 22:15 zu Hause in Berlin. Bis zur Autbahn im “weniger-als-Schritt-Tempo” um dann nahtlos in einen 15 KM-Stau überzugehen und die restlichen ca. 250 Km bis Berlin Stoßstange an Stoßstange. Das brauche ich nicht so häufig.

Aber nu ist erstmal Ruh’!

California 09 – die Vorbereitungen laufen an

Marco von cleantechies.com hatte mich neulich für Anfang Mai zu einem Workshop nach Kalifornien eingeladen. Zeitlich passt das gerade ganz gut und thematisch finde ich die Fragestellung, wie Onlinemarketing im Umwelttechnologiesektor eingesetzt werden kann auch recht spannend. Schlechtestenfalls gibt es interessante Gespräche und bestenfalls haufenweise Ideen oder sogar ein kleines neues Tool. Warum also nicht mal wieder nach Kalifornien fliegen?

Ich habe einen erstaunlich günstigen Flug bekommen und der Mietwagen reisst auch keine allzugroßen Löcher ins Budget. Die Motelpreise machen mir allerdings noch etwas Kopfzerbrechen. In den letzten zwei Jahren haben diese recht beachtlich angezogen, aber Marco meinte, daß wir da schon eine Lösung finden werden.

Okay, ich bleibe entspannt. Das ist ohnehin die richtige Grundhaltung für “cali”. Ich freue mich auch schon auf die leckeren Lebensmittel von Trader Joe’s – hmmm…

Seit einiger Zeit muß man sich ja vor der Einreise in die USA online registrieren. Irisscan und Fingerabdruck haben sie ja von mir schon seit meiner letzten Reise. Jedesmal ein neuer Spass – sind schon lustig die Jungs und Mädels von der “homeland security”. Wenn man deren Registrierungsseite aufruft, bekommt man erstmal ein wirklich riesiges Popup zu sehen, daß einen erstmal ein wenig einschüchtert. Aber eines muss man den Amis lassen – ehrlich sind sie. Da könnte sich das BKA mal eine Scheibe von abschneiden.

Hinweis bei der ESTA Registrierung

Beachten Sie bitte die Warnhinweise

Das Registrieren an sich ist aber selbst für Berufsparanoiker wie mich völlig harmlos und eigentlich komplett überflüssig. Als Deutscher nimmt man ja i.d.R. am Visa Waiver Program teil, d.h. man muss vor der Einreise kein Visum beantragen, wenn man nicht vorhat länger als drei Monate in den USA zu bleiben oder dort zu arbeiten. Bei der Onlineregistrierung muss man nun im Prinzip genau dieselben Daten angeben, die man früher auch schon auf diese grünen Zettel schreiben musste, die man im Flugzeug bekommen hat. Name, Ausweisdaten, Adresse in den USA und eine handvoll Fragen, die man gar nicht glauben mag, wenn man sie zum ersten mal liest (“Sind Sie Krank, drogenabhängig oder planen Sie terroristische Anschläge…?“). Letztlich aber gar nichts Neues.

Jedenfalls freue ich mich schon und vielleicht schaffe ich es ja diesmal auf ‘nen Golfplatz oder mir wenigsten einige interessante alternative Wohnformen (Hausboote usw.) anzusehen.

Gute Argumente gegen Twitter

Obwohl ich selbst seit mehr als zwei Jahren bei diesem Microblogging/Groupmessaging Zeug mitbaue und mitmache, ist mein Verhältnis dennoch etwas ambivalent.

Einerseits halte ich solche Tools prinzipiell für genial, weil sie meiner Meinung nach ein tatsächlich vorhandenens Kommunikationsbedürfnis auf einfache Art befriedigen.

Andererseits kommt es immer darauf an, was die Menschen draus machen. Das ist aber genau der Knackpunkt. Und das war auch schon das Problem bei Newsgroups und E-Mail: Zwei Dienste, die man heutzutage kaum noch vernünftig benutzen kann.

Michael Seemann hat auf seinem Blog vor einiger Zeit eine “nur” emotional begründete Kritik vorgebracht: “Twitter stinkt!“. Die Kritik halte ich trotzdem für relevant, weil Emotionalität in Kommunikationsfragen über hopp oder top entscheiden kann. Jetzt hat er aber auch noch eine sachlich begründete Kritik geschrieben: “Das Ende von Twitter“.

Die Kernthese ist: Twitter ist eine “Sendeblase”: “niemand hört irgendwem noch zu. Jedenfalls tendentiell.

Wie jedes Medium das eine relavante Reichweite erreicht hat, wird nun auch twitter von Neugierigen und Geschäftemachern vereinnahmt und zunehmend missbraucht. Das kann die Idee zerstören, noch bevor sie bei dem breiten Publikum überhaupt angekommen ist.

Das Undenkbare

Mal wieder Clay Shirky: “Newspapers and Thinking the Unthinkable“. Klasse Artikel über die Zukunft der Zeitungen – und eigentlich jeglicher Mediendistributionskanäle. Die Quintessenz für mich:

It makes increasingly less sense even to talk about a publishing industry, because the core problem publishing solves – the incredible difficulty, complexity, and expense of making something available to the public – has stopped being a problem.

Warum? Warum? Was für ‘ne besch… Frage!

Ich wollt’ ja nix dazu schreiben. Diese ganze Amoklauf-Scheiss und das abgrundtief eklige Mediengewichse danach. Verlogen bis sonstwohin. Dieses falsche Betroffenheitsgetüter – damit meine ich natürlich nicht die wirklichen Betroffenen. Mein tieftes Beileid. Ehrlich.

Natürlich hat der Junge auch Ballerspiele gespielt (wie fast jeder in dem Alter) und so weiter. Jedesmal dieselbe Leier. Ein guter Grund für einen Amoklauf ist übrigens die Medienberichterstattung danach. Ein anderer Grund ist, daß man als Jugendlicher irgendwann feststellt, in welche gesellschaftlichen und wirtschaftlichen Mechanismen und Strukturen man reingepresst werden soll. Wenn man nicht völlig abgestumpft ist, erzeugt das natürlich extremes Unwohlsein. Das in einer Zeit, in der man mit sich selber schon nicht klarkommt. Und dann ist da natürlich der Horror schlechthin: die Schule selbst. Was für ein gottverdammter Alptraum, wenn ich daran zurückdenke.

Und genau dazu habe ich gerade einen guten Artikel auf dem Blog “Graubrot” gefunden: “unfassbar?“. 100% Zustimmung.

Lebensdauer von Kurznachrichten in Microbloggingdiensten

Cem Basman hat vor ein paar Tagen auf seiner Seite zur Microblogging Conference die folgende Behauptung aufgestellt:

Ein Tweet hat etwa die Lebensdauer von 5 Minuten“.

Das ist nicht falsch, allerdings auch nicht die ganze Wahrheit, wie ich selbst festgestellt habe.
Das Schöne daran, wenn man seinen eigenen Microblogging-Service (www.zzap.de) nutzt, ist daß man genau die Features einbauen kann, die einem wichtig sind. Neben der Unterstützung von Handies und Fotos nutze ich eigene Shortlinks um beispielsweise auf neue Blogeinträge hinzuweisen und nicht externe Dienste wie tinyurl. Das ermöglicht mir, eigene Statistiken aufzustellen.

Ursprünglich hatte ich nämlich vor, die Nachrichten nach zwei oder drei Wochen zu löschen. Ich war davon ausgegangen, daß Nachrichten nur ein bis zwei Stunden aktuell sind und nach einer gewissen Frist nicht mehr gelesen werden. Tatsächlich ist das aber nicht so. Ich habe für meine eigenen Kurznachrichten folgendes festgestellt:

  • Gemessen an der Anzahl meiner Follower habe ich sehr viele Leser des Originalartikels. 50% und mehr sind keine Seltenheit.
  • Die ersten Leser habe ich in der Regel bereits in der ersten Minute nach Veröffentlichung.
  • Die meisten Leser habe ich innerhalb der ersten 10 Minuten
  • Es kommen allerdings auch nach Wochen oder Monaten noch Leute auf den Artikel. Eine Artikel vom 04.11.09 hatte den letzten Leser am 04.03.09
  • Mittlerweile nutzen einige Leser mobile Endgeräte wie iPhone oder normale Handys

Für das Maketing relevant sind m.E. tatsächlich bestenfalls die ersten 60 Minuten mit einem klaren Peak in den ersten 5. Allerdings scheinen die Zugriffe nie völlig abzuebben. Die Verteilung sieht dann so ähnlich aus, wie bei dem Artikel “Aus dem Leben eines Stubentweets” auf live.hackr. Nur daß es einen sehr langen – äh – “long tail” gibt.

OMG, ist – das – gut !!!

Bisher habe ich Georg Schramm für den besten Deutschen Kabarettisten gehalten. Ich habe mich getäuscht und tue ihm massiv unrecht. Er spricht einfach nur die Wahrheit aus – und zwar mit angemessener Artikulation.

Stinken gekürzte RSS Feeds?

Ich bin gerade wieder mal über einen Artikel gestolpert, in dem gekürzte RSS-Feeds gegeißelt werden. Die vielen Kommentare stoßen alle in dasselbe Horn: gekürzte RSS-Feeds stinken.

Hmmm…

Obwohl mein Feed nicht stinkt – bin ich wirklich der Einzige, der das anders sieht? Im Gegenteil – oftmal nerven mich Volltext-Feeds so richtig. Ein absolutes Negativbeispiel ist in meinen Augen Techrunch. Nicht nur daß der Feed werbeverseucht ist. Die Artikel beinhalten auch noch Bilder und sind oftmals extrem lang.
Hey – wenn ich das will, rufe ich lieber die Website auf, weil die nicht so ein beschissenes Layout bietet, wie mein Feedreader.

Wozu sollten Feeds denn eigentlich gut sein? In meinen Augen sollten sie einen schnellen Überblick über viele Artikel aus vielen verschiedenen Quellen bieten. Wenn mich einer interessiert, klicke ich auf den Link und bekomme den vollständigen Artikel mit allem Tschingderassabum, wie Bildern, Videos und natürlich auch Werbung, die die Site refinanziert.

Volltextfeeds versauen die Übersichtlichkeit und funktionieren mit eingebetteten Medien nicht in mobilen Endgeräten. Aussagekräftige Teaser sind meines Erachtens wesentlich sinnvoller.

« Previous PageNext Page »