ScenePoint

Klingt ein bißchen wie: PowerPoint. Soll es auch. Allerdings wirklich nur ein bißchen.

Worum also geht’s hier?

Web-basierte Präsentationswerkzeuge wie Google Docs und Prezi versuchen  nun schon seit einigen Jahren, den Platzhirschen PowerPoint, Impress oder Latex Beamer Paket den Rang  mit zum Teil sehr innovativen Konzepten abzulaufen. Der Trend, Desktop-Anwendungen in den Browser zu verlagern, setzt sich auch bei Präsentationswerkzeugen fort. Ist es da nicht interessant, auch selber die Möglichkeiten und Grenzen von  solchen Technologien wie HTML5, JavaScript und WebGL am praktischen Beispiel “Präsentationsprogramm” zu untersuchen? Wir denken schon!

In einer Folge von Bachelor-/Master-Projekten und -Abschlußarbeiten möchten wir in der AG ComSys ein Web-basiertes 3D-Präsentationsprogramm entwickeln und weltweit zur Verfügung stellen; der Arbeitstitel ist ScenePoint.

Um besser erläutern zu können, worum es geht, hier zunächst etwas Terminologie. Ein Präsentationsprogramm besteht konzeptuell aus zwei Komponenten:

  • einer Editorkomponente (e-Komponente) und
  • einer Komponente für die Steuerung des Präsentationsablaufs (pc-Komponente, pc für presentation control).

Die e-Komponente stellt der Präsentationsautorin diverse Arten von elementaren Text-, Grafik- und Video-Objekten zur Verfügung,  die zur Illustration des Gegenstands einer Präsentation genutzt werden können. Präsentationsobjekte sind entweder elementare Objekte oder Objekte, die aus Verbünden von elementaren Objekten gebildet werden. Die elementaren grafischen Objekte eines 2D-Präsentationsprogramms sind  2D-Objekte. (Manchmal gibt es darüberhinaus auch einige Objekte, die perspektivisch dargestellt sind). Die e-Komponente eines 2D-Präsentationsprogramms stellt der Präsentationsautorin außerdem eine Zeichenfläche zur Verfügung, auf der sie die Präsentationsobjekte frei anordnen kann. Die Zeichenfläche hat eine fixe Größe (“eine Folie”), oder sie ist “unendlich” groß wie z.B. beim Präsentationsprogramm prezi (prezi.com). Bei PowerPoint gehören zur Zeichenfläche auch ein Layout (fest angeordnete “Platzhalter”-Objekte) und ggf. einige statische Objekte.

Mit der pc-Komponente kann der Präsentator während der Durchführung einer Präsentation einzelne Präsentationsobjekte oder bestimmte Zusammenstellungen von Präsentionsobjekten in einer definierten Reihenfolge sichtbar machen. Die Sichtbarkeitsreihenfolge wird von der Präsentationsautorin festgelegt, d.h. über die oben beschriebene Funktionalität hinaus verfügt die e-Komponente zusätzlich noch über Schnittstellen zur Beschreibung des Präsentionsablaufs.

Aus den oben dargestellten Charakteristika eines 2D-Präsentationsprogramms kann man ablesen, welche Erweiterungen wir mit ScenePoint im Sinn haben:

  • Der Präsentationsautorin werden Texttafeln und elementare 3D-Grafikobjekte zur Gestaltung ihrer Präsentation zur Verfügung gestellt. Die Präsentationsautorin stellt eine Menge von solchen Präsentationsobjekten in einen Präsentationsraum, wobei wir davon ausgehen, daß dieser “unendlich” groß ist.
  • Der Betrachter/die Betrachterin einer ScenePoint-Präsentation wird durch den Präsentationsraum geführt, d.h. die Präsentationsobjekte werden dem Betrachter/der Betrachterin in bestimmter Reihenfolge unter einem jeweils festgelegt Blickwinkel vorgeführt; darüberhinaus kann eine Kamerafahrt auch auf einer bestimmten Bahn um ein Präsentationsobjekt herum führen. Noch anders formuliert: Die Präsentation besteht aus einer Kamerafahrt durch den Präsentationsraum. Ein einfaches Beispiel: Im Präsentationsraum sind eine Menge von Litfaßsäulen aufgestellt worden, die rundum mit Plakaten beklebt sind. Die Präsentation führt den Betrachter auf einem “Schleifenweg” um diese Litfaßsäulen herum. Jeder Haltepunkt auf diesem Weg zeigt dem Betrachter/der Betrachterin eine neue “Szene” – eine Präsentation ist also Folge von Szenen. (Daher – liebe Leserin, Du hast es längst erraten – kommt auch der Name unseres Programms.)
  • Zusätzlich wollen wir davon ausgehen, daß eine ScenePoint-Präsentation nicht das Werk einer einzelnen Präsentationsautorin ist, sondern kollaborativ von mehreren Autorinnen erstellt wird. Diese können zu unterschiedlichen Zeiten von unterschiedlichen Orten aus an der Präsentation arbeiten.
  • Es soll möglich sein, eine Präsentation gleichzeitig an mehreren Orten sichtbar zu machen.

Mit der Entwicklung von ScenePoint wollen wir verschiedene Dinge herausfinden:

  • Lassen sich mit 3D-Grafikobjekten “bessere” Präsentationen gestalten?
  • Wie verändert sich die user experience, wenn der Zuschauer/die Zuschauerin während der Präsentation nicht über eine Fläche, sondern durch einen virtuellen Raum geführt wird?
  • Was muß bei der Gestaltung es user interface der e-Komponente beachtet werden?
  • Wie gut eignen sich heutige Web-Technologien (insbesondere HTML5, JavaScript, WebGL) für interaktive Anwendungen?
  • Welchen Aufwand muß die Entwicklerin treiben, um eine interaktive Anwendung wie ScenePoint als kollaborative Anwendung zu gestalten?

Hier einige erste Überlegungen.

  • 3D: “3D” ist eine schillernde Formulierung. In unserem Kontext kann man mindestens zwei Ausdeutungen nennen: (1) 3D-Objekte werden auf einer zweidimensionalen “Leinwand” perspektivisch dargestellt. (2) 3D-Objekte werden losgelöst von einer Leinwand “schwebend im realen Raum” sichtbar gemacht; hierzu sind z.B. stereographische oder holographische Verfahren notwendig. Bei ScenePoint wollen wir uns “nur” mit der perspektivischen Darstellung beschäftigen.
  • 3D-Grafikobjekte: Elementare 3D-Grafikobjekte könnten z.B. Würfel, Kugel, Zylinder, Kegel usw. sein. Auch “höhere” Objekte sind denkbar, z.B. beliebige Polyeder. Setzt sich die Oberfläche eines 3D-Grafikobjekts aus mehreren abgrenzbaren Teilflächen zusammen, soll jede dieser Teilflächen eine eigene Textur bekommen können. Der Präsentationsautorin soll eine Auswahl komplexerer 3D-Verbundobjekte per Katalog zur Verfügung gestellt werden: “3D-Clipart”.
  • 3D-Präsentationsraum: Wie bereits gesagt, soll der 3D-Präsentationsraum “unendlich” groß sein. Zur Orientierung im Präsentationsraum und zur Abschätzung der Entfernung der Kamera von den jeweils sichtbaren Präsentationsobjekten soll ein beschriftetes Koordinatensystem einblendbar sein. Die Position der Kamera im Raum und ihre Ausrichtung müssen ebenfalls einstellbar sein.
  • Präsentationskontrolle: Die Präsentationsautorin kann eine Folge von Szenen festlegen, die in einer Präsentation gezeigt werden sollen. Die Übergänge zwischen den Szenen können Kamerafahrten oder Schnitte sein. Jede Szene kann in sich weitere Kamerafahrten haben.
  • Kollaboration: Um die Kollaboration mehrerer Präsentationsautorinnen zu ermöglichen, sollen cloud-Technologien angewendet werden. Heute schon erkennbar sind die folgenden Anforderungen:
    • Um ScenePoint-Präsentationen kollaborativ bearbeiten zu können, müssen Zwischenstände abgespeichert werden können. Es ist also ein Persistenzformat zu entwickeln (scpt-Dateien). Dieses Persistenzformat soll so gestaltet sein, daß Versionskonflikte je Präsentationsobjekt erkannt und aufgelöst werden können.
    • ScenePoint-Dateien werden in der cloud und lokal abgespeichert. Die Synchronisierung zwischen lokaler Version und cloud-Version erfolgt auf Benutzeranforderung. Es soll diverse Synchronisierungsstrategien geben, u.a. echo (Überschreiben der cloud-Version mit der lokalen Version), contribute (cloud-Version wird um neue Objekte der lokalen Version angereichert, “alte” Objekte der cloud-Version bleiben erhalten), resolve (Versionskonflikte werden vom Benutzer aufgelöst) und ggf. weitere.
    • Die e-Komponente von ScenePoint muß online und offline zur Verfügung stehen.
  • Präsentationsdurchführung: Zur gleichzeitigen Durchführung einer Präsentation an mehreren Orten ist ggf. über ein reliable multicast nachzudenken.
  • Web-Technologien: Zur Entwicklung von ScenePoint sollen HTML5, JavaScript und WebGL verwendet werden.
  • Natürlich sind auch solche lästigen Aufgaben zu erledigen wie die Erstellung einer Website zu ScenePoint, die Erstellung einer Dokumentation, der Auftritt auf einer CeBIT usw.  😉

Ich freue mich auf die Zusammenarbeit mit Ihnen!

(Bildnachweis: Joachim Bäcker, https://de.wikipedia.org/wiki/Zentralprojektion)

Comments
2 Responses to “ScenePoint”
  1. Lars Rohwedder says:

    3D Graphik ist sicherlich eine komplizierte Technologie. Ich denke, eine besondere Herausforderung bei diesem Projekt ist es, die Anwendung benutzerfreundlich zu machen — aber gleichzeitig fortgeschrittene Benutzer in ihren Möglichkeiten nicht zu sehr einzuschränken. So sollte es zum Beispiel möglich sein, einfache Photos als 2D Flächen zu importieren, ohne sich mit Mesh, Textur oder Shader auseinandersetzen zu müssen. Trotzdem sollte man Experten nicht die Möglichkeit nehmen, detaillierte Anpassungen an der Szene vorzunehmen.
    Die Nutzer einer Präsentations-Anwendung werden wahrscheinlich zu größtem Teil wenig Kenntnisse über Graphik Technologie haben. Das spricht für einen hohen Abstraktionsgrad. Dagegen spricht, dass es ja gerade die visuellen Möglichkeiten sind, die dieses Projekt ausmachen.
    Sollte man deshalb vielleicht zwischen vereinfachter und fortgeschrittener Ansicht zu unterscheiden?
    Wie in den meisten Cloud-Anwendungen sind auch hier ohne Frage Sicherheit und Robustheit zentrale Aspekte. Automatisierte anonyme Nutzererstellung und online-Speicher bieten schließlich schnell Lücken zum Missbrauch.
    Persönlich bin ich gespannt, wo die Grenzen von WebGL, einem noch sehr jungem Standard, sind.

Trackbacks
Check out what others are saying...
  1. […] Kommunikationssysteme. Erste Gedanken zu diesem Thema hat Prof. Luttenberger in einem früheren Blog Post formuliert. Langsam wendet sich der praktische Teil meiner Arbeit dem Ende entgegen und zu diesem […]