Good Food, Bad Food

Wir haben es satt! Heute waren 22.000 Menschen in Berlin für ökologisch nachhaltig erzeugte Lebensmittel und gegen die weitere Industrialisierung der Landwirtschaft, Tierfabriken, Gentechnik, sowie Dumping-Exporte auf der Straße - Und die Medien brechen das ganze Thema total auf den aktuellen Dioxin-Skandal runter. Dabei ging es um so viel mehr! Der Film zur Demo “Good Food, Bad Food” (aktuell in den Kinos) dokumentiert nicht nur, dass Chemie in den Lebensmitteln krank macht, sondern auch wie die konventionelle Art der Landwirtschaft die Böden zerstört, wie Großkonzerne Bauern in ihre Abhängigkeit bringen und auf diese Weise Hungersnöte auslösen. Ein radikales Umdenken ist nötig - mit oder ohne Dioxin im Essen!

Filmtipp: Banksy - Exit Through The Gift Shop

Use PureMVC - Drink Mate: Zwei Flex-Frameworks im Vergleich

Zugegeben: Dies wird jetzt kein fairer Vergleich! Von PureMVC bin ich begeistert - vom MATE-Framework halte ich nicht viel, außer “mal ganz Interessant einen anderen Weg zu sehen”. Leider bin ich zur Zeit in einem langfristigen Projekt an MATE gebunden. Einen Weg dieses Framework einzusetzen habe ich bereits in einem anderen Artikel in diesem Blog zusammengefasst und dabei einen ersten Vergleich zwischen MATE und PureMVC gewagt. Nun, knapp 3 Monate später hat sich mein erster Eindruck des MATE-Framework bestätigt: Es ist ein experimenteller Weg und für große Kundenprojekte einfach nicht sinnvoll! Hier eine Zusammenfassung, warum ich PureMVC immer vorziehen würde. [Read more →]

RubyAMF-Checklist

AMF ermöglicht es, einen besonders performanten Datenaustausch zwischen einer clientseitigen Flash- und einer Server-Anwendung zu realisieren. Die AMF-Datenpakete sind sehr klein und garantieren auf diese Weise eine geringe Übertragungszeit. Weiterhin wird das Format vom Flash-Player standardmäßig unterstützt, sodass die Serialisierung und Deserialisierung der Datenobjekte schnell und vor allem automatisch vorgenommen wird. Die Konvertierung in das Nachrichtenformat (und zurück zum Objekt) wird vom Flash-Player übernommen und erfordert keine zusätzliche Implementierungen oder Bibliotheken. Serverseitig nimmt ein AMF-Gateway die Client-Anfragen entgegen, konvertiert den Datenstrom in die entsprechenden Datenobjekte und delegiert diese zur gewünschten serverseitigen Objekt-Funktion (im Fall von Rails zu einer Action eines Controllers). RubyAMF ist ein solcher Gateway. Durch die Installation des entsprechenden Plugin in ein Rails-Projekt kann der Gateway eingerichtet werden. Das so genannte Class-Mapping ermöglicht es, dass die Objekte auf der entsprechenden Gegenseite richtig typisiert ankommen. In dem Fall, dass der Datenaustausch funktioniert jedoch das Class-Mapping fehlschlägt, kommen die Daten-Objekte als anonyme Objekte vom Typ Object in der Flash-Anwendung an. Zur Erleichterung der Fehlersuche, hier eine kleine Checkliste.

1. Die Klassen müssen in der RubyAMF-Config-Datei (config/rubyamf_config.rb) für das Mapping registriert werden.

2. Die Datenobjekte in Rails und Flash müssen die gleichen Attribute besitzen. Die Schreibweise in snake_case oder camelCase kann variieren, jedoch muss RubyAMF dazu entsprechend konfiguriert werden.

3. Bei ActiveRecord-Objekten muss die Datenbank-Migration ausgeführt worden sein.

4. Die ActionScript-Klassen der Datenobjekte müssen als RemoteClass registriert sein. Bei der Metatag-Variante ist darauf zu achten, dass [RemoteClass(alias="ObjectAlias")] direkt vor oder über der Klassen-Deklaration steht.

5. Die ActionScript-Klassen der Datenobjekte müssen in das Flash/Flex-Projekt importiert werden.

6. Die Klassen müssen in den ActionScript-Code importiert werden (!!!).

Und Uni lohnt sich doch…

Zum Abschied an der Beuth Hochschule für Technik Berlin gab es einen iPod-Touch. Da fällt einem der Abschied doch leicht :-) Oder läd ein zum Weitermachen: Denn wer weiß was es zum Master gibt… vielleicht ein iPad? Oder doch eher das WeTab, um für die Absolventen/innen durch Stärkung der regionalen Unternehmen auch gleich die Jobs zu sichern…? Und ich dachte immer Berliner (Hoch-)Schulen sind pleite.

Mate-Framework best practice - Ein Vorschlag zur Diskussion

Das MATE-Framework soll in Flex-Anwendungen eine lose Kopplung zwischen den einzelnen Programmteilen ermöglichen. Wesentlicher Bestandteil ist eine eine so genannte Event-Map. In der Event-Map werden Flash-Events abgefangen und auf entsprechende Funktionen gemappt. Weiterhin macht sich das Framework das Prinzip der Data-Injection zunutze. Dabei werden Datenobjekte auf Basis der Flex-Datenbindung “von außen” in ein beliebiges Objekt injiziert. Unterschiedliche Objekte können auf diese Weise Daten austauschen, ohne das eine Abhängigkeit zwischen ihnen besteht. Eine weitere Besonderheit von Mate ist, dass die Event-Map ausschließlich Tag-basiert ist und mit MXML implementiert wird. Mehr Informationen zur grundsätzlichen Arbeitsweise, sowie Code-Beispiele findet man auf der MATE-Homepage unter: http://mate.asfusion.com/.

Leider ist die Dokumentation des Framework sehr lückenhaft. Besonders der “Best Practice”-Teil kommt aktuell viel zu kurz (http://mate.asfusion.com/page/documentation/best-practices), ist allerdings dringend notwendig, da Mate sehr wenig Struktur vorgibt. Das Framework unterstützt zwar eine lose Kopplung zwischen den Objekten, garantiert jedoch nicht einen sinnvollen Software-Entwurf! Da ich aktuell in einem Projekt an Mate gebunden bin, habe ich anhand einiger Beispiele auf der Mate-Webseite eine “Best Practice” herausgearbeitet, die ich nachfolgend Dokumentieren werden. Diese “Practice” orientiert sich am MVVM-Designpattern (bekannt aus MS Silverlight) und ist nur eine Möglichkeit, wie das Framework zum Einsatz kommen kann.

[Read more →]

VideoDocs auf vimeo

Für die beiden Hochschulprojekte SemKingPeng und Caterpillar Garden, die 2008 und 2009 an der Beuth Hochschule für Technik entstanden, sind jetzt für alle Interessierten die Video-Dokumentationen auf Vimeo verfügbar. Der direkte Link zu meinem Profil lautet: http://www.vimeo.com/divisiondurch0

Die Projekte beschäftigen sich mit alternativen Navigationsstrukturen in Softwareprojekten. SemKingPeng ist ein Besucherinformationssystem für den Berliner Zoo, mit dessen Hilfe sich die BesucherInnen über ein Touch-Display über die Tiere informieren können. Caterpillar Garden ist eine Online-Community zur Registrierung der Population von Wanderfaltern. Die Besonderheit der beiden Projekte ist die grafische Navigation anhand der Bedeutungszusammenhänge (Semantik). Beide Projekte orientieren sich am Topic-Map-Standard. Viel Spass beim Schauen!

Übrigens bin ich begeistert von der Video-Plattform vimeo.com!!! Die Seite sieht einfach gut aus und fühlt sich auch so an. Die Usability zum Video-Upload finde ich sehr gelungen, AJAX wird sinnvoll eingesetzt und die Community-Features scheinen gut durchdacht. Auch HD-Videos werden unterstützt.

Raider heißt jetzt Twix: Über die erschreckend hohe Halbwertszeit blöder Werbesprüche

Da lagen sie, in der Snackbox im Büro, im Jahr 9 nach der Jahrtausendwende: Schokoriegel mit der Aufschrift RAIDER. So ziemlich alle, die diese Riegel erblickten, sagten den bekannten Spruch aus der TV-Werung zur Namensänderung Anfang der 90er Jahre auf: “Aus Raider wird jetzt Twix. Sonst ändert sich nix“. Erschreckend! Dieser Slogen hat sich so in unsere Köpfe gebrannt, dass er selbst nach fast 20 Jahren bei den meisten noch präsent ist, während andere (wohl wichtigere) Erinnerungen verschwunden sind. Vielleicht ist das der Grund, warum Twix (zumindest nach meinem Empfinden) aktuell eher wenig wirbt. Die Kampage von damals hält für immer. Und mit der aktuellen Special-Edition von Twix, die unter dem alten Namen RAIDER vertrieben wird, wird unser Werbegedächnis wieder aufgefrischt. Für die nächsten 20 Jahre - für die nächste Generation, die aktuell wohl verwirrt vor dem Süßigkeitenautomaten steht und sich fragt, warum dieser Riegel im Retro-Look Twix so ähnlich ist. Um so mehr wundert es, dass der Spot zum Slogen eigentlich nicht wirklich gut war, wie YouTube beweist. Wie konnte dieses Branding also geschehen???

Man hab ich Gigabytes…

… ey, glaubste nich. Alles voll. Kennste Internet?

Blitzschneller Rails-Flash-Datenaustausch via AMF

AMF steht für Action Message Format und bezeichnet ein Binärformat zur Serialisierung von ActionScript-Objekten. Das Format wird nativ vom Flash-Player unterstützt und ermöglicht einen besonders performaten Remote-Datenaustausch zwischen einer Flash- und einer Backendanwendung. Serverseitig wird ein AMF-Gateway benötigt, der sie Serialisierung und Deserialisierung des Datenstroms vornimmt und die entsprechende Objektfunktion aufruft. Um diese Art der Datenübertragung mit einem RubyOnRails-Backend nutzen zu können, steht RubyAMF unter einer leicht modifizierten MIT-Lizenz als Gateway-Plugin zur Verfügung.

Im aktuellen Railsway-Magazin (Ausgabe 06.2009) habe ich einen Artikel veröffentlicht, in dem der praktische Einsatz von RubyAMF beschrieben wird. Insbesondere wird auf das Class-Mapping eingegangen. Durch das Class-Mapping-Verfahren ist es möglich, dass Flash-Datenobjekte direkt als ActiveRecord-Objekte im Rails-Backend zur Verfügung stehen und weggespeichert oder aktualisiert werden können. [Read more →]

Deep-Linking in Flash- und AJAX-Anwendungen

Seitenmetaphern im WWW sind eine Verkettung einzelner Webseiten, die jeweils genau einen Zustand darstellen. Auf traditionellen Internetseiten wird bei einer Nutzeraktivität eine neue Webseite geladen, die einen neuen Zustand repräsentiert. Jede Seite und damit jeder Zustand kann durch eine URL adressiert werden. Durch den Einsatz von Flash- und AJAX-Anwendungen werden diese Seitenmetaphern durchbrochen, da die Client-Anwendungen unterschiedliche Zustände annehmen können. In solchen Anwendungen kann eine Kommunikation mit dem Server stattfinden, ohne dass die Seiten-URL wechselt. Durch diesen Umstand werden die typischen Browser-Funktionen “Seite vor” und “Seite zurück”, sowie die History-Anzeige außer Kraft gesetzt. Weiterhin können die Zustände der Anwendung nicht über eine URL adressiert oder als Bookmark gespeichert werden. [Read more →]

Was soll das Command-Pattern?

Wenn man lernt objektorientiert zu Programmieren, bekommt man eine einfache Faustregel an die Hand: Objekte sollen die Realwelt abbilden. Zur Klassen wird alles was ein Nomen ist. Attribute legen die Eigenschaften dieser Nomen fest, sind also in der Regel die Adjektive. Und Funktionen stellen die Verben da, die eine Handlung beschreiben.

Sobald man jedoch das Verständnis für OOP erworben hat, rückt diese Regel stark in den Hintergrund. Man beschäftigt sich mit “sauberer” Programmierung und einer Trennung der Zuständigkeiten zwischen Darstellung, Daten und Logik (MVC-Architektur), sowie einer losen Kopplung zwischen diesen Programmteilen. Besonders merkwürdig kommt einem das Command-Pattern vor, ein durch die GoF beschriebenes Verhaltensmuster. [Read more →]

Überwachung abwählen!

Bürgerrechtlerinnen und Bürgerrechtler rufen bundesweit zur Teilnahme an einer Demonstration gegen die ausufernde Überwachung durch Wirtschaft und  Staat auf. Am Samstag, den 12. September 2009 werden sie unter dem Motto “Freiheit statt Angst - Stoppt den Überwachungswahn!” auf die Straße gehen. Treffpunkt ist um 15.00 Uhr am Potsdamer Platz in Berlin. Die  Demonstration ist Teil des europaweiten Aktionstages “Freedom not Fear - Freiheit statt Angst”, zu dem länderübergreifend Proteste gegen die Überwachung der Bürgerinnen und Bürger stattfinden. Mehr Infos unter www.freiheit-statt-angst.de

Und am 27.10.2009: Wählen Sie überwachungswütige Politiker ab und geben Sie denjenigen Ihre Stimme, die sich glaubwürdig für Freiheit statt Angst einsetzen. Die Internetseite buergerrechte-waehlen.de gibt einen Überblick darüber, wie die einzelnen Parteien mit Freiheit und Grundrechten umgehen.

Die Notwendigkeit von informationeller Selbstbestimmung habe ich im Blog-Eintrag “Informationelle Selbstbestimmung und warum doch jeder etwas zu Verbergen hat” kurz zusammengefasst!

Die Welt von oben

Beeindruckende Bilder gibt es derzeit kostenlos, in Spielfilmlänge und HD-Qualität auf YouTube: HOME. Der Film von Yann Arthus-Bertrand zeigt die Erde aus der Vogelperspektive und macht auf deren massive Zerstörung aufmerksam. Zum YouTube-Channel von HOME

Hoffnungsvoller TV-Spot zur Europawahl

Parteiprogramme neigen ja schnell dazu langweilig zu werden und die Politikerköpfe auf den Großplakaten reißen auch eher niemanden vom Hocker. Sobald jedoch Parteien versuchen etwas Entertainment in ihren Wahlkampf zu bringen, bleiben meist die eigenen Inhalte auf der Strecke. Als besonderes Negativbeispiel sei an die 18-Kampagne der FDP vor einigen Jahren erinnert. Und im aktuellen Europawahlkampf zeigt die SPD medienwirksam, wie man mit lustigen Plakaten wenig Inhalte transportiert. Politik als Marke, weit ab von Ideologie?

Hoffnung machen die Grünen. In einem TV-Spot zeigen sie, wie es geht ihre Inhalte durch Unterhaltung zu vermitteln. Schon klar… Details zur Umsetzung und klare politische Forderungen kommen auch hier nicht vor, aber die Kernthemen grüner Politik werden zumindest dargestellt. Und vielleicht ermutigt ja dieser Spot den einen oder anderen die Hintergründe in langweiliger, old-school Manier in textlicher Form zu recherchieren.

Bleibt nur abschließend eine grundsätzliche Frage: Wieviel Marketingexperten und Werbestrategen in der Politik sind gut für eine Demokratie?