In [Shu86] werden einige allgemeine Probleme der visuellen Programmierung diskutiert. Danach können einerseits zu viele zur Verfügung stehende graphische Elemente zu ,,Spaghetti-Code`` führen. Andererseits können wenige, aber semantisch überladene Graphiken einen Benutzer verwirren. Die Aufgabe eines Sprachentwicklers, eine quantitativ überschaubare Menge von qualitativ ausdrucksmächtigen graphischen Symbolen zu definieren, ist keine triviale Angelegenheit. Für die spätere Benutzbarkeit der Sprache ist es häufig eher günstiger, auch textuelle Komponenten zuzulassen, als für alles eine graphische Repräsentation zu finden. Die graphische Spezifikation von arithmetischen Ausdrücken zur Definition von Constraints in [Bor86] stellt hier sicher ein negatives Beispiel dar.
Im Bereich der Multimedia-Systeme drückt sich die Anwendbarkeit von Prinzipien der visuellen Programmierung durch die Vielzahl an Autorenwerkzeugen aus, die in den letzten Jahren entwickelt worden sind. Die multimedialen Informationseinheiten werden durch Ikonen repräsentiert, deren zeitliche Beziehungen zueinander durch die Anordnung der Ikonen auf ,,graphischen Zeitachsen`` oder in ,,graphischen Hierarchien`` definiert werden können (siehe Abbildung 2.4). Initialisierungsbeziehungen kann ein Autor auf der Grundlage des WYSIWYG-Prinzips direkt-manipulativ in speziellen Layout-Editoren festlegen. Daß in existierenden Autorenwerkzeugen im allgemeinen darüberhinaus keine anderen Beziehungstypen visuell spezifizierbar sind, deutet schon darauf hin, daß hierbei bestimmte Probleme auftauchen.
Mathematisch lassen sich Beziehungen durch Constraints beschreiben
[Lel88].
Constraints sind dabei Gleichungen oder Gleichungssysteme, in denen die
Attribute, die zueinander in Beziehung gesetzt werden sollen, die Variablen
bilden. Eine allgemeingültige graphische Repräsentation für beliebige
Gleichungen zu finden, ist jedoch ein ungelöstes Problem. Lediglich für
Spezialfälle sind hier Lösungsansätze denkbar, bei denen eine visuelle
Spezifikation auch wirklich einfacher und übersichtlicher ist, als eine
textuelle Angabe der mathematischen Gleichungen. Einen solchen einfach zu
realisierenden Spezialfall stellt die Definition zeitlicher
Beziehungen zwischen Medienobjekten beispielsweise in
Timeline-Editoren dar; einen anderen die Definition von
Initialisierungsbeziehungen
mit Hilfe von Layout-Editoren.
Das Peridot-UIMS zeigt,
daß mit Hilfe des Prinzips des Programmierens-durch-Demonstration
in gewissen Grenzen
auch kontinuierliche räumliche Beziehungen
zwischen graphischen Objekten graphisch-interaktiv
programmierbar sind.
Schwieriger rein graphisch zu visualisieren
sind jedoch Beziehungsdefinitionen zwischen
allgemeinen gestalterischen Attributen -- die unter Umständen nicht einmal
eine optische Repräsentation besitzen -- wie
zum Beispiel
die Abhängigkeit der Lautstärke eines Audios von der aktuellen Einstellung
eines Schiebereglers, wobei die Abhängigkeit nicht unbedingt linear sondern
beispielsweise auch exponentiell sein kann.
Einen Ansatz zur visuellen Programmierung beliebiger Beziehungstypen zwischen
Multimedia-Objekten mit Hilfe von graphischen
Symbolen (wobei aber textuelle Symbole zu Hilfe genommen werden)
stellen die Media-Relationship-Diagramme des IMRA-Modells dar,
die in Kapitel 6 vorgestellt werden.