Die Designrhetorik ist ein Ansatz zur Fundierung einer Designtheorie, deren Ansatz der kommunikative Charakter des Designs ist. Arne Scheuermann, Leiter am Institute Of Design Research an der Berner Fachhochschule beschreibt diesen Forschungsbereich wie folgt:

Visuelle Gestaltung und Rhetorik sind seit der Antike eng miteinander verwoben: von den antiken Bildtheorien über die Bildprogramme der Renaissance bis zur Werbegrafik des 20. Jahrhunderts. Die explizite Beschäftigung mit diesen Zusammenhängen ist jedoch relativ jung und beginnt in den 1960er Jahren, als Gui Bonsiepe erstmals eine moderne elocutio der visuell-verbalen Rhetorik vorlegt. Der Fokus lag hierbei zunächst auf den rhetorischen Figuren: Gibt es Hyperbel, Metonymie oder Ellipse nicht nur auf verbaler, sondern auch auf visueller Ebene? Die Projekte im Forschungsfeld weiten den rhetorischen Blick auf das Kommunikationsdesign auf seine vielfältigen Wirkungsweisen aus, wobei Rhetorik als Überzeugungskunst in einem umfassenden Sinn verstanden wird: Nicht nur das marktschreierische Werbeplakat, sondern auch die zurückhaltende Signaletik des öffentlichen Verkehrs oder das schlichte Briefpapier einer Anwaltskanzlei wird unter dem Aspekt wirkungsorientierter Kommunikation betrachtet. Eine weitere zentrale Gemeinsamkeit von Design und Rhetorik ist auch das enge Zusammenspiel von Theorie und Praxis: Beide können theoretisch vermittelt werden, letztlich kommt die Könnerschaft jedoch erst mit der Praxis. Das theoretische Wissen über Rhetorik bzw. Design wird überdies bereichert – ja kann erst entstehen – durch die genaue Beobachtung und Analyse eigener und fremder Praxis. Die Forschungsprojekte im Feld basieren auf diesem Rückkoppelungsprozess von Theorie, Praxis und Analyse.

Die Auseinandersetzung mit der Rhetorik des Designs ist auch Teil meines Master-Studiums Public Interest Design. Dazu heißt es in der aktuellen Prüfungsordnung im Modul 3 »Design als mediale Transformation«:

Die Studierenden werden befähigt, medienspezifische Transformationsprozesse zu erkennen, zu beschreiben und zu kritisieren. Sie sind dazu grundlegend orientiert über die Besonderheiten medialer Transformation in urbanen und demokratischen Kontexten, sie berücksichtigen demnach auch die Möglichkeiten medial-transformativer Partizipation. Sie sind zudem in der Lage, Perspektivwechsel zu vollziehen, Interessen sichtbar zu machen und transformative Überzeugungsprozesse zu gestalten. Die Ubiquität narrativer und überdies rhetorischer Prozesse in demokratischen Gesellschaften macht es notwendig, dass die Studierenden ebenso orientiert sind über die Möglichkeiten normativer, ästhetischer und rhetorischer Kritik.

Zum Modulteil Designrhetorik selbst:

Design wird in den letzten Jahren zunehmend als Medium rhetorischer Strategien verstanden und in den fachwissenschaftlichen Diskursen diskutiert.

Vor diesem Hintergrund werden in der Modulkomponente Methoden und Inhalte der klassischen Rhetorik erörtert und in ihrer Adaptierbarkeit auf visuelle, audiovisuelle und räumliche Gestaltungskonzepte überprüft. Designrhetorik wird in diesem Zusammenhang als Methode zur medialen Transformation diskutiert und in Ihrer Leistungsfähigkeit kritisch hinterfragt.

Einstieg in die Designrhetorik

Zur Designrhetorik gibt es einige Ressourcen im Web:

Das eJournal Sprache für die Form: Forum für Design und Rhetorik, herausgegeben von Volker Friedrich, Direktor am Institut für professionelles Schreiben an der Hochschule Konstanz. Im Editorial zum E-Journal Sprache für Form schreibt er:

Dieses Forum für Design und Rhetorik möchte Designern und Rhetorikern einen Austausch ermöglichen und einen Beitrag dafür leisten, dass wir Design besser verstehen, dass wir über Design besser, genauer, verständiger und verständlicher reden.

Das eJournal hat eine gute Übersicht zum Einstieg und ein Begriffslexikon.

Ein paar interessante Auszüge aus dem Einführungstext Designer sollten Rhetoriker werden: Ohne Sprache kommt die Gestaltung nicht in Form von Volker Friedrich, 2012:

Gestalter scheinen häufig von einer großen Leidenschaft oder Liebe zu ihrem Metier getragen zu werden, sie tun gern, was sie tun, und sind oft vom gesellschaftlichen Nutzen und Wert ihres Tuns überzeugt, also auch von moralischen und ethischen Vorstellungen angetrieben. Designer üben ihre Praxis mit Intensität aus, stecken viel Energie in die Entwicklung von Ideen und Konzepten und deren Verwirklichung. […] Wenige Gestalter, so befragt, wagen sich auf das Glatteis der Theorie …

Daran kann indes kein Zweifel bestehen: Design spielt in unserer Welt eine beträchtliche Rolle, sei es bei der Gestaltung von Produkten oder von Kommunikation – Design durchwebt den Alltag der Menschen. […] Obgleich Designer sich so vieler Formensprachen zu bedienen wissen, mangelt es an einer Sprache für die Form. […] erst [Theorien] erlauben es, aus Einzelfällen Strukturen herauszufiltern, die sich wiederholen und somit handlungsleitend werden.

Ein gesicherter Begriffsapparat ist Kennzeichnen einer Disziplin und die Basis einer jeden Methode. Solch ein Begriffsapparat vereinfacht den Austausch über das Denken […]. Designer können ein etabliertes Fachvokabular beziehen aus der Rhetorik. […] die Rhetorik ist die älteste und am weitesten ausgebaute Kommunikations- und Argumentationstheorie. Die Rhetorik hat gegenüber vielen Theorien den Vorzug, eine enge Anbindung an die Praxis zu haben, sich auf die Praxis zu beziehen, sich mit ihr in Wechselwirkung zu entwickeln.

Einer der wichtigsten Untersuchungsgegenstände der Rhetorik ist die Frage, wie wir mit kommunikativen Mitteln Wirkung erzielen können. Die Frage nach der Persuasion, die Frage, wie wir überzeugen, wie wir mit kommunikativen Mitteln Wirkung erzielen, untersucht die Rhetorik schon seit langem und ist dabei zu detaillierten Ergebnissen gekommen. […] Designer sollten zu Rhetorikern werden oder sich doch zumindest intensiv mit Rhetorik beschäftigen.

Die Rhetorik hat ein Modell für kreative Prozesse entwickelt, das sich – mit moderaten begrifflichen Präzisierungen – auf den Entwurfs- und Gestaltungsprozess im Design anwenden lässt.

Ein Strang der Rhetorik hat sich seit dem 20. Jahrhundert besonders der Erforschung von Massenkommunikation und Massenkonsum gewidmet und bildet dabei eine Ergänzungsdisziplin zur Semiotik. Ein zentraler Begriff der Rhetorik ist dabei die »Persuasion« (Überzeugung). Es wird gefragt, wie Kommunikation Wirkung erzielt und überzeugt – und nicht allein verbale Kommunikation, auch andere Zeichen werden hinsichtlich ihrer Wirkung untersucht. Dabei wird der Appellfunktion einer Botschaft besonderes Augenmerk geschenkt und gefragt, ob sie an Logos, Ethos oder Pathos appelliert. Ein Logos-Appell wendet sich an den Intellekt, wirbt mit Vernunftgründen, mit rationalen Argumenten; ein Ethos-Appell wendet sich an das moralische Empfinden, wirbt mit den Charaktereigenschaften des Senders, der Glaubwürdigkeit eines Produktes; ein Pathos-Appell wendet sich an die Emotion, versucht Gefühle hervorzurufen – all das sind Aufgaben, die sich dem Gestalter in seiner Arbeit stellen, er entscheidet, auf welche Appellfunktion er den Schwerpunkt legt, um überzeugend zu kommunizieren.

Unser Dozent Pierre Smolarski hat sein Designrhetorik-Seminar als Vorlesung auf YouTube gestellt. Aus der Einführung:

In [der aristotelischen] Bestimmung [der Rhetorik] sind drei wesentlichen Merkmale der Rhetorik benannt: 1) das Verhältnis von dynamis und techne und damit die Charakterisierung der Rhetorik als Fähigkeit und Kunst; 2) die Frage nach der Möglichkeit der Überzeugung und damit nach der Persuasion als Grundbegriff; und 3) die Frage nach dem Verhältnis von Betrachten, Erkennen und Finden im Ausdruck Theoria und damit einer Rhetorik als Findungskunst.

Als [techne] muss Rhetorik eine lehr- und lernbare Kunst sein, die Einsichten in die Wirkweise gelungener kommunikativer Akte entwickelt, fixiert und tradiert.

Wer die Regeln nicht kennt, besitzt zwar möglicherweise ein rhetorisch glückliches Talent, beherrscht aber nicht die rhetorische Kunst.

Die Rhetorik ist die regelgeleitete Kunst in allen Redegegenständen das mögliche Indentifikationspotential zu finden.

Auch wenn in der alltäglichen Kommunikation eine methodische Findungskunst nicht notwendig zu sein scheint und auch im hier verhandelten Bereich des Designs eine solche techne in der gängigen Praxis scheinbar nicht vorausgesetzt werden kann […], so macht die Rhetorik dennoch den Aspekt stark, dass ein Finden des möglicherweise Überzeugenden notwendig ist, um schließlich auch überzeugen zu können. Dass dies im Alltag und auch im Designbereich oftmals ohne explizite Rhetorikkenntnisse gelingt, darf nicht als ein Zeichen verstanden werden, nach dem in diesen Bereichen auf inventive Techniken verzichtet werden könnte, sondern gerade vielmehr als ein Zeichen der Allgegenwart der inventio.

Wie bereits an anderer Stelle gezeigt wurde, bedient sich aber auch der Designer einer methodischen oder zumindest methodisierbaren Findungskunst. Und wenn in der Designtheorie oftmals nicht gesehen wird, dass diese Techniken ihren systematischen Ort in einer Rhetorik des Designs haben (oder zumindest haben könnten), so deutet dies nicht in Richtung einer vermeintlichen Abwesenheit rhetorischer Techniken, sondern vielmehr auf eine Lücke in der erst entstehenden Designtheorie.

50 Shades Of White: Schwarze Avatare in Games, ein äußerst erhellendes Essay von Svenja Borchert für GRENZGAMER über strukturellen Rassismus in Video-Spielen, Photographie, Film, 3D-Modelling und Technologie.

Ein paar Stellen, die mir besonders aufgefallen sind:

Über strukturellen Rassismus durch vermeintlich »authentische« Abbildung der realen Physik:

Erkundet dieser Charakter dann die Spielwelt, führt er an dunklen Orten schon mal ein Schattendasein und hat keine erkennbaren Gesichtszüge mehr. […] Und dennoch ist in den Online-Foren eine übliche Antwort auf Beschwerden, dunkle Haut reflektiere nun mal weniger Licht, das sei doch nur realistisch. Dieser Irrglaube ist stark von Fotographie und Film beeinflusst, die auch nach fast einem Jahrhundert noch nicht von der Weißen Haut als ästhetischem Normwert abgewichen sind.

Über strukturellen Rassismus durch Normen und chemische Entwicklungsverfahren von (Photo-)Filmen:

Von den 1940ern bis in die 1990er Jahre nutzen Fotolabore bei der Entwicklung von Filmen Referenzkarten für Hautfarbe, sogenannte „Shirley Cards“. Auf ihnen ist eine Weiße Frau in einem Kleid zu sehen, vermutlich ein Fotomodell namens Shirley, umrandet von einer bunten Farbskala. Die Models ändern sich im Laufe der Zeit und je nach Verwendungsort, die Hautfarbe bleibt jedoch Weiß. Selbst auf den japanischen Shirley Cards ist eine Frau abgebildet, die zwar japanischer Herkunft ist, aber eine sehr helle Hautfarbe hat und ganz dem dominanten Schönheitsbild der Weißen, porzellanartigen Haut entspricht.

[…]

Ende der 60er-Jahre muss sich der Filmhersteller Kodak nämlich Beschwerden über undifferenzierte Brauntöne stellen. Ein Schokoriegelhersteller und mehrere Möbelhersteller machen Druck, da sie ihre Produkte nicht zufriedenstellend bewerben können: Der Unterschied zwischen Vollmilch- und Zartbitterschokolade sowie zwischen unterschiedlichen Holzmaserungen ist zu schlecht erkennbar. Prompt überarbeitet das Kodak Research Studio die chemische Zusammensetzung der Filme.

Über strukturellen Rassismus durch das Rendering-Verfahren Subsurface Scattering (SSS) von nicht-hellen Hauttönen in 3D-Modelling-Software:

Nach intensiver Recherche über die Zusammensetzung von Hautschichten und Blutgefäßen und der Suche nach deren Entsprechung in den Reglern des Programmes gibt es vier Monate später noch immer keine zufriedenstellenden Ergebnisse. Einer der Artists stellt abschließend fest: „Es sieht im Moment danach aus, als sei der Skin Shader für helle Hauttöne optimiert worden, während die Anforderungen für dunkle anscheinend übersehen wurden.“ Damit endet die Diskussion, das Problem bleibt ungelöst, und zwar nicht nur für diesen Fragesteller. Es gibt zahlreiche ähnliche Diskussionen, die alle darauf hinauslaufen, dass dunkle Hautfarben nur mit aufwändigen Workarounds erreicht werden können und am Ende trotzdem bei Weitem nicht so glaubhaft aussehen wie helle.

[…]

Es sind also nicht nur einzelne Spiele, sondern ganze Technologien, die es bisher versäumt haben, an der ästhetischen Darstellung Schwarzer Hautfarben zu arbeiten. Die Suche nach Skin Shadern, bei denen ein weiteres Spektrum an Hautfarben berücksichtigt wird, ist frustrierend. Auf den Vorschaubildern gibt es endlose Variationen des gleichen, Weißen Gesichtes.

Über strukturellen Rassismus durch Erkennungssoftware:

Das Xbox 360 Spiel [„You’re in the Movies“] setzt die Spieler*innen per Kamera in Filmtrailer ein. Am Abend vor dem Release testet einer der Grafiker aus Spaß das Spiel – und nichts funktioniert. Warum? Die Kamera ist darauf programmiert, den Umriss eines Menschen anhand des von seiner Haut reflektierten Lichtes zu erkennen. Der Grafiker ist jedoch Schwarz und reflektiert weniger Licht als es die ausschließlich Weißen Tester*innen getan haben. An diesem Punkt ist es zu spät, um Schadensbegrenzung zu betreiben und die Entwickler*innen hoffen, dass es beim riesigen Launch-Event im Virgin Megastore auf dem Times Square keinen Schwarzen Gamer in der ersten Reihe gibt, der sich freiwillig als Tester meldet.

Doch genau das passiert.

Über das Potential der Veränderung:

Als ein kreatives Medium mit viel gestalterischer Freiheit können Games hier neue Standards setzen, solang sich Entwickler*innen und Artists an jedem Punkt des Herstellungsprozesses verantwortlich fühlen.

The Design Squiggle
The Process Of Design Squiggle by Damien Newman, thedesignsquiggle.com (CC BY-ND 3.0 US)

Damien Newman versucht mit The Design Squiggle den unklaren, kreativen Prozess des Gestaltens hin zu einem konkreten Ergebnis zu beschreiben:

The Design Squiggle is a simple illustration of the design process. The journey of researching, uncovering insights, generating creative concepts, iteration of prototypes and eventually concluding in one single designed solution. It is intended to convey the feeling of the journey. Beginning on the left with mess and uncertainty and ending on the right in a single point of focus: the design.

So as I pursued my own career in design, I began to write proposals and pitch the process of design using the terms: Abstract, Research, Concepts and then Design.

2009 schrieb er zur Entstehung:

Years ago I dropped a simple illustration into a proposal to convey the design process to a client. It was meant to illustrate the characteristics of the process we were to embark on, making it clear to them that it might be uncertain in the beginning, but in the end we’d focus on a single point of clarity. It seemed to work. And from then on, I’ve used it since. Many many times.

(via Daring Fireball)

Gestalten heißt also richtig sehen, konzentrieren und steigern, das Maximum hervorholen, die Leidenschaft an jedem Leidenschaftlichen bloßlegen, die Schwäche in jeder Stärke erkennen, die schlummernden Kräfte heraustreiben.

Stefan Zweig: Balzac: Roman seines Lebens. Frankfurt am Main, 2004. 14. Auflage. S. 236 f.

Der Schriftsteller Stefan Zweig über das kreative Talent des französischen Literaten Honoré Balzac. Und eine romantische, aber dennoch interessante Definition des Begriffs ›Gestaltung‹.

Wie wir ja gesehen haben, ist Komodo mittlerweile ein geschützter Nationalpark. Wir haben den Punkt erreicht, an dem ein aktives und unverzügliches Einschreiten zum Schutz seltener Arten notwendig ist, was üblicherweise durch öffentliches Intresse unterstützt wird. Und öffentliches Interesse wird durch öffentlichen Zugang aufrechterhalten. Wenn man diesen Zugang sorgfältig kontrolliert und die Zerstörung auf ein Minimum begrenzt, funktioniert es prima und ist schön und gut. Glaube ich. Obwohl ich nicht behaupten kann, daß mir dabei ganz wohl ist.

Douglas Adams und Mark Carwardine: Die Letzten ihrer Art: Eine Reise zu den aussterbenden Tieren unserer Erde. München, 2010, 31. Auflage. S. 52.

Der Zusammenhang und das Zusammenspiel von ›öffentlichem Interesse‹ und ›öffentlichem Zugang‹ zu Dingen – etwa Informationen – finde ich einen wichtigen Aspekt bei der Diskussion was ›öffentlichen Interesse‹ ist und wie es sich konstituiert – das hier von Douglas Adams am Beispiel von Nationalparks m. E. gut illustriert wird.

Das Sammeln von teueren, exklusiven oder seltenen Schuhen erscheint mir als eine Verlängerung der Zweck-Mittel-Reihe im Sinne Simmels: Der Schuh wird nicht mehr zum Schutz der Füße verwendet (Zweck) sondern zu einem Sammelerstück, das z.T. gar nicht zum tragen genutzt, also verwendet, wird, sondern nur zum sammeln und besitzen.

Heute gab es auf einer von mir betreuten Website mit MODX ein merkwürdiges Problem: Die Startseite sowie alle weiteren Unterseiten waren plötzlich weiß und zeigten keine Inhalte mehr an – der Zugang zum Backend lief aber zum Glück noch.

Auf der Suche nach der Ursache wollte ich zunächst ins Fehlerprotokoll gucken, aber die Seite im Backend lud sich endlos selbst neu, da das Error-Log zu groß war: 1,1 GB!

Per FTP auf dem Server angemeldet, das Fehlerprotokoll, /core/cache/logs/error.log, heruntergeladen und auf dem Server gelöscht.
Die Startseite und alle Unterseiten waren daraufhin wieder erreichbar – Symptom behoben, aber die Ursache noch nicht.

Beim Surfen durch die Seite füllte sich das Fehlerprotokoll innerhalb weniger Minuten wieder, je nach Unterseite mit vielen Bildern sogar um einige MB pro Seitenaufruf, sodass das Log schon nach kurzer Zeit wieder bei 10, 30 und 80 MB war.

Die Ursache für das große Error-Log war das Modul phpThumb(), das reihenweise Fehlermeldungen wie folgende generierte:

[2018-03-15 13:20:18] (ERROR @ /mnt/web###/##/##/########/htdocs/project/website/core/components/phpthumbof/model/phpthumbof.class.php : 156) [pThumb] Resource: 1 || Image: /home/strato/http/premium/rid/##/##/########/htdocs/project/website/assets/gallery/12/126.jpg  
Could not generate thumbnail
phpThumb debug output:
	[0] => phpThumb() v1.7.14-201608101311 in file "phpthumb.class.php" on line 229
	[1] => setSourceFilename(/home/strato/http/premium/rid/##/##/########/htdocs/project/website/assets/gallery/12/126.jpg) set $this->sourceFilename to "/home/strato/http/premium/rid/##/##/########/htdocs/project/website/assets/gallery/12/126.jpg" in file "phpthumb.class.php" on line 294
	[2] => $AvailableImageOutputFormats = array(text;ico;bmp;wbmp;gif;png;jpeg) in file "phpthumb.class.php" on line 969
	[3] => $this->thumbnailFormat set to $this->config_output_format "jpeg" in file "phpthumb.class.php" on line 980
	[4] => $this->thumbnailFormat set to $this->f "jpeg" in file "phpthumb.class.php" on line 987
	[5] => $this->thumbnailQuality set to "75" in file "phpthumb.class.php" on line 997
	[6] => resolvePath: /home/strato/http/premium/rid/##/##/########/htdocs/project/website/assets/gallery/12/126.jpg (allowed_dirs: Array
(
)
) in file "phpthumb.class.php" on line 1140
	[7] => resolvePath: iteration, path=/home/strato/http/premium/rid/##/##/########/htdocs/project/website/assets/gallery/12/126.jpg, base path = /mnt/web###/##/##/########/htdocs/project/website in file "phpthumb.class.php" on line 1159
	[8] => resolvePath: stop at component 4 in file "phpthumb.class.php" on line 1175
	[9] => resolvePath: stop at path=/home/strato/http/premium in file "phpthumb.class.php" on line 1178
	[10] => resolvePath: no match, returning null in file "phpthumb.class.php" on line 1180
	[11] => !$this->config_allow_src_above_docroot therefore setting "" (outside "/mnt/web###/##/##/########/htdocs/project/website") to null in file "phpthumb.class.php" on line 1344
	[12] => $this->sourceFilename set to "" in file "phpthumb.class.php" on line 894
	[13] => phpThumb() v1.7.14-201608101311
http://phpthumb.sourceforge.net

Error messages disabled.

edit phpThumb.config.php and (temporarily) set
$PHPTHUMB_CONFIG['disable_debug'] = false;
to view the details of this error in file "phpthumb.class.php" on line 4126
	[14] => resolvePath: /home/strato/http/premium/rid/##/##/########/htdocs/project/website/assets/gallery/12/126.jpg (allowed_dirs: Array
(
)
) in file "phpthumb.class.php" on line 1140
	[15] => resolvePath: iteration, path=/home/strato/http/premium/rid/##/##/########/htdocs/project/website/assets/gallery/12/126.jpg, base path = /mnt/web###/##/##/########/htdocs/project/website in file "phpthumb.class.php" on line 1159
	[16] => resolvePath: stop at component 4 in file "phpthumb.class.php" on line 1175
	[17] => resolvePath: stop at path=/home/strato/http/premium in file "phpthumb.class.php" on line 1178
	[18] => resolvePath: no match, returning null in file "phpthumb.class.php" on line 1180
	[19] => !$this->config_allow_src_above_docroot therefore setting "" (outside "/mnt/web###/##/##/########/htdocs/project/website") to null in file "phpthumb.class.php" on line 1344
	[20] => SetCacheFilename() _src set from md5($this->sourceFilename) "" = "d41d8cd98f00b204e9800998ecf8427e" in file "phpthumb.class.php" on line 3520
	[21] => SetCacheFilename() _par set from md5(_farC_w970_dpi150_q75) in file "phpthumb.class.php" on line 3553
	[22] => starting ExtractEXIFgetImageSize() in file "phpthumb.class.php" on line 3314
	[23] => skipping getimagesize() because $this->sourceFilename is empty in file "phpthumb.class.php" on line 3326
	[24] => getimagesize("") failed in file "phpthumb.class.php" on line 3357
	[25] => $this->useRawIMoutput=true after checking $UnAllowedParameters in file "phpthumb.class.php" on line 1595
	[26] => ImageMagickThumbnailToGD() aborting because $this->sourceFilename is empty in file "phpthumb.class.php" on line 1640
	[27] => ImageMagickThumbnailToGD() failed in file "phpthumb.class.php" on line 3364
	[28] => SetOrientationDependantWidthHeight() starting with ""x"" in file "phpthumb.class.php" on line 3293
	[29] => SetOrientationDependantWidthHeight() setting w="970", h="0" in file "phpthumb.class.php" on line 3309
	[30] => EXIF thumbnail extraction: (size=0; type=""; 0x0) in file "phpthumb.class.php" on line 3421
	[31] => starting SourceImageToGD() in file "phpthumb.class.php" on line 3679
	[32] => Not using EXIF thumbnail data because $this->exif_thumbnail_data is empty in file "phpthumb.class.php" on line 3751
	[33] => $this->gdimg_source is still empty in file "phpthumb.class.php" on line 3803
	[34] => ImageMagickThumbnailToGD() failed in file "phpthumb.class.php" on line 3805
	[35] => phpThumb() v1.7.14-201608101311
http://phpthumb.sourceforge.net

Error messages disabled.

edit phpThumb.config.php and (temporarily) set
$PHPTHUMB_CONFIG['disable_debug'] = false;
to view the details of this error in file "phpthumb.class.php" on line 4126
	[36] => SourceImageToGD() failed in file "phpthumb.class.php" on line 374
----------------------

»Could not generate thumbnail« war zunächst das Offensichtlichste und Verständlichste an der Fehlermeldung. Eine Google-Suche danach brachte nur ein Ergebnis, dass leider keine Lösung aber einen wichtigen Hinweis lieferte: Irgendetwas stimmt mit den Pfaden zu den Bild-Dateien nicht.

In der Haupt-Konfigurationsdatei /core/config/config.inc.php fiel mir bereits auf, dass es zwei absolute Pfade gibt (Zahlen/IDs durch »#« ersetzt):

  1. /home/strato/http/premium/rid/##/##/########/htdocs/project/website/
  2. /mnt/web###/##/##/########/htdocs/project/website/

Diese waren verschiedenen Einstellungen zugeordnet; jedoch ohne erkennbaren Grund, warum die erste Variante bei der einen Einstellung und die zweite Variante bei einer anderen. Bei anderen MODX-Websites bei anderen Hostern, wie All-Inkl.com oder Uberspace, sind die Pfade bei allen Einstellungen identisch.

Strato nutzt zwei absolute Pfade für Websites. Einmal den, ich nenne es mal, »offiziellen« /home/strato/http/premium/rid/##/##/########/htdocs/; und den »inoffiziellen« (wahrscheinlich physischen) Pfad /mnt/web###/##/##/########/htdocs/.
Ein Blick in die PHP-Konfiguration zeigt auch: der erste Pfad steht auch in den üblichen Server-Variablen wie _SERVER["DOCUMENT_ROOT"]; der zweite Pfad tauch in – für mich bisher ungewöhnlichen – Server-Variablen wie _SERVER["RZ_path"] auf.

Nach einigen Versuchen und wiederholtem Lesen jeder Zeile der Fehlermeldung, war schließlich klar was genau die Ursache für die Fehler-Tirade ist: phpThumb arbeitet mit dem zweiten, »inoffiziellen« Pfad, bekommt aber von MODX die Pfade zu den Bild-Dateien in der ersten, »offiziellen« Variante. Und dann, beim »auflösen« der Pfade passiert das, was in den Zeilen 7–11 bzw. 15–19 der Fehlermeldung steht: phpThumb verlässt den Bereich, den es lesen darf (docroot also Document Root) und findet die Bild-Datei nicht – denn für phpThumb sind diese beiden Pfade nicht identisch und kann sie nicht, wie anscheinend Strato, synonym verwenden.

Die Lösung ist also, die Pfade an phpThumb anpassen: in der /core/config/config.php und der /connectors/config.core.php alle Pfade auf die zweite Pfad-Variante umstellen, schon findet phpThumb die Bild-Dateien und die Fehlermeldungen hören auf.

Bei der Finisage der Ausstellung »Stoffwechsel: Hofaue im Dialog« spielten wir gestern Abend das Cityspiel Wuppertal aus dem Jahr 1994, herausgegeben von David Marketing – eine zähe Runde. Das Spiel ist eine krude Mischung aus bekanten Spiele-Mechaniken: Monopoly, Mensch-ärgere-dich-nicht, Schiffeversenken, …

Ziel ist es, die vier Elemente seiner Logos von (bekannten) Wuppertaler Firmen und Institutionen auf möglichst wertvollen Wuppertaler Grundstücken zu platzieren. Die Regeln, auf knappen zwei Seiten erklärt, lassen allerdings viele Unklarheiten zurück; die beiden Würfel würfelten unnötig oft 1 und 2. Irgendwann kürzten wir es ab auf »wenigstens ein Logo fertigstellen«.

Gewonnen hat am Ende übrigens die Bergische Universität Wuppertal (die im Spiel noch Bergische Gesamthochschule Wuppertal heißt).

Delivered In Beta von KS12

Als Adobe Ende November ankündigte, dass Flash Professional nicht länger Flash Professional heißen würde, sondern ab dem nächsten Update Animate CC und der Fokus stärker auf Animationen mit HTML5 liegen soll, statt auf der aussterbenden Flash-Plattform, war ich sehr gespannt. Lange Zeit habe ich für verschiedene Projekte mit Flash Professional in den Versionen CS4 und CS5 und in letzter Zeit noch mit Flash Professional CS6 und Edge Animate gearbeitet. Edge Animate hat als Animations-Software meiner Meinung nach gut funktioniert, auch wenn es sehr stark Web fokussiert war. Nun aber wurde Edge Animate zugunsten von Animate CC eingestellt – und entsprechend hoch waren nun meine Erwartungen und Befürchtungen, wenn Flash Professional und Edge Animate aufeinandertreffen. Dies ist eine Sammlung meiner ersten Eindrücke:

Screenshot: Hauptfenster von Animate CC

Mein aller erster Eindruck von Animate CC: es fühlt sich immer noch stark nach Flash Professional an – und das ist nicht umbedingt positiv gemeint. Für »alte Hasen« ist das sicherlich gut, aber meines Erachtens krankten schon die letzten Versionen von Flash Professional daran, dass sie einige Features und Eigenheiten von Flash Professional mitschleppten, die den Einstieg m.E. unnötig schwierig machen. Edge Animate, auf der anderen Seite, startete ohne diese ganzen Altlasten und funktionierte daher für Einsteiger deutlich besser.

Timeline

Die Timeline (Zeitleiste) ist in Animate CC leider immer noch so statisch und unflexibel wie sie in Flash Professional war. Die Timeline von Edge Animate, die an die von After Effects angelehnt war, funktionierte für den Einstieg in die Animation viel intuitiver: das Setzten und Verschieben von Schlüsselbildern (Keyframes) ging sehr einfach und nahezu fehlerfrei; in Flash Professional war es immer schwierig und fragil, man konnte sehr leicht unbeabsichtigt Bilder und Schlüsselbilder einfügen, wodurch das Korrigieren von Animationen sehr aufwendig war – und nun in Animate CC leider immer noch ist. Schade, dass Adobe hier nicht die Chance für einen klaren Schnitt genutzt hat.

Farbwähler

Screenshot: Farbwähler in Animate CCDie Farbwähler in Animate CC sind ebenfalls immer noch die seltsamen Farbwähler aus Flash Professional mit ihrer seltsamen Zusammenstellung aus »websicheren Farben«. Auch hier waren die Farbwähler in Edge Animate deutlich moderner und praktischer.

Vektor-Formen

Screenshot: Überlappende Formen in Animate CC
Das Standard-Verhalten beim Zeichnen von Formen ist in Animate CC immer noch genauso unlogisch und fehleranfällig wie es in Flash Professional war: Formen gleicher Füllfarbe verschmelzen zu einer einzigen Form, Formen verschiedener Farbe beschneiden sich, Rahmen sind nicht Teil einer Form sondern eigene Formen (und zwar jede Seite (rechts, links, oben, unten) für sich!) – WTF?! Für jeden, der ein Vektorzeichenprogramm wie Illustrator gewöhnt ist, ein vollkommen ungewöhnliches und unlogisches Verhalten.

Umschalten des »Objektzeichenmodus« im Eigenschaften-Fenster für Formen in Animate CCImmerhin gibt es mittlerweile direkt im Eigenschaften-Fenster einen Button, mit dem dieses Verhalten ausgeschaltet werden kann – und nicht wie früher, tief in den Einstellungen verstecket. Mir ist bewusst, dass dieses Verhalten auch dafür verwendet werden kann, schnell komplexe Formen oder Figuren zu erzeugen, aber sowohl bei mir, als auch bei anderen Einsteigern in Flash Professional, die Illustrator gewöhnt waren, führte dieses Verhalten häufig zu ungewollten Ergebnissen und Fehlern.

Bewegungseditor

Screenshot: Bearbeiten des Bewegungstweens in der Timeline in Animate CC

Der Bewegungseditor zum Bearbeiten von Bewegungstweens (Motion Tweens) ist nun quasi in die Timeline integriert – das ist ähnlich zu Edge Animate, bei dem die animierten Eigenschaften von Objekten ebenfalls als »Sub-Timelines« aufgeführt waren. Allerdings ist diese neue Form des sogenannten »Tween verfeinerns« eine schlechte Mischung aus dem alten Bewegungseditor und der Timeline aus Edge Animate: Das UI ist kompakter, was immer ein großes Manko des Bewegungseditors war, dafür fehlen nun viele Funktionen wodurch sich nun die Schlüsselbilder einzelner Eigenschaften nur noch sehr schlecht bearbeiten lassen: einzelne Schlüsselbilder im Verlauf einer animierten Eigenschaft kann ich setzten und wieder entfernen, aber nicht das Schlüsselbild am Anfang oder am Ende – das war früher im Bewegungseditor einfach möglich; den exakten Wert einer Eigenschaft an einem Schlüsselbild lässt sich nicht mehr im Bewegungseditor ansehen und auch nicht bearbeiten, dadurch lässt sich eine Animation nicht mehr so einfach und präzise anpassen oder korrigieren.

Bewegungstweens und Frame-für-Frame-Export

Bewegungstweens scheinen, zumindest bei Animationen mit HTML5, nicht mehr die bevorzugte Variante zum animieren zu sein: Beim Veröffentlichen erscheint in der Konsole folgende Warnmeldung:

Bewegungs-Tweens werden als Frame-für-Frame-Animationen veröffentlicht. Verwenden Sie nach Möglichkeit klassische Tweens.

Das finde ich äußerst schade (oder wie ich in meinen Notizen schrieb: »WTF?!«), da Bewegungstweens m.M.n. aus Flash Professional (bzw. jetzt Animate CC) eine annähernd moderne Animations-Software machten. Klassische Tweens funktionieren zwar gut, sind aber eine unhandliche und umständliche Art zu animieren, die – in Kombination mit der Timeline (siehe oben) – unpraktisch und fehleranfällig ist, gerade wenn es darum geht das Timing einer Animation zu verändern.

Bei der Ausgabe von HTML5-Projekten arbeitet Animate CC mit CreateJS und zwar ausschließlich: sämtliche Animationen und programmierte Aktionen werden als JavaScript ausgespuckt und in einem canvas-Element angezeigt. Dadurch wirken die Animationen mit dem Bewegungstween nach dem Veröffentlichen ruckelig:

Die gleiche (bzw. sehr ähnliche) Animation mit CSS3-Keyframes, die ich händisch gebaut habe, läuft dagegen flüssig:

Beide Banner finden sich auf GitHub:

Aktionen

Das Einfügen der Aktionen, also dem »einprogrammieren« von weiteren Funktionalitäten, wie z.B. das ein Banner auf den Klick eines Benutzers reagiert, gibt mir etwas Rätsel auf: Zunächst bin ich dem Irrtum aufgesessen, ich könnte wie bisher in ActionScript programmieren und Animate CC würde es in JavaScript übersetzen, dem ist leider nicht so: das eingefügte Script wird direkt ins exportierte JavaScript eingefügt, also nicht cross-compiliert, heißt: in Animationen mit HTML5 kann man nicht mehr mit ActionScript programmieren, sondern man muss mit JavaScript arbeiten.

Also habe ich mich für mein HTML5-Canvas-Projekt aus den vorgefertigten Codefragmenten für HTML5-Canvas-Projekten bedient, allerdings funktionierte das vorgegebene Code-Fragment nicht:

this.clickPane.addEventListener("click", fl_ClickToGoToWebPage_8);

function fl_ClickToGoToWebPage_8() {
    window.open("http://www.freiesmagazin.de/", "_blank");
}

Im Browser wurde nach dem Einfügen dieses Codefragments keine Animation mehr angezeigt, dafür spukte der Browser auf der Konsole folgende Fehlermeldung aus:

TypeError: this.clickPane is undefined

Das Element, das den Klick eines Benutzers abfangen soll, eine über allen anderen Elementen liegende, unsichtbare Fläche, hatte ich in den Eigenschaften den eindeutigen Namen clickPane zugewiesen, aber nach dem Export kann das generierte JavaScript dieses nicht mehr finden – sehr seltsam.

Aus der Rubrik von Codefragmenten für WebGL-Projekte fischte ich dann folgendes Script:

canvas.onclick = function(event) {
    window.open("http://www.freiesmagazin.de/", "_blank");
}

Und siehe da: Das Script funktioniert. Das Script aus der Codefragment-Rubrik »HTML5 Canvas« funktionierte für mein HTML5-Canvas-Projekt nicht, aber das Script aus der Rubrik »WebGL«.

Weitere Kleinigkeiten

Einige weitere Kleinigkeiten sind mir beim ersten Arbeiten in Animate CC aufgefallen:

Die Zoom-Gesten von MacOS X funktionieren (immer noch) nicht; in Photoshop oder InDesign kann ich mittels der Zoom-Gesten die Ansicht der Arbeitsfläche vergrößern oder verkleinern, aber bei Animate CC leider nicht.

Farben in der kurzen Schreibweise von Hex-Codes, also z.B. #666 für #666666, werden nicht, wie in Photoshop, automatisch auf die sechs-stellige Schreibweise erweitert, sondern es werden einfach für die fehlenden Stellen Nullen eingefügt: aus #666 wir also #000666 statt #666666 – das ist nicht das Verhalten, wie ich es als jemand der mit CSS vertraut ist, es in einer Web-orientierten Software erwarten würde.

Screenshot: Schwacher Kontrast in der Timeline in Animate CC

Auch wenn ich die neue, dunkle Oberfläche von Animate CC (bzw. zuletzt Flash Professional CC) sehr mag, der Kontrast in der Timeline ist viel zu schwach! Gerade die Unterscheidung zwischen leeren Bildern und gefüllten Bildern ist viel zu schwach (im Screenshot sind die leeren Bilder in der Timeline dunkel-grau und die gefüllten Bilder helleres Grau), sodass es schon für mich, als gut sehender Mensch, schwer auf den ersten Blick zu erkennen ist, welche Bilder leer und welche – vielleicht unbeabsichtigt – gefüllt sind. In der hellen Oberfläche ist der Kontrast und die Unterscheidung deutlich besser: leere Bilder sind in der Timeline weiß, gefüllte Bilder hellgrau.

Fazit

Vom ersten Eindruck her, bin ich leider enttäuscht – was ich aber schon befürchtet habe. Es sind meiner Meinung nach viel zu viele Altlasten von Flash Professional in Animate CC, das wird es den alten »Flashern« leicht machen, aber der Einstieg in Animate CC und die Animation macht es damit meines Erachtens unnötig schwerer. Viele gute Ansätze, die sich in der Oberfläche von Edge Animate fanden, allem voran die Timeline, haben es leider nicht in Animate CC 2015 geschafft.

Der reine Fokus auf Animation mittels JavaScript für HTML5 finde ich ebenfalls schade und ist zum Teil, wie in meinem Experiment, anscheinend sogar weniger performant! Damit fehlt mir auch weiterhin eine (gute) Software, mit der ich visuelle CSS3-Keyframe-Animationen erstellen kann.