Ich konnte es eigentlich kaum glauben und hab mir deshalb alle Flash-Plugins für WP gegeben.  Aber das ernüchternde Ergebnis ist, es gibt unter den unzähligen, teilweise wahnsinnig kompizierten Flash-Plugins für WP kein Einziges, das die volle Punktzahl erreichen würde. Das finden wir so traurig, das wir fast geneigt wären, einen Preis für die Volle-Punktzahl-Lösung auszuloben. Wenn man sich die Codes der Plugins ansieht, muss man sich echt fragen, was sich da manche für einen Wolf coden? Das kann doch eigentlich nur aus 2 Javaskript Einbindungen im Header und 3 HTML-Code Zeilen im Body bestehen,

Oder ist die Geschichte von WordPress Entwicklern und Flash tatsächlich eine Geschichte voller Missvertändnisse?

Hier nochmal ganz langsam zum mitschreiben.

1. <script type=”text/javascript” src=”swfobject.js”></script> wer die nicht Lokal hat kann sie auch direkt remote einbinden und zwar  von hier http://code.google.com/p/swfobject/ damit wäre auch sicher gestellt das immer die neuste Vewrsion verwendet wird.

Es folgt ein Javaskript mit ganzen 5 Eigenschaften(2 x String , 3 x Objekt) und 3 Funktionsaufrufen, wobei einer 2 mal (einmal für das body-tag und einmal für das html-tag aufgerufen wird), damit können ausnahmslos alle Parameter übergeben werde, die möglich sind.

2.<script type=”text/javascript”>
var swfVersionStr = “10.1.52″;
var xiSwfUrlStr = “”;
var flashvars = {};
var params = {};
params.quality = “high”;
params.bgcolor = “#ffffff”;
params.play = “true”;
params.loop = “true”;
params.wmode = “transparent”;
params.scale = “showall”;
params.menu = “true”;
params.devicefont = “false”;
params.salign = “”;
params.allowscriptaccess = “sameDomain”;
var attributes = {};
attributes.id = “menu”;
attributes.name = “menu”;
attributes.align = “middle”;
swfobject.createCSS(“html”, “height:100%; background-color: #ffffff;”);
swfobject.createCSS(“body”, “margin:0; padding:0; overflow:hidden; height:100%;”);
swfobject.embedSWF(
“menu.swf”, “flashContent”,
“100%”, “100%”,
swfVersionStr, xiSwfUrlStr,
flashvars, params, attributes);
</script>

Zuletzt noch ein HTML 3-Zeiler, der Container Inklusive No-Flash und Flashdetektion.

3. <div id=”flashContent”>
<a href=”http://www.adobe.com/go/getflash”>
<img src=”http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif” alt=”Get Adobe Flash Player” />
</a>
<p>Für diese Seite ist Flash Player Version 10.1.52 oder höher erforderlich.</p>
</div>

Fertig, und das ist schon das Plugin mit ALLES.  Mehr kann garnicht gehn sogar eine express-SWF-Instalatitionsdatei kann man damit erstellen Ich hab keine Ahnung wie da Plugins mit 4 Dateien zu je 500 Zeilen Code zusammen kommen können, die dann am Ende vorallem eines nicht leisten. Funktion! Wieviele Zeilen Code können das in WP-API wohl werden? 500? Oder doch nur 15? Wer wissen möchte was diese 3 Code-Blöcke genau Herstellen, kann das auf dieser Seite mit unserem SWF Generator  manuell durchspielen. Dieser kann auch verwendet werden um z.B. <noscript> Inhalte Für die Javascript aufrufe herzustellen.

Und so sieht dann, bei der Lösung mit der vollen Punktzahl, der HTML Code aus, den das Plugin aus den 3 Komponenten oben erzeugt. Wer es schafft, das WP die 3 Bausteine in diesem HTML ausgibt, hat tatsächlich geschafft was vor ihm noch keiner geschafft hat,

The-One-And-Only-One-Plugin-Fits-All-Flashfiles-WP-Extension

zu schreiben. Wer auf Nummer sicher, sicher gehen möchte, kann das in <noscript> </noscript> einrahmen, für die 2% die kein Javascript haben.

<!– Die SWFObject-Methode zum dynamischen Einbetten ersetzt diesen alternativen HTML-Inhalt durch Flash-Inhalt, wenn ausreichende JavaScript- und Flash-Plug-In-Unterstützung verfügbar ist. –>
<object width=”100%” height=”100%” align=”middle” type=”application/x-shockwave-flash” id=”menu” name=”menu” data=”menu.swf”><param name=”quality” value=”high”/><param name=”bgcolor” value=”#ffffff”/>
<param name=”play” value=”true”/><param name=”loop” value=”true”/><param name=”wmode” value=”transparent”/><param name=”scale” value=”showall”/><param name=”menu” value=”true”/>
<param name=”devicefont” value=”false”/><param name=”salign” value=”"/><param name=”allowscriptaccess” value=”sameDomain”/></object>

Ich spendier sogar die Schlüssel PHP-Funktion des Plugins ( die aus dem Admin Interface zuzuführenden Variablen sind fett markiert):

function skriptCode()    {
$swfskript=’<script type=”text/javascript” src=”http://projekt4.addit-media.net/adm/templates/video/swfobject.js“></script>
<script type=”text/javascript”>
var swfVersionStr = “10.1.52″;
var xiSwfUrlStr = “”;
var flashvars = {};
var params = { quality:”high“, bgcolor:”#acacac“, play:”false“, loop:”false“, wmode: “transparent“, scale: “showall“, menu: “true“, devicefont: “false“, allowscriptaccess:”sameDomain“};
var attributes = {id:”project4Player“, name:”project4Player“, align:”middle“};
swfobject.embedSWF( “‘.$this->getPLayerURL().’”, “flashContent”, “590“, “342“, swfVersionStr, xiSwfUrlStr, flashvars, params, attributes );
</script>’.”\n”;
return $swfskript;
}

Naaa? …Jetzt aber. Wer wird One-Plugin-Fits-All-Flashfiles-WP-Extension Master?

 

 

Nach der Ansage von Steve Jobs, kurz vor seinem ableben, das es auf einem mobilen Endgerät von Mac, niemals ein Flash geben wird, haben wir postwendend alle unsere Actionskript Entwicklungen eingefroren. Nun haben wir die Gewissheit das dies der richtige Schritt war. Nachdem für die Zukunft klar ist, das immer mehr Anwender auch zu Hause auf Tablets unterwegs sein werden, ist eine Technologie die nicht auf mobilen Endgeräten läuft ganz klar eine Sackgasse. Dementsprechend hat Adobe als Konsequenz daraus angekündigt, Flash nicht mehr weiter zu entwickeln.

Der Streit zwischen Mac und Adobe hat ohnehin in den letzten Jahre teilweise groteske Züge angenommen, waren doch Adobe die Weltherrschaftsphantasien von Herrn Jobs ohnehin nie richtig beizubiegen. Nun hat Steve als letzte irdische Handlung schnell noch klar gemacht, wohin das führt, wenn man versucht mit einem offenen starken Framework ausgerechnet den iMast  des iGod anzupinkelt und einen starken Konkurrent auf dem iWeg zur iWorld weggeräumt. In einer iWorld, muss einfach jedem klar sein, das es zwangsläufig zu einer Art Datenanarchie kommen muss, wenn  jeder X-beliebige iUser seine iDaten von einem iPC auf ein mobiles iGerät kopieren dürfte, ohne das Mac ein iKassenhäuschen dazwischen aufstellt und abkassiert. Immerhin verwenden ja viele dafür ein iGadget das vom iGod erfunden wurde, damit ist klar das jedes iBit das in diesem iGerät geschaltet wird, primär persönliches Eigentum von Apple ist und da werden natürlich, entsprechend iBit Kopierkosten fällig. Das muss sich im Bewusstsein der iMasse auch so erstmal richtig eingebrannt haben, sonst wir das eben Nichts mit der iWelt. Offiziell sind natürlich die Flash Daten zu groß, das kann so ein kleines iGerät nämlich nicht stemmen, wenn es schon mit einem viel zu großen iOS vollgepfropft ist, bei dem man natürlich problemlos die 80% Objekte hätte weglassen können, die man ohnehin über Jahre von Flash kopiert…, Entschuldigung…, dem Flash nachempfunden hat, nicht bewusst natürlich sondern, wie Gutenberg es formulieren würde, durch Unachtsamkeit und  vor allem eben nicht offen, sondern so das man wenn’s denn sein muss, um sich richtig dumm und dämlich zu verdienen, auch jede einzelne Objektmethode gesondert abkassieren kann.

Nun uns könnte es eigentlich egal sein, wenn es nicht tatsächlich Bereiche gäbe, in denen Flash einfach das Maß der Dinge ist, weil alle vorhandenen Alternativen irgendeinen Makel haben und die perfekte, nachteilsfreie Umsetzung eben nur mit Flash machbar ist. Und davon ist ausgerechnet der Bereich Mediendarstellung am empfindlichsten betroffen. Wir werden in unseren nächsten Posts, einige Beispiele dazu zeigen.

Steve Jobs war ja unbestritten einer der genialsten Erfinder der letzen 500 Jahre, wenn nicht der Menschheit überhaupt und Bill Gates, der mit Microsoft ende der 70er als Softwarezulieferer für Mac angefangen hat, hat ja auch nie bestritten, das Steve Jobs, genau genommen, auch der geistige Vater von Windows ist, was ihn vermutlich zu dem Verantwortlichen dafür  macht, das heute nicht nur ein paar verrückte Mathematiker, sondern beinahe jeder Mensch einen Computer bedienen kann. Dabei hat er dem gesamten Zeitalter obendrein die innovativsten und besten Produkte beschert. Ich selbst arbeite und programmiere seit 20 Jahren ausschliesslich auf Mac und OSX ist ohne jeden Zweifel das genialste was der PC-Welt als Betriebsystem je offenbart wurde. Aber sicher würde ich mich niemals, auch nur 1 minute irgendwo anstellen, um einer der ersten zu sein der ein iPhone hat, ebenso wenig wie mein Tablet, iTunes aufpoppen lassen wird, um mir zu unterbreiten, dass ich an diesem oder jenem Computer nicht registriert bin. Man sollte bei allem, was die Weltpresse an sicher richtigen Lobhudeleien über den Mann ausgeschüttet hat und welche Dinge er der Menschheit gegeben hat, auch die Dinge nicht unter den Teppich kehren, die er durch seine schier unglaubliche soziale Inkompetenz, der Menschheit genommen hat und Flash wird mit Sicherheit ein bitteres Beispiel dafür sein.

Wir verabschieden uns daher, von Steve Jobs natürlich sowieso, aber auch von Flash, Flex und  ActionScript, das wir wegen seiner Komplexität auch oft so richtig verflucht haben, mit einem weinenden und einem lachenden Auge, aber mit der Gewissheit, das in diesem Fall, die Welt durch Steve Jobs postmortem, leider um ein starkes offenes Framework ärmer werden wird. Schade eigentlich.

 

Marienkäfer vs. Slidersteuerung.

 

Zeichnen mit mathemaischen Funktionen

Benutz Math Algorytmus zum zeichnen.

 

 

Als studierter Kommunikationsdesigner, weiß ich natürlich, das es die  beliebteste Herangehensweise an ein grafisches, somit auch an ein Flashprojekt ist, nach und nach Einzelteile hinzuzufügen und dabei eine Flashdatei zu kreieren, die dabei langsam zu einer Gesammtheit wächst. Dieser Prozeß ist zwar kreativ aber bereits im Ansatz 100% prozessorientiert, heißt ja auch so: “Gestaltungsprozeß”. Der Versuch daraus das genaue Gegenteil, nämlich eine funktionierende, objektorientierte Programmstrucktur zu entwickeln, führt beinahe zwangsläufig, zu einem gnadenlosen Desater, welches nach der Überführung in ein Zwischenstadium von schier unüberwindbarem Chaos,  als einzig letzten Ausweg, den kompletten Neustart des gesammten Projekts zulassen wird und zwar in einer exponential ansteigend Problemerscheinungskurve. Beginnend mit zunächst kleineren Problemen der Anwendung Funktionalität beizubringen,  wachsen die Probleme mit zunehmender Kompexität, exponential an und lässt gegen Ende jede noch so kleine Änderung zu einem mörderischen Gewaltakt gedeihen, bei dem für Miniänderungen die komplette Anwendung umgeschrieben werden muss. Bis es schlicht nicht mehr geht, weil man durch das Ausbügeln von Fehlern an einem Ende, doppelt so viele Neue an einem anderen Ende hinzufügt und man sich in einer brutalen Abwärtsspirale dem absoluten Nullpunkt nähert. Zu diesem Zeitpunkt, wird bereits nichts mehr verhindern können, daß man hart auf dem Boden der Realität einschlägt und einem Nichts übrig bleiben wird, ausser endlose Zeilen wertloser Code-Schrott und der schmerzhaft, bitteren Erkenntnis, das es “geht nicht”, irgendwie doch gibt und zwar genau vor der eigenen Nase.